частных , указывающий направление наибыстрейшего роста функции.
- частная производная по первому параметру: как изменится функция, если чуть увеличить только его
- то же по последнему. Вектор из всех таких производных указывает направление наискорейшего роста
Ключевые тезисы
- Обучение = движение против .
- В минимуме равен нулю.
- Нулевой или взрывной — типичная причина, почему сеть не учится.
Какую задачу решает
— это частных функции по всем её аргументам. Геометрически он указывает направление наискорейшего роста, а его длина показывает крутизну. Отсюда весь градиентный спуск: чтобы уменьшить функцию, идём против градиента.
В машинном обучении считается не по входу, а по параметрам модели: он говорит, как изменится ошибка, если чуть подвинуть каждый вес. Миллионы таких получаются за один обратный проход благодаря правилу цепочки — и именно эта вычислительная возможность, а не сама идея, сделала глубокое обучение практичным.
Выведите по каждому слою на нескольких шагах обучения. Здоровая картина: значения одного порядка по всей глубине, скажем от до . Если у первых слоёв , а у последних — затухает, и нижняя часть сети фактически не обучается: нужны , или другая . Если где-то — взрывается, помогут обрезка и меньшая . Эта проверка занимает пять строк кода и объясняет большинство случаев «сеть не учится».
Подробный разбор
- Указывает направление наискорейшего роста; шаг делается против него.
- Перпендикулярен линиям уровня функции.
- В точке минимума равен нулю — но нулевой бывает и в седле, и в максимуме.
Autograd строит операций во время прямого прохода, а затем обходит его в обратном порядке, применяя правило цепочки. Это не численное дифференцирование (нет ошибки аппроксимации) и не символьное (нет разрастания выражений).
x = torch.tensor([2.0], requires_grad=True)
y = x ** 3 + 2 * x
y.backward()
print(x.grad) # 3x² + 2 = 14Где применяется
- Обучение моделейОснова и всех его вариантов.
- Интерпретация по входу показывает, какие пиксели или сильнее влияют на ответ.
- Малое изменение входа вдоль меняет предсказание модели.
- Диагностика обучения по слоям показывает, где он затухает или взрывается.
Плюсы, минусы и альтернативы
Плюсы
- Даёт направление улучшения, а не только значение функции.
- Вычисляется автоматически для произвольного дифференцируемого кода.
- Стоимость обратного прохода сравнима с прямым независимо от числа параметров.
- — дешёвый и информативный диагностический сигнал.
Минусы
- Только для дифференцируемых функций.
- Локальная информация: ничего не говорит о глобальном устройстве функции.
- Затухает и взрывается на длинных цепочках вычислений.
- В точках плато и седловых точках почти нулевой, хотя оптимум не достигнут.
Брать, если
- Обучается любая дифференцируемая модель.
- Нужно понять чувствительность выхода к входу.
- Диагностируется проблема с обучением сети.
Не брать, если
- Функция недифференцируема или доступна как чёрный ящик.
- Параметров единицы, а вычисление дорогое: проще численный .
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Аппарат анализа · Градиенты и производные
Calculus97%
Математический анализ · ОсновыПроизводные показывают, как изменится ошибка при малом изменении параметра. Именно это делает возможным градиентное обучение.
Hessian97%
Гессиан · Математический справочникМатрица вторых производных, описывающая локальную кривизну функции.
Backpropagation97%
Обратное распространение ошибки · Глубокое обучениеЭффективное вычисление градиентов по всем параметрам сети за один обратный проход с помощью правила цепочки.
Limits and Continuity85%
Пределы и непрерывность · Математический анализПредел описывает, к чему стремится функция вблизи точки. На этом понятии держатся производная, интеграл и вся теория сходимости алгоритмов.
Derivative85%
Производная · Математический анализСкорость изменения функции: предел отношения приращения функции к приращению аргумента. Геометрически — наклон касательной.
Differentiation Rules85%
Правила дифференцирования · Математический анализСумма, произведение, частное и композиция — четыре правила, которых достаточно, чтобы продифференцировать почти любую функцию потерь вручную.
Taylor Series85%
Ряд Тейлора · Математический анализПриближение функции многочленом по производным в точке. Инструмент, которым обосновывают почти все методы оптимизации.
Multivariable Calculus85%
Многомерный анализ · Математический анализФункции многих переменных: частные производные, градиент, производная по направлению и линии уровня.
Jacobian85%
Якобиан · Математический анализМатрица частных производных векторной функции. Описывает, как преобразование растягивает пространство локально.
Lagrange Multipliers85%
Множители Лагранжа · Математический анализМетод условной оптимизации: минимизировать функцию при ограничениях, не решая их подстановкой.
Convexity85%
Выпуклость · Математический анализСвойство функции, гарантирующее единственность минимума и сходимость градиентных методов.
Numerical Differentiation85%
Численное дифференцирование · Математический анализПриближение производной конечными разностями: медленно и неточно, но незаменимо для проверки аналитических градиентов.
Series and Convergence85%
Ряды и сходимость · Математический анализКогда бесконечная сумма имеет конечное значение и с какой скоростью алгоритм приближается к ответу.
Integral85%
Интеграл · Математический анализОпределённый интеграл — площадь под кривой, неопределённый — обратная операция к дифференцированию. В ML интеграл почти всегда означает математическое ожидание.
Differential Equations85%
Дифференциальные уравнения · Математический анализУравнения, связывающие функцию с её производными. Описывают динамику — от роста популяций до обратного процесса в диффузионных моделях.
Gradient Descent80%
Градиентный спуск · Оптимизация обученияИтеративный шаг против градиента функции потерь — базовый алгоритм обучения.
Numerical Methods80%
Численные методы · ОсновыКомпьютер считает приближённо. Понимание точности float, устойчивости и обусловленности спасает от NaN и «необъяснимых» расхождений.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Частная производная
Скорость изменения функции по одному аргументу при фиксированных остальных.
Разбор ниже: Свойства градиентаНаправление роста
указывает, куда функция растёт быстрее всего; антиградиент — куда убывает.
Разбор ниже: Свойства градиентаНорма градиента
Длина : показывает крутизну. Её рост — сигнал о взрывающихся .
Разбор ниже: Свойства градиентаАвтодифференцирование
Автоматическое вычисление по вычислительному графу — то, что делают PyTorch и JAX.
Разбор ниже: Автоматическое дифференцированиеГрадиент по входу
не по весам, а по данным: основа и карт значимости.
Разбор ниже: Автоматическое дифференцированиеГлава «Математический справочник» последний раз правилась . Нашли ошибку — напишите.