Затухающий градиент
Затухающий градиент представляет собой проблему обучения глубоких нейронных сетей, при которой градиенты становятся экспоненциально малыми при распространении через множество слоев, что приводит к значительному замедлению или остановке процесса обучения. Это явление возникает из-за последовательного умножения малых значений производных функций активации, что особенно критично для ранних слоев сети. Решения включают использование функций активации ReLU, остаточных связей, нормализации слоев и специальных архитектур сетей.
Что такое «Затухающий градиент» простыми словами
Представь, что ты играешь в "испорченный телефон" с большой группой людей. К последнему человеку информация может дойти настолько искаженной, что от изначального сообщения почти ничего не останется. Похожая проблема возникает в глубоких нейронных сетях - это затухание градиента. Когда сеть очень глубокая (много слоев), сигнал об ошибках, который идет от конца к началу сети, становится всё слабее и слабее, как шепот, который затихает в длинном коридоре. Из-за этого первые слои сети почти перестают обучаться.
Проблема, когда градиент становится слишком маленьким, и нейросеть перестает обучаться (особенно в глубоких слоях).
В ResNet используются «скип-коннекшны» (shortcut connections), которые позволяют градиенту протекать сквозь сеть напрямую, минуя нелинейные слои. Это решает проблему затухания в очень глубоких сетях.
Skip Connections (связи пропуска) в архитектурах типа ResNet позволяют сигналу идти в обход одного или нескольких слоев (добавляя вход блока к его выходу: $y = F(x) + x$). Это создает «шоссе» для градиентов, позволяя им беспрепятственно течь от выхода к входу даже в очень глубоких сетях (сотни слоев). Это решает проблему затухания градиента, делая глубокое обучение возможным.