Alterna · учебный материал

08.5 Среднее и масштаб одного вектора

Вычтем среднее и разделим координаты на общий масштаб. Затем сравним правило, которое учитывает величину без вычитания среднего.

Что в этом материале

Содержание и основные понятия

На предыдущей странице: с чего начинается обучение.
Вычтем среднее и разделим координаты на общий масштаб. Затем сравним правило, которое учитывает величину без вычитания среднего.
Один слой создаёт промежуточные признаки для следующего. Нелинейность не позволяет свернуть всю последовательность в одну таблицу. Прямые ветви добавляют поправки к прежнему состоянию.
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
Статистика одного примера
Для вектора x из d компонент LayerNorm использует его mean и population variance. В отдельной лаборатории γ=1,β=0 фиксированы:
μ
=
1
d
∑
i
x
i
,
v
=
1
d
∑
i
(
x
i
−
μ
)
2
,
y
i
=
x
i
−
μ
v
+
ϵ
.
\mu=\frac1d\sum_i x_i,\quad v=\frac1d\sum_i(x_i-\mu)^2,\quad
y_i=\frac{x_i-\mu}{\sqrt{v+\epsilon}}.
μ
=
d
1
​
i
∑
​
x
i
​
,
v
=
d
1
​
i
∑
​
(
x
i
​
−
μ
)
2
,
y
i
​
=
v
+
ϵ
​
x
i
​
−
μ
​
.
Для [1,2,3] среднее2, variance2/3. При ε→0 выход [−√1.5,0,√1.5]. С ε=1e−5 значения немного ближе к нулю: variance результата не обязана равняться ровно1. N06 подтверждает выбор осей статистики; числа выведены независимо.
RMS-нормирование не вычитает mean: y=x/√(mean(x²)+ε). Для того же входа второй момент14/3. Постоянный [2,2,2] после LN нулевой, после RMS почти [1,1,1].
Эксперимент.
Прибавьте одинаковый offset всем компонентам: LN сохранится, RMS в общем случае изменится. Обнулите вход: epsilon предотвращает деление на0. Эта отдельная модель не добавляет скрытую normalization к XOR trainer.
BatchNorm использует другую ось статистики и может иметь running estimates и различия train/eval. Нельзя переносить эти свойства на LN. В настоящем affine LayerNorm обучаемые γ,β добавляют параметры; здесь их фиксированность подписана.
from math import sqrt
x=[1,2,3]
mu=sum(x)/3
variance=sum((v-mu)**2 for v in x)/3
y=[(v-mu)/sqrt(variance+1e-5) for v in x]
assert mu==2 and variance==2/3 and abs(sum(y))<1e-12
Код повторяет только что разобранные операции.
Полный проверяемыйPython-пример главы
доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.
Вычитание mean зануляет числитель, epsilon сохраняет знаменатель положительным.
Прямой путь через блок. Как этот вопрос продолжает полученный результат?
Python-примеры главы 08
Академическая база →

Структурная карта учебников