Dropout
Нейросети, особенно большие, легко запоминают данные наизусть вместо выявления закономерностей — это переобучение. Модель отлично отвечает на знакомые примеры, но теряется на новых. Dropout — эффективное лекарство: он не даёт сети полагаться на конкретные нейроны и заставляет искать резервные пути и общие признаки. В результате модель обобщает, а не заучивает.
Интуитивно это похоже на оркестр: на каждой репетиции случайно выключают несколько музыкантов. Оркестр учится играть так, чтобы музыка звучала узнаваемо даже без части инструментов. На следующем шаге выключаются другие, и так много раз. К концу обучения все участники умеют работать в разных составах. При использовании включаются все нейроны, но их сигналы слегка уменьшаются, компенсируя избыточную активность.
Пример: сеть распознаёт рукописные цифры. Без dropout она запоминает закорючки конкретных авторов. С dropout эти нейроны периодически исчезают, поэтому сеть вынуждена опираться на универсальные признаки — замкнутость петель, наклон, пересечения линий. Итог: отличное распознавание незнакомых почерков.
Итог: dropout — простой и мощный способ заставить сеть учиться глубже, а не зубрить. Внедряется одной строкой кода, но превращает переобученную модель в надёжный инструмент. С 2012 года это стандарт глубокого обучения, остающийся в арсенале каждого инженера.
Поделиться