Математический анализ

Частные производные

В 2012 году AlexNet обучился за 5 дней на двух GPU и выиграл ImageNet с отрывом 10%. Каждый из 60 миллионов параметров обновлялся по одному правилу: шагнуть против частной производной функции потерь. Без частных производных глубокое обучение осталось бы теорией.

  • Обратное распространение ошибки в нейронных сетях: $\frac{\partial L}{\partial w}$ для каждого веса
  • Оптимизация гиперпараметров: скорость обучения, размер батча, регуляризация
  • Компьютерное зрение: градиент яркости $\frac{\partial I}{\partial x}$ для детекции рёбер
  • Физическое моделирование: уравнение теплопроводности $\frac{\partial T}{\partial t} = k \frac{\partial^2 T}{\partial x^2}$
  • Экономика: предельная полезность $\frac{\partial U}{\partial x_i}$ при фиксированных остальных благах

Цели урока

  • Вычислять частные производные функций нескольких переменных по определению и правилам дифференцирования
  • Применять теорему Шварца для проверки равенства смешанных производных
  • Строить вычислительный граф и применять цепное правило для многомерных функций

Предварительные знания

  • Производная функции одной переменной
  • Цепное правило для функций одной переменной
  • Понятие предела и непрерывности

Частная производная: фиксируем всё кроме одного

Частная производная $\frac{\partial f}{\partial x}$ отвечает на вопрос: как изменится $f$ при бесконечно малом изменении $x$, если все остальные переменные заморожены? Геометрически - это наклон касательной к сечению поверхности плоскостью $y = \text{const}$.

Теорема Шварца и смешанные производные

Теорема Шварца: если $f_{xy}$ и $f_{yx}$ непрерывны в окрестности точки, то $f_{xy} = f_{yx}$. Это экономит половину вычислений для матрицы Гессе и позволяет менять порядок дифференцирования в физических уравнениях.

Теорема требует непрерывности смешанных производных. Функция $f(x,y) = \frac{xy(x^2-y^2)}{x^2+y^2}$ при $(x,y)\neq(0,0)$ и $f(0,0)=0$ является контрпримером: $f_{xy}(0,0) \neq f_{yx}(0,0)$.

Цепное правило в многомерном случае

Если $f(x_1,\ldots,x_n)$ и каждое $x_i = g_i(t)$, то $\frac{df}{dt} = \sum_{i=1}^n \frac{\partial f}{\partial x_i}\frac{dx_i}{dt}$. В нейронных сетях каждый узел вычислительного графа реализует именно это правило, накапливая градиент от выхода к входу.

Определение и геометрический смысл

В нейросети с 50 миллионами параметров каждый шаг обучения требует вычисления ∂L/∂wᵢ для каждого веса - насколько функция потерь L меняется, если изменить только один вес wᵢ, оставив остальные 49 999 999 параметров неподвижными. Это и есть частная производная: изменение функции нескольких переменных по одной из них при фиксированных остальных.

Численное дифференцирование через конечные разности используется в gradient checking - процедуре отладки backpropagation. При обучении нейросети вычисляются аналитические градиенты (быстро), а численные служат эталоном для проверки корректности реализации. Погрешность порядка 1e-5 считается приемлемой.

Функция f(x, y) = x³y² + sin(y). Чему равна ∂f/∂x?

При частном дифференцировании все переменные, кроме выбранной, считаются константами.

Правила вычисления и теорема Шварца

Матрица Гессе - вторые частные производные функции потерь - определяет кривизну loss surface нейросети. Метод Adam неявно аппроксимирует диагональ Гессиана через скользящее среднее квадратов градиентов. Симметричность матрицы Гессе (Hᵢⱼ = Hⱼᵢ) - прямое следствие теоремы Шварца о независимости смешанных производных от порядка дифференцирования.

Гессиан используется в методах второго порядка оптимизации (Newton, L-BFGS). Симметричность Гессиана гарантирует вещественные собственные значения - именно они определяют кривизну loss surface и различают минимумы от сёдловых точек.

Почему матрица Гессе нейросети всегда симметрична?

Ответ следует непосредственно из определения и свойств рассматриваемого математического объекта.

Backpropagation как цепочка частных производных

Обучение ResNet-50 на ImageNet за одну эпоху требует прохода обратного распространения ошибки через 50 слоёв. На каждом слое вычисляются частные производные ∂L/∂W через цепное правило: ∂L/∂W = (∂L/∂y)·(∂y/∂W), где y - выход слоя. Вся математика backprop - это итеративное применение правила дифференцирования сложной функции нескольких переменных.

Gradient check - стандартная процедура отладки при реализации backprop. Если аналитический и численный градиенты расходятся больше чем на 1e-4, в реализации цепного правила есть ошибка. PyTorch и JAX автоматизируют вычисление частных производных через autograd - автоматическое дифференцирование по вычислительному графу.

В сети с тремя слоями ∂L/∂W₁ проходит через сколько применений цепного правила?

При частном дифференцировании все переменные, кроме выбранной, считаются константами.

Частные производные функции $f(x,y) = x^2 y + \sin(xy)$

$\frac{\partial f}{\partial x} = 2xy + y\cos(xy)$ - дифференцируем по $x$, считая $y$ константой. $\frac{\partial f}{\partial y} = x^2 + x\cos(xy)$ - дифференцируем по $y$, считая $x$ константой.

Backpropagation через вычислительный граф

Для $L = (\hat{y} - y)^2$, $\hat{y} = \sigma(wx + b)$: $\frac{\partial L}{\partial w} = \frac{\partial L}{\partial \hat{y}} \cdot \frac{\partial \hat{y}}{\partial z} \cdot \frac{\partial z}{\partial w}$ где $z = wx+b$. Каждый множитель - локальная частная производная одного узла графа.

Итоги

  • Частная производная $\frac{\partial f}{\partial x_i}$ фиксирует все переменные кроме $x_i$ - это однопеременное дифференцирование на плоском сечении
  • Теорема Шварца гарантирует $f_{xy} = f_{yx}$ при непрерывности смешанных производных - порядок не важен
  • Многомерное цепное правило $\frac{df}{dt} = \nabla f \cdot \dot{x}$ - основа backpropagation в любой нейронной сети

Связь с другими темами

Частные производные собираются в вектор градиента $\nabla f$ (следующий урок) и матрицу Гессе $H$ (урок об экстремумах). Та же идея лежит в основе уравнений в частных производных: теплопроводность, диффузия, электродинамика - все записываются через $\frac{\partial}{\partial x_i}$.

  • Связанные темы — развивает

Вопросы для размышления

  • Почему теорема Шварца требует непрерывности смешанных производных, а не просто их существования?
  • Как изменится вычислительный граф backpropagation, если функция активации не дифференцируема в нуле (как ReLU)?
  • В физике часто меняют порядок дифференцирования под знаком интеграла. Какие условия нужны для законности этой операции?

Связанные уроки

  • ml-09-gradient-descent
  • ml-26-backpropagation
  • stats-21
Частные производные

0

1

Войти