Почему раньше возникала проблема исчезающего градиента?
Что проверяют
Понимаете ли вы механику обратного распространения настолько, чтобы объяснить затухание через произведение множителей, и знаете ли, что глубокие сети сделал обучаемыми набор приёмов, а не один трюк.
Как отвечать
Градиент по весам нижних слоёв это произведение множителей по всем слоям выше: производных активаций и весовых матриц. Если типичный множитель меньше единицы, произведение убывает экспоненциально с глубиной, и до ранних слоёв доходит почти ноль. Сеть формально учится, но первые слои стоят на месте, и качество упирается в потолок.
Почему это было массовой проблемой. Стандартными активациями были сигмоида и гиперболический тангенс. У сигмоиды максимум производной равен четверти, и она быстро уходит в насыщение, где производная около нуля. Веса инициализировали из произвольного мелкого распределения, из-за чего активации сразу попадали в плоскую зону. Отдельно страдали рекуррентные сети: там множителей столько, сколько шагов в последовательности.
Что починило:
- активации без насыщения в положительной части, ReLU и его варианты;
- инициализация, согласованная с размерностью слоя, Xavier для симметричных активаций и He для ReLU;
- нормализация активаций внутри сети, батч-норма и слоевая;
- остаточные связи: сумма входа и выхода блока даёт градиенту прямой путь вниз, это и позволило обучать очень глубокие сети;
- гейты в рекуррентных сетях, где состояние переносится почти без умножения.
Где спотыкаются
Путают с взрывом градиента и предлагают клиппинг. Обрезание нормы спасает от расходящихся весов, а против затухания оно не делает вообще ничего: ноль после обрезки останется нулём.
Говорят «ReLU решил проблему» и на этом останавливаются. ReLU приносит мёртвые нейроны с нулевым градиентом на отрицательной стороне, а без разумной инициализации и нормализации очень глубокая сеть всё равно не сойдётся.
Объясняют затухание только выбором активации, забывая про веса. Множитель это производная активации, умноженная на матрицу весов, поэтому масштаб инициализации и нормировка влияют не меньше, чем форма нелинейности.