alterna ai
ALTERNA AI / ГЛАВА 08 · 04

08.4 С чего начинается обучение

На предыдущей странице: что хранится, а что рассчитывается.

До первого исправления тоже нужны значения весов. Одинаковые нейроны могут получать одинаковые исправления, поэтому начальные различия важны.

Один слой создаёт промежуточные признаки для следующего. Нелинейность не позволяет свернуть всю последовательность в одну таблицу. Прямые ветви добавляют поправки к прежнему состоянию.

Зачем скрытым нейронам различаться

При одинаковых весах скрытые units могут получать одинаковые входы и gradients, затем одинаково обновляться. Сеть не обязана использовать ширину как независимые признаки. Нулевая инициализация наглядно показывает эту симметрию. N02.

При приближённых условиях независимости и центрирования:

Var⁡(∑iwixi)≈fan_in Var⁡(w)Var⁡(x).\operatorname{Var}\left(\sum_iw_ix_i\right)\approx \mathrm{fan\_in}\,\operatorname{Var}(w)\operatorname{Var}(x).

Это мотивирует масштаб порядка1/√fan_in. Нелинейности и зависимости усложняют картину; формула не является точным законом для любой сети.

В лаборатории weights равномерны на [−scale/√fan_in,scale/√fan_in], biases0. Это явно выбранное учебное правило, не полная реализация Xavier или He. Scale0..5 влияет на actual weights; mean и RMS hidden activations измеряются после forward.

Эксперимент. Сравните scale0,.1,1,5. При scale0 hidden weights могут не получать полезного сигнала, хотя output bias способен учиться среднему target. При большом scale tanh насыщается, а ReLU может давать большие значения или неактивные ветви. Падение loss не доказывает, что все hidden units стали независимыми.

Reset восстанавливает параметры опыта, инициализацию и историю. Просмотр курсора не расходует RNG. «Авто» и ручной шаг должны давать одинаковые weights после одинакового числа updates. Это проверяемая воспроизводимость, не обещание одинаковой траектории любых библиотек и GPU.

Случайная инициализация помогает нарушать симметрию.

Среднее и масштаб одного вектора. Как этот вопрос продолжает полученный результат?

Python-примеры главы 08 Академическая база →