Локальные производные
Сначала разбираем сложное вычисление на простые операции
Смотреть локально
Каждая операция должна уметь ответить только на один вопрос: как небольшое изменение её входа меняет выход.
Рассмотрим последнюю операцию:
\[ L=b^2. \]
При \(b=10\) функция потерь равна:
\[ L=10^2=100. \]
Теперь немного изменим вход этой операции. Увеличим \(b\) с 10 до 10.01.
Получим:
\[ L=10.01^2=100.2001. \]
Величина \(b\) изменилась всего на \(0.01\), а \(L\) увеличилась примерно на \(0.2\).
Нас интересует, во сколько раз небольшое изменение входа около текущей точки усиливается или ослабляется этой операцией.
Для функции
\[ L=b^2 \]
производная равна:
\[ \frac{\partial L}{\partial b}=2b. \]
При \(b=10\):
\[ \frac{\partial L}{\partial b}=2\cdot10=20. \]
Что означает число 20?
Если около точки \(b=10\) изменить \(b\) на небольшую величину \(\Delta b\), то \(L\) изменится примерно в 20 раз сильнее:
\[ \Delta L\approx20\cdot\Delta b. \]
Например, при \(\Delta b=0.01\):
\[ \Delta L\approx20\cdot0.01=0.2. \]
Теперь рассмотрим предыдущую операцию:
\[ b=a+4. \]
Если увеличить \(a\) на \(0.01\), то \(b\) тоже увеличится ровно на \(0.01\):
\[ a\rightarrow a+0.01 \]
\[ b\rightarrow b+0.01. \]
Поэтому:
\[ \frac{\partial b}{\partial a}=1. \]
Прибавление постоянного числа не меняет масштаб небольшого изменения.
Рассмотрим ещё одну операцию:
\[ a=3x. \]
Если увеличить \(x\) на \(0.01\), то \(a\) изменится на:
\[ 3\cdot0.01=0.03. \]
Значит:
\[ \frac{\partial a}{\partial x}=3. \]
Умножение на 3 втрое увеличивает небольшое изменение входа.
Что такое локальная производная
Локальная производная показывает, как небольшое изменение входа одной конкретной операции влияет на её выход.
Для нашей цепочки:
\[ x \rightarrow a \rightarrow b \rightarrow L \]
получились три локальные производные:
\[ \frac{\partial a}{\partial x}=3, \]
\[ \frac{\partial b}{\partial a}=1, \]
\[ \frac{\partial L}{\partial b}=20. \]
Каждое из этих чисел описывает только одну маленькую операцию.
Пока мы ещё не отвечаем на главный вопрос:
как изменение \(x\) повлияет сразу на итоговое значение \(L\)?
Для этого на следующем шаге нужно будет соединить локальные влияния нескольких операций в одну цепочку.
Микропаттерн. Сложное вычисление разбиваем на простые операции и сначала выясняем, как каждая операция передаёт небольшое изменение дальше.