Модуль: Обратное распространение


Локальные производные


Войдите на сайт, чтобы ответы сохранялись и баллы за тетрадь засчитывались.

Локальные производные

Сначала разбираем сложное вычисление на простые операции

Смотреть локально
Каждая операция должна уметь ответить только на один вопрос: как небольшое изменение её входа меняет выход.

Рассмотрим последнюю операцию:

\[ 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\)?

Для этого на следующем шаге нужно будет соединить локальные влияния нескольких операций в одну цепочку.

Микропаттерн. Сложное вычисление разбиваем на простые операции и сначала выясняем, как каждая операция передаёт небольшое изменение дальше.

Проверь себя

Для операции a = 4x чему равна локальная производная a по x?