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

Правила дифференцирования

Цели урока

  • Применять правило линейности (сумма, константа)
  • Использовать правило произведения $(fg)' = f'g + fg'$
  • Использовать правило частного $(f/g)' = (f'g - fg')/g^2$
  • Вычислять высшие производные
  • Понимать связь правил дифференцирования с backpropagation

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

  • Понятие производной и её определение
  • Таблица производных элементарных функций
  • The Concept of the Derivative

1684 год. Leibniz публикует правило произведения $(uv)' = u'v + uv'$ в 'Nova Methodus'. Он называет это 'следствием бесконечно малых приращений'. Сегодня каждый backward pass в PyTorch применяет это правило к каждой операции умножения в нейросети - сотни тысяч раз за секунду. Три правила из 1684 года - линейность, произведение, частное - делают дифференцирование механическим и быстрым.

  • **Backpropagation**: градиент функции потерь вычисляется через правила дифференцирования. Attention в трансформерах - это произведение $QK^T / \sqrt{d}$, и правило произведения применяется при его дифференцировании
  • **JAX и автодифференцирование**: `jax.grad` разбирает вычисление на примитивные операции и применяет правила - ровно то, что делается в этом уроке, только символически
  • **Вторая производная**: $f''$ определяет выпуклость. Adam использует второй момент градиента как приближение к $f''$ для адаптивного шага
  • **Оптимизация**: производная = 0 в экстремуме (необходимое условие). Вторая производная > 0 гарантирует минимум - метод Ньютона использует обе

Правило Лейбница

Правило произведения и обозначения $\frac{dy}{dx}$ были введены **Лейбницем** в его работе 'Nova Methodus' (1684). Нотация оказалась настолько удачной, что используется по сей день. Интересно, что Лейбниц вывел $(uv)' = u'v + uv'$ как следствие бесконечно малых приращений - концепции, которую позже Коши формализовал через пределы.

Правило линейности

Правило линейности

Производная - **линейная операция**. Это означает:

Константа **выносится** за знак производной. Сумма дифференцируется **почленно**. Именно линейность делает градиент суммы потерь равным сумме градиентов - ключевое свойство для mini-batch обучения.

Полином

Линейность в действии

$(3x^2 + 5x - 2)'$ Применяем линейность: $$= 3(x^2)' + 5(x)' - (2)'$$ $$= 3 \cdot 2x + 5 \cdot 1 - 0$$ $$= 6x + 5$$

Чему равна $(7x^3 - 2x + 4)'$?

$(7x^3)' = 7 \cdot 3x^2 = 21x^2$, $(-2x)' = -2$, $(4)' = 0$. Итого: $21x^2 - 2$.

Правило произведения

Правило произведения

Производная произведения - **НЕ** произведение производных! Правило Лейбница:

**Мнемоника**: 'штрих первого на второй плюс первый на штрих второго'. Или: $u'v + uv'$. В backprop это означает: при дифференцировании произведения двух активаций каждая 'берёт штрих' по очереди.

x² · sin(x)

Правило произведения в работе

$(x^2 \sin x)'$ $f = x^2$, $g = \sin x$: $$= (x^2)' \cdot \sin x + x^2 \cdot (\sin x)'$$ $$= 2x \sin x + x^2 \cos x$$ $$= x(2 \sin x + x \cos x)$$

Три множителя

Обобщение правила

$(xyz)' = ?$ $(xy \cdot z)' = (xy)' \cdot z + xy \cdot z'$ $= (x'y + xy') \cdot z + xyz'$ $= \boxed{x'yz + xy'z + xyz'}$ **Паттерн**: каждый множитель по очереди 'берёт штрих'. В нейросети из трёх слоёв - аналогично.

$(fg)' = f' \cdot g'$ - производная произведения = произведение производных

$(fg)' = f'g + fg'$ - нужно правило Лейбница

Проверка: $(x \cdot x)' = (x^2)' = 2x$, но $x' \cdot x' = 1 \cdot 1 = 1 \neq 2x$. Разница огромная!

Чему равна $(e^x \cdot \ln x)'$?

$(e^x)' = e^x$, $(\ln x)' = \frac{1}{x}$. По правилу произведения: $e^x \cdot \ln x + e^x \cdot \frac{1}{x} = e^x(\ln x + \frac{1}{x})$.

Правило частного

Правило частного

Для дроби формула сложнее - вытекает из правила произведения:

**Мнемоника**: 'штрих верхнего на нижний минус верхний на штрих нижнего, делить на нижний в квадрате'. Знак минус и $g^2$ внизу - главное не забыть.

x / (x² + 1)

Дробь в softmax-подобных функциях

$\left(\frac{x}{x^2 + 1}\right)'$ $f = x$, $f' = 1$; $g = x^2 + 1$, $g' = 2x$: $$= \frac{1 \cdot (x^2+1) - x \cdot 2x}{(x^2+1)^2} = \frac{x^2 + 1 - 2x^2}{(x^2+1)^2} = \frac{1 - x^2}{(x^2+1)^2}$$ При $x = \pm 1$ производная = 0 - экстремумы функции.

Чему равна $\left(\frac{\sin x}{x}\right)'$?

По правилу частного: $\frac{(\sin x)' \cdot x - \sin x \cdot (x)'}{x^2} = \frac{x\cos x - \sin x}{x^2}$.

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

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

Степенные функции

$f(x)$$f'(x)$Пример
$x^n$ (любое $n$)$nx^{n-1}$$(x^5)' = 5x^4$
$\sqrt{x} = x^{1/2}$$\frac{1}{2\sqrt{x}}$$(\sqrt{x})' = \frac{1}{2\sqrt{x}}$
$\frac{1}{x} = x^{-1}$$-\frac{1}{x^2}$$(1/x)' = -1/x^2$
$\sqrt[n]{x} = x^{1/n}$$\frac{1}{n}x^{1/n - 1}$$(\sqrt[3]{x})' = \frac{1}{3x^{2/3}}$

Тригонометрические

$f(x)$$f'(x)$
$\sin x$$\cos x$
$\cos x$$-\sin x$
$\tan x$$\frac{1}{\cos^2 x} = \sec^2 x$
$\cot x$$-\frac{1}{\sin^2 x} = -\csc^2 x$

Показательные и логарифмические

$f(x)$$f'(x)$
$e^x$$e^x$
$a^x$$a^x \ln a$
$\ln x$$\frac{1}{x}$
$\log_a x$$\frac{1}{x \ln a}$

$e^x$ - **единственная** функция (с точностью до константы), равная своей производной. Softmax, cross-entropy, нормальное распределение - везде $e^x$.

В чём ключевая идея раздела «Полная таблица производных»?

Перескажите главное определение или результат раздела одним предложением.

Высшие производные

Высшие производные

Производную можно брать **многократно**. Вторая производная определяет выпуклость и используется в методе Ньютона для оптимизации:

Высшие производные x⁴

Степень уменьшается до нуля

$f(x) = x^4$ $f'(x) = 4x^3$ $f''(x) = 12x^2$ $f'''(x) = 24x$ $f^{(4)}(x) = 24$ $f^{(5)}(x) = 0$ - и все последующие тоже! **Паттерн**: у многочлена степени $n$ производная порядка $n+1$ равна нулю. Это лежит в основе тейлоровского приближения любой функции полиномом.

Производные sin(x)

Цикл длины 4

$\sin x \to \cos x \to -\sin x \to -\cos x \to \sin x \to \ldots$ **Формула**: $(\sin x)^{(n)} = \sin(x + n \cdot \frac{\pi}{2})$ Фурье-анализ работает именно потому, что $\sin$ и $\cos$ - собственные функции оператора дифференцирования.

$(f^2)' = (f')^2$ - квадрат производной

$(f^2)' = 2f \cdot f'$ - правило произведения (или цепочки)

$(x^2)^2 = x^4$. Производная $(x^4)' = 4x^3$, но $(2x)^2 = 4x^2 \neq 4x^3$. Разница принципиальная.

В чём ключевая идея раздела «Высшие производные»?

Перескажите главное определение или результат раздела одним предложением.

Практика

Практика

Найдите производную $f(x) = x^3 \cdot e^x$

$u = x^3$, $u' = 3x^2$; $v = e^x$, $v' = e^x$. $(x^3 \cdot e^x)' = 3x^2 \cdot e^x + x^3 \cdot e^x = e^x(3x^2 + x^3) = e^x \cdot x^2(3 + x)$

Найдите производную $f(x) = \frac{x^2 - 1}{x^2 + 1}$

$f = x^2 - 1$, $f' = 2x$; $g = x^2 + 1$, $g' = 2x$. $$= \frac{2x(x^2+1) - (x^2-1) \cdot 2x}{(x^2+1)^2} = \frac{2x[(x^2+1) - (x^2-1)]}{(x^2+1)^2} = \frac{4x}{(x^2+1)^2}$$

Найдите $f^{(10)}(0)$ для $f(x) = e^x \cos x$

$e^x \cos x = \text{Re}(e^{(1+i)x})$. Производная: $(e^{(1+i)x})^{(10)} = (1+i)^{10} e^{(1+i)x}$. $(1+i)^{10} = (\sqrt{2})^{10} e^{i \cdot 10\pi/4} = 32 e^{i5\pi/2} = 32 e^{i\pi/2} = 32i$. При $x=0$: $\text{Re}(32i) = 0$. **Ответ**: $f^{(10)}(0) = 0$

В чём ключевая идея раздела «Практика»?

Перескажите главное определение или результат раздела одним предложением.

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

Правила дифференцирования - основа вычислительного анализа

  • Цепное правило — Следующий урок: производная композиции $(g(f(x)))' = g'(f(x)) \cdot f'(x)$ - ключ к backprop
  • Ряды Тейлора — Используют высшие производные для разложения в полином - приближение softmax, GELU
  • Оптимизация — Вторая производная определяет выпуклость. Метод Ньютона использует $f'' $ для быстрой сходимости
  • Производная — Определение производной - предыдущий урок

Итоги

  • **Линейность**: $(cf)' = cf'$, $(f \pm g)' = f' \pm g'$ - сумма потерь = сумма градиентов
  • **Произведение**: $(fg)' = f'g + fg'$ - НЕ $f' \cdot g'$!
  • **Частное**: $(f/g)' = (f'g - fg')/g^2$
  • **Степень**: $(x^n)' = nx^{n-1}$ для любого $n$, включая дробные и отрицательные
  • **Высшие производные**: $f^{(n)}$ - вторая определяет выпуклость, $n$-я используется в ряде Тейлора

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

  • Почему $(fg)' \neq f' \cdot g'$? Какой простой пример это показывает?
  • Как mini-batch обучение использует линейность производной?
  • Почему вторая производная > 0 означает минимум, а не максимум?

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

  • ml-09-gradient-descent
Правила дифференцирования

0

1

Войти