Математический анализ
Производная сложной функции
Цели урока
- Понять и применять правило цепочки (chain rule)
- Дифференцировать многослойные композиции
- Вычислять производные обратных функций
- Освоить логарифмическое дифференцирование
- Знать производные обратных тригонометрических функций
Предварительные знания
- Правила дифференцирования
- Понятие композиции функций
- Свойства логарифмов
В 1974 году Пол Вербос в докторской диссертации в Гарварде применяет цепное правило к обучению многослойных сетей. Идею игнорируют до 1986: Румельхарт, Хинтон и Уильямс публикуют в Nature статью «Learning representations by back-propagating errors». С тех пор всё — от GPT до AlphaFold — это циклический проход цепного правила через миллиарды параметров. PyTorch autograd (2017) и JAX (2018) автоматизируют ровно эту операцию.
- **PyTorch autograd**: torch.Tensor.backward() — это applied chain rule. Каждая операция запоминает локальный градиент, потом цепочка перемножается от loss к параметрам
- **GPT-3 (175B параметров)**: один шаг обучения — это chain rule, применённое к графу из ~10^12 узлов. Без backprop тренировка невозможна
- **JAX grad/vjp/jvp**: forward-mode и reverse-mode autodiff — обе формы цепного правила. vjp используется для backprop, jvp — для линеаризации Якобиана
- **Vanishing gradients**: при длинных цепочках произведение производных <1 уходит в ноль. Отсюда LSTM (1997), residual connections в ResNet (2015), нормализация активаций
Основа современного ML
Цепное правило известно с XVII века, но его значение выросло в эпоху машинного обучения. В 1970 году **Пол Вербос** описал применение цепного правила для обучения нейросетей - это стало основой **backpropagation**. В 1986 году Руммельхарт и Хинтон популяризовали метод, и сегодня каждый раз, когда обучается нейросеть, в её основе - многократное применение цепного правила.
Цепное правило (Chain Rule)
Цепное правило (Chain Rule)
Для **композиции** $f(g(x))$ - "функция от функции" - производная вычисляется так:
**Алгоритм**:
- Определите **внешнюю** функцию $f$ и **внутреннюю** $g$
- Возьмите производную внешней, оставляя внутреннюю без изменений
- Умножьте на производную внутренней
**Мнемоника**: "производная внешней × производная внутренней" или "derivative outside × derivative inside".
Для функции $\sin(x^3)$: что является внешней функцией, а что внутренней?
Сначала вычисляем $x^3$ (внутренняя), потом от результата берём $\sin$ (внешняя). "Снаружи" - синус.
В обозначениях Лейбница
В обозначениях Лейбница
Пусть $y = f(u)$ и $u = g(x)$. Тогда:
Выглядит так, будто $du$ "сокращается"! Это не настоящее сокращение, но мнемоника работает.
Обозначение Лейбница показывает **путь** производной: от $y$ к $u$, от $u$ к $x$. Отсюда название - **цепное** правило.
В чём ключевая идея раздела «В обозначениях Лейбница»?
Перескажите главное определение или результат раздела одним предложением.
Примеры применения
Примеры применения
Степень от выражения
$(x^2 + 1)^3$
$f(x) = (x^2 + 1)^3$ Внешняя: $u^3$, её производная $3u^2$ Внутренняя: $u = x^2 + 1$, её производная $2x$ $$f'(x) = 3(x^2 + 1)^2 \cdot 2x = \boxed{6x(x^2 + 1)^2}$$
Тригонометрия от выражения
$\sin(x^2)$
$f(x) = \sin(x^2)$ Внешняя: $\sin u$, её производная $\cos u$ Внутренняя: $u = x^2$, её производная $2x$ $$f'(x) = \cos(x^2) \cdot 2x = \boxed{2x\cos(x^2)}$$
$(\sin(x^2))' = \cos(x^2)$ - забыли внутреннюю производную
$(\sin(x^2))' = 2x\cos(x^2)$ - обязательно умножаем на производную аргумента
Производная $\sin$ даёт $\cos$, но аргумент - не просто $x$, а $x^2$. Нужно ещё умножить на $(x^2)' = 2x$!
Экспонента от линейного
$e^{3x}$
$f(x) = e^{3x}$ Внешняя: $e^u$, её производная $e^u$ Внутренняя: $u = 3x$, её производная $3$ $$f'(x) = e^{3x} \cdot 3 = \boxed{3e^{3x}}$$ **Обобщение**: $(e^{ax})' = ae^{ax}$
Чему равна $(\cos(5x))'$?
Внешняя $\cos u$ даёт $-\sin u$. Внутренняя $5x$ даёт $5$. Итого: $-\sin(5x) \cdot 5 = -5\sin(5x)$.
Многослойные композиции
Многослойные композиции
Для тройной композиции $f(g(h(x)))$ правило применяется **последовательно**:
Тройная композиция
$\sin(\cos(x^2))$
$f(x) = \sin(\cos(x^2))$ Три слоя: $\sin$, $\cos$, $x^2$ $$f'(x) = \cos(\cos(x^2)) \cdot (-\sin(x^2)) \cdot 2x$$ $$= \boxed{-2x \sin(x^2) \cos(\cos(x^2))}$$ **Порядок**: работаем от внешней к внутренней, перемножая производные.
В **backpropagation** нейросетей происходит именно это: градиент "течёт" по цепочке, умножаясь на локальные производные каждого слоя.
В чём ключевая идея раздела «Многослойные композиции»?
Перескажите главное определение или результат раздела одним предложением.
Производная обратной функции
Производная обратной функции
Если $y = f^{-1}(x)$, то $x = f(y)$. Применяя цепное правило:
Вывод $(\arcsin x)'$
Через обратную функцию
Если $y = \arcsin x$, то $x = \sin y$ Дифференцируем $x = \sin y$ по $x$: $$1 = \cos y \cdot \frac{dy}{dx}$$ $$\frac{dy}{dx} = \frac{1}{\cos y}$$ Из $\sin^2 y + \cos^2 y = 1$ и $\sin y = x$: $$\cos y = \sqrt{1 - x^2}$$ (берём положительный корень для $y \in [-\pi/2, \pi/2]$) $$(\arcsin x)' = \boxed{\frac{1}{\sqrt{1 - x^2}}}$$
Таблица обратных тригонометрических
| $f(x)$ | $f'(x)$ | Область |
|---|---|---|
| $\arcsin x$ | $\frac{1}{\sqrt{1-x^2}}$ | $|x| < 1$ |
| $\arccos x$ | $-\frac{1}{\sqrt{1-x^2}}$ | $|x| < 1$ |
| $\arctan x$ | $\frac{1}{1+x^2}$ | $x \in \mathbb{R}$ |
| $\text{arccot}\, x$ | $-\frac{1}{1+x^2}$ | $x \in \mathbb{R}$ |
Почему $(\arccos x)' = -\frac{1}{\sqrt{1-x^2}}$, а не $+$?
$\arccos x$ - убывающая функция. Производная убывающей функции отрицательна. Также верно: $\arccos x = \frac{\pi}{2} - \arcsin x$, поэтому производные отличаются знаком.
Логарифмическое дифференцирование
Логарифмическое дифференцирование
Для функций вида $f(x)^{g(x)}$ - "переменная в переменной степени" - сначала **логарифмируем**:
$x^x$ - классика
Переменная в переменной степени
$y = x^x$ (для $x > 0$) **Шаг 1**: Логарифмируем обе стороны $$\ln y = \ln(x^x) = x \ln x$$ **Шаг 2**: Дифференцируем обе стороны $$\frac{y'}{y} = (x \ln x)' = 1 \cdot \ln x + x \cdot \frac{1}{x} = \ln x + 1$$ **Шаг 3**: Умножаем на $y$ $$y' = y(\ln x + 1) = \boxed{x^x(\ln x + 1)}$$
Сложное произведение
Логарифм упрощает
$y = \frac{x^2 \sqrt{x+1}}{(x-1)^3}$ (для $x > 1$) Логарифмируем: $$\ln y = 2\ln x + \frac{1}{2}\ln(x+1) - 3\ln(x-1)$$ Дифференцируем: $$\frac{y'}{y} = \frac{2}{x} + \frac{1}{2(x+1)} - \frac{3}{x-1}$$ $$y' = y \left(\frac{2}{x} + \frac{1}{2(x+1)} - \frac{3}{x-1}\right)$$
**Логарифмическое дифференцирование** превращает произведения в суммы, частные в разности, степени в множители - всё упрощается!
$(x^x)' = x \cdot x^{x-1} = x^x$ - как обычная степень
$(x^x)' = x^x(\ln x + 1)$ - нужно логарифмическое дифференцирование
Формула $(x^n)' = nx^{n-1}$ работает только для **постоянной** степени $n$. Когда показатель зависит от $x$, это другая история!
В чём ключевая идея раздела «Логарифмическое дифференцирование»?
Перескажите главное определение или результат раздела одним предложением.
Связь с другими темами
Цепное правило - мост к продвинутым методам
- Backpropagation в ML — Градиент "течёт" по цепочке слоёв нейросети
- Неявное дифференцирование — Использует цепное правило для связанных переменных
- Интегралы заменой — Обратная операция к цепному правилу
- Многомерный анализ — Цепное правило обобщается для функций многих переменных
- Дифференциальные уравнения — Метод разделения переменных
Итоги
- **Цепное правило**: $(f(g(x)))' = f'(g(x)) \cdot g'(x)$ - внешняя × внутренняя
- В обозначениях Лейбница: $\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}$ - "$du$ сокращается"
- Для многих слоёв: перемножаем производные всех слоёв
- **Обратные функции**: $(f^{-1})' = \frac{1}{f'(f^{-1}(x))}$
- **Логарифмическое дифф.**: для $f^g$ сначала логарифмируем, потом дифференцируем
Вопросы для размышления
- Почему самая частая ошибка - забыть внутреннюю производную?
- Как цепное правило связано с backpropagation в нейросетях?
- Почему $(\arcsin x)' = \frac{1}{\sqrt{1-x^2}}$, а не просто $\frac{1}{\cos x}$?
- Когда логарифмическое дифференцирование удобнее обычного?