Weight decay
Зачем это нужно? Нейросети легко переобучаются: вместо закономерностей они вылавливают случайные шумы и артефакты, а веса раздуваются до огромных значений. Из-за этого модель перестаёт работать на новых данных. Weight decay добавляет к ошибке штраф за «тяжёлые» веса — чем больше коэффициент, тем сильнее пружина и тем проще извлекаемое правило.
Интуитивно работает так: на каждой итерации веса обновляются в сторону уменьшения ошибки, но затем умножаются на число чуть меньше единицы, например 0,99. Ненужные параметры постепенно затухают до нуля, а важные остаются настолько большими, насколько это оправдывает их вклад в качество. Так модель сохраняет только те связи, которые устойчиво работают на разных примерах.
Показательный пример — распознавание рукописных цифр. Без weight decay модель может запомнить, что у всех семёрок в тренировочном наборе есть характерная царапина, и посчитать её обязательной. С регуляризацией такая хрупкая зависимость даст слишком большой штраф, и модель откажется от неё в пользу простого геометрического признака — двух пересекающихся линий. Точность на новых данных возрастает, хотя на тренировочном множестве ошибок становится чуть больше.
Коротко: weight decay — это тормоз, который не даёт модели выучить вызубренные ответы. Заставляя параметры оставаться маленькими, он повышает способность нейросети обобщать и делает предсказания устойчивыми к посторонним деталям. Это один из самых простых и надёжных способов сделать обучение честным.
Поделиться