Featured image of post Мат Анализ — Производные

Мат Анализ — Производные

Производная, градиент и правило цепочки — основа обучения нейросетей

Вторая статья цикла «Необходимая математика» — про производные, градиент и правило цепочки.

Без этого не понять, как нейросеть вообще учится.

Необходимые знания: пределы функций — основа для определения производной и непрерывности.

Содержание

  1. Что такое производная
  2. Резюме

Что такое производная

Формальное определение

Производная функции в точке показывает скорость изменения: насколько быстро растёт (или падает) значение функции при небольшом сдвиге аргумента.

Для функции одной переменной \( f(x) \) производная \( f'(x) \) — это предел отношения приращения \( f \) к приращению \( x \), когда приращение стремится к нулю:

\[ f'(x) = \lim_{\Delta x \to 0} \frac{f(x + \Delta x) - f(x)}{\Delta x} \]

Здесь \( \Delta x \) — приращение аргумента (маленький шаг). В примерах ниже ту же величину обозначаем буквой \( h \).

Геометрически — наклон касательной к графику в точке \( x \):

  • \( f'(x) > 0 \) — функция растёт
  • \( f'(x) < 0 \) — функция убывает
  • \( f'(x) = 0 \) — возможный минимум или максимум

Если понимание не пришло — открывай простое объяснение.

Простое объяснение

Простое объяснение

Скорость на спидометре — это по сути производная: как быстро меняется пройденное расстояние. Разгоняешься — скорость растёт. Тормозишь — падает. То есть производная отвечает на вопрос: «насколько сильно изменится одна величина, если чуть-чуть изменить другую?»

Горка. Крутизна спуска — «насколько сильно опускаешься вниз, когда делаешь шаг вперёд». Крутой спуск — большая производная. Пологий — маленькая. На ровной дороге — ноль.

График функции. Если есть график \( y = f(x) \), производная в точке — это наклон графика в этой точке. Для прямой вида \( y = kx + b \) наклон — это уже знакомый коэффициент \( k \). Для кривой в каждой точке свой наклон — его и называют производной.

  • График круто идёт вверх → производная положительная
  • Идёт вниз → производная отрицательная
  • Горизонтально (вершина, впадина) → производная равна нулю

Если всё ещё не до конца понятно — открывай самое простое объяснение.

Самое простое объяснение

Самое простое объяснение

Машина едет с постоянной скоростью. Расстояние \( s \) (км) зависит от времени \( t \) (ч): \( s(t) = 60t \). За час проезжаем 60 км.

Скорость — это «сколько км прибавляется за каждый час». То есть отношение изменения расстояния к изменению времени:

\[ \text{скорость} = \frac{s(1) - s(0)}{1 - 0} = \frac{60 - 0}{1} = 60 \text{ км/ч} \]

Это и есть производная: скорость изменения одной величины (расстояние) по другой (время).

Числовой пример:

\( t \) (ч)\( s(t) \) (км)\( s(t+0{,}5) - s(t) \)\( \frac{\Delta s}{\Delta t} \)
003060
1603060
21203060

Везде получается 60. Да: 60 (скорость в км/ч) и есть производная — \( s'(t) = 60 \). Она постоянна, потому что скорость не меняется.

График — прямая линия. Наклон этой прямой тоже равен 60 — то же самое число:


А если скорость менялась? Полчаса ехали 40 км/ч, полчаса — 80 км/ч. В итоге: 20 + 40 = 60 км за 1 ч. Средняя скорость 60 км/ч — но в каждый момент она была то 40, то 80.

На графике — плавный вариант: скорость растёт от 40 до 80 км/ч. Зелёная кривая — расстояние s(t), пунктир — производная s’(t) (мгновенная скорость).

Считаем мгновенную скорость (производную) в разных точках — по формуле \( \frac{s(t+h) - s(t)}{h} \) при маленьком \( h = 0{,}1 \) ч:

\( t \) (ч)\( s(t) \) (км)\( s(t+0{,}1) - s(t) \)\( \frac{\Delta s}{\Delta t} \)
0,14440
0,2510440
0,52040 (слева) / 80 (справа)
0,7540880
160880

В первой половине часа производная везде 40, во второй — 80. В точке \( t = 0{,}5 \) график «ломается»: слева наклон 40, справа 80. Средняя 60 — это лишь «усреднение» по всему пути; производная показывает скорость в данный момент.

Правила и базовая информация о производных

Основные правила и факты

Производная — это скорость изменения. Насколько быстро растёт (или падает) функция при малом сдвиге аргумента. Геометрически — наклон касательной к графику.

Связь со знаком:

  • \( f'(x) > 0 \) — функция растёт
  • \( f'(x) < 0 \) — функция убывает
  • \( f'(x) = 0 \) — возможный минимум или максимум (вершина, впадина)

Основные правила (кратко):

ФункцияПроизводнаяОписание
\( C \) (константа)\( 0 \)константа не меняется, скорость изменения нулевая
\( x \)\( 1 \)линейный рост со скоростью 1
\( x^n \)\( n \cdot x^{n-1} \)степень «спускается» множителем, показатель уменьшается на 1
\( kx + b \)\( k \)линейная функция: наклон равен коэффициенту \( k \)
\( f + g \)\( f' + g' \)производная суммы равна сумме производных
\( C \cdot f \)\( C \cdot f' \)константу можно вынести за знак производной

Примеры: \( (5)' = 0 \), \( (x^2)' = 2x \), \( (x^3)' = 3x^2 \), \( (7x - 2)' = 7 \).

Зачем в МО: обучение модели — это минимизация loss. Производная показывает направление роста; градиентный спуск двигается в противоположную сторону (\( -\nabla L \))1, чтобы loss уменьшался.

Почему \( (x^n)' = n \cdot x^{n-1} \)?

Для натурального \( n \) можно вывести из определения. Пример для \( n = 2 \):

\[ \frac{(x+h)^2 - x^2}{h} = \frac{x^2 + 2xh + h^2 - x^2}{h} = 2x + h \to 2x \]

При \( h \to 0 \) получаем \( (x^2)' = 2x \). Для \( n = 3 \): раскрывая \( (x+h)^3 \), член с \( h^2 \) уходит в ноль, остаётся \( 3x^2 \).

Интуиция: степень \( n \) «спускается» вперёд как множитель, показатель уменьшается на 1. Чем выше степень, тем «круче» рост — поэтому производная содержит \( n \) и \( x^{n-1} \).

Пример: парабола \( y = x^2 \) — подробно

Для \( f(x) = x^2 \) формула даёт \( f'(x) = 2x \). В каждой точке свой наклон:

Точка \( x \)\( f(x) = x^2 \)\( f'(x) = 2x \) (наклон)
000
112
244
396
4168

В \( x = 2 \): парабола касается прямой с наклоном 4 (касательная \( y = 4x - 4 \) проходит через (2, 4)).
В \( x = 4 \): наклон уже 8 — парабола круче, касательная \( y = 8x - 16 \).
В \( x = 0 \): вершина параболы, наклон 0 — касательная горизонтальна.

На графике: зелёная кривая — \( y = x^2 \); пунктирные линии — касательные в точках (2, 4) и (4, 16). Наклоны 4 и 8 соответствуют \( f'(2) = 4 \), \( f'(4) = 8 \).

Пример: квадрат — \( x \) как сторона, площадь \( A(x) = x^2 \)

ΔA — это приращение (изменение) площади A. Если площадь задана функцией \( A(x) \), то:

\[ \Delta A = A(x + \Delta x) - A(x) \]

То есть ΔA — сколько прибавляется к площади, когда сторона \( x \) увеличивается на Δx.

Увеличиваем сторону на \( \Delta x \). К исходному квадрату добавляются: две «полосы» площадью \( x \cdot \Delta x \) (справа и сверху) и малый квадрат \( (\Delta x)^2 \) в углу. Итого:

\[ \Delta A = 2x \cdot \Delta x + (\Delta x)^2,\quad \frac{\Delta A}{\Delta x} = 2x + \Delta x \to 2x \]

при \( \Delta x \to 0 \). Производная \( A'(x) = 2x \) — при том же \( \Delta x \) чем больше \( x \), тем больше прирост площади.

Меняй x и Δx — наблюдай, как меняются «полосы» и формула \( \Delta A / \Delta x \approx 2x \).

Здесь важно разделить два случая.

\( \Delta A/\Delta x \approx 2x \) — да, это приближение. Оно верно, когда \( \Delta x \) мало, но не равно нулю. Чем меньше \( \Delta x \), тем точнее:

\[ \frac{\Delta A}{\Delta x} = 2x + \Delta x \approx 2x \quad \text{при малом } \Delta x \]

Формула \( (x^n)' = nx^{n-1} \) — это уже не приближение, а точное выражение. Производная определяется как предел:

\[ f'(x) = \lim_{\Delta x \to 0} \frac{f(x + \Delta x) - f(x)}{\Delta x} \]

Мы сначала берём этот предел, а потом получаем точную формулу.

\( \Delta A/\Delta x \) — приближение, потому что \( \Delta x \) ещё конечное. \( A'(x) = 2x \) и \( (x^n)' = nx^{n-1} \) — точные формулы, потому что это результат предела \( \Delta x \to 0 \).

Коротко: приближение — у конечных разностей; сами производные и их формулы — точные.

Почему \( (C \cdot f)' = C \cdot f' \)?

Константу можно вынести за знак производной, потому что она не зависит от \( x \) и «масштабирует» скорость изменения функции.

Из определения:

\[ (C \cdot f)'(x) = \lim_{h \to 0} \frac{C \cdot f(x+h) - C \cdot f(x)}{h} = C \cdot \lim_{h \to 0} \frac{f(x+h) - f(x)}{h} = C \cdot f'(x) \]

Константа \( C \) не зависит от \( h \), поэтому её можно вынести из предела.

Примеры: \( (5x^2)' = 5 \cdot 2x = 10x \), \( (-3x^3)' = -3 \cdot 3x^2 = -9x^2 \).

Теперь несколько числовых примеров.

Числовой пример: линейная функция \( g(x) = 3x - 1 \)

Числовой пример: линейная функция \( g(x) = 3x - 1 \)

Для прямой наклон везде один и тот же. Считаем в любой точке, например в \( x = 5 \):

\[ \frac{g(5 + h) - g(5)}{h} = \frac{(3(5+h) - 1) - g(5)}{h} = \frac{14 + 3h - 14}{h} = \frac{3h}{h} = 3 \]

где \( g(5) = 3 \cdot 5 - 1 = 14 \).

При любом \( h \neq 0 \) получается 3 — производная постоянна, как и коэффициент при \( x \) в уравнении прямой.

\( x \)\( g(x) \)\( g(x+0{,}1) - g(x) \)\( \frac{g(x+0{,}1)-g(x)}{0{,}1} \)
5140,33
10290,33
-2-70,33

Числовой пример: квадратичная функция \( f(x) = x^2 \)

Числовой пример: квадратичная функция \( f(x) = x^2 \)

Считаем приближённую производную в точке \( x = 2 \) по формуле «приращение \( f \) делим на приращение \( x \)». Берём маленький шаг \( h \) и смотрим отношение:

\[ \frac{f(2 + h) - f(2)}{h} = \frac{(2+h)^2 - 4}{h} \]

При \( x = 2 \) (\( f(2) = 4 \)):

\( h \)\( f(2+h) \)\( f(2+h) - f(2) \)\( \frac{f(2+h)-f(2)}{h} \)
1955
0,14,410,414,1
0,014,04010,04014,01
0,0014,0004…0,004…4,001

Отношение стремится к 4 → \( f'(2) = 4 \).

При \( x = 4 \) (\( f(4) = 16 \)):

\[ \frac{f(4 + h) - f(4)}{h} = \frac{(4+h)^2 - 16}{h} = \frac{8h + h^2}{h} = 8 + h \to 8 \]
\( h \)\( f(4+h) \)\( f(4+h) - f(4) \)\( \frac{f(4+h)-f(4)}{h} \)
12599
0,116,810,818,1
0,0116,08010,08018,01

Отношение стремится к 8 → \( f'(4) = 8 \). По формуле \( (x^2)' = 2x \): при \( x = 2 \) получаем 4, при \( x = 4 \) — 8. Для кривой производная в каждой точке своя.

Зачем в МО: обучение — это минимизация функции потерь (loss). Нам нужно знать, в какую сторону менять веса, чтобы loss уменьшался. Производная как раз указывает направление роста; в противоположную сторону идём, чтобы loss падал.

Интерактивное упражнение

Машинка и рисуй кривую Безье

1. Машинка. Меняй скорость — график расстояния \( s(t) \) и таблица производных пересчитываются. Производная \( s'(t) \) = скорость (постоянна при равномерном движении).

2. Рисуй кривую Безье. Перетащи 4 контрольные точки — строится кубическая кривая Безье. Поставь оранжевую точку на кривую — справа детальная калькуляция производной.

Задания для самопроверки

Задания с подсказками и проверкой

Реши задания. Открой подсказку, если нужно. Введи ответ и нажми «Проверить».

Резюме

  • Производная — скорость изменения, направление роста
  • Частная производная — по одной переменной при фиксированных остальных
  • Градиент — вектор частных производных, направление наискорейшего роста
  • Правило цепочки — как считать производные по цепочке слоёв
  • Градиентный спуск — обновление весов в направлении \( -\nabla L \) 1

PyTorch, TensorFlow и др. делают вычисление градиентов автоматически (autograd) — но понимать, что под капотом, важно, чтобы не ловить «градиенты взорвались» или «модель не учится».


  1. \( \nabla L \) — градиент loss (вектор частных производных). Он указывает в направлении наискорейшего роста \( L \). Значит \( -\nabla L \) — направление наискорейшего уменьшения; в него двигаемся при градиентном спуске. ↩︎ ↩︎

Создано при помощи Hugo
Тема Stack, дизайн Jimmy