Что такое dropout
Что проверяют
Понимаете ли вы регуляризацию по сути, а не как строчку в описании модели. Вопрос базовый, поэтому интервьюер почти сразу уводит в детали: что происходит на инференсе и как техника уживается с нормализацией.
Как отвечать
На обучении dropout с вероятностью p обнуляет выходы нейронов слоя, независимо для каждого нейрона и каждого примера в батче. Сеть перестаёт опираться на конкретные связи и вынуждена держать избыточные признаки, а эффект близок к усреднению ансамбля из подсетей.
На инференсе техника выключена, сеть работает целиком. Чтобы масштаб активаций совпадал с обучением, современные реализации используют обратный вариант: во время обучения уцелевшие активации делятся на вероятность выживания, и на инференсе править уже ничего не нужно.
Практические детали, которые стоит назвать:
- типичные значения p лежат в диапазоне от 0.1 до 0.5, больше для широких полносвязных слоёв, меньше для свёрточных;
- в свёртках поэлементное обнуление работает слабо, соседние пиксели коррелируют, там берут вариант, выключающий канал карты признаков целиком;
- в трансформерах ставят на выход внимания и на остаточную ветвь;
- режим переключает фреймворк:
model.eval()в PyTorch, флаг обучения в Keras; - отдельный приём: оставить dropout включённым на инференсе и усреднить несколько прогонов, получив оценку неопределённости.
Где спотыкаются
Забывают переключить режим. Валидация со включённым dropout становится стохастичной, метрики скачут от прогона к прогону, а обратная ошибка приводит к тому, что регуляризация не применяется при дообучении и модель переобучается тихо.
Ставят dropout вплотную к батч-нормализации и удивляются просадке. Слои конфликтуют: нормализация запоминает статистику активаций, которую dropout сдвигает, и на инференсе оценки дисперсии оказываются смещёнными. Если нужны оба, dropout ставят после нормализации, а вероятность уменьшают.
Лечат не ту болезнь. Если ошибка велика и на обучении, модель недообучена и регуляризация только мешает, смотреть надо на разрыв между обучающей и валидационной ошибками. Рядом живёт представление, будто выключенные нейроны фиксированы на всю эпоху, хотя маска своя на каждый проход.