Vanishing activations
Почему так происходит? Каждый нейрон можно представить как регулятор громкости, настроенный пропускать сигнал от нуля до единицы. При перемножении многих таких приглушений значение после каждого слоя уменьшается. Если слой ослабляет сигнал вдвое, через десять слоёв он станет в 1024 раза меньше. Числа превращаются в почти нулевые, а при нулевом сигнале нейрон не меняет веса — «засыпает», обучение останавливается. Это похоже на испорченный телефон, где каждый шепчет всё тише, и последний игрок не слышит исходное слово.
Классический пример — распознавание рукописных цифр из набора MNIST. В сети с двадцатью слоями и сигмоидной активацией первые слои, видящие простые линии, ещё обучаются, а слои для сложных форм получают почти нулевые сигналы. Сеть выдаёт случайные ответы, точность не растёт. Инженеры придумали решения: использовать функции активации вроде ReLU, не сжимающие положительные значения, добавлять «шоссе»-связи, позволяющие сигналу прыгать через слои, или нормализовать данные. Современные архитектуры, такие как ResNet, обязаны этим идеям успехом. Исчезающие активации — не приговор, а напоминание, что даже в ИИ важно не терять информацию по пути.
Поделиться