Методы регуляризации

Тема дорожной карты · Глубокое обучение

Методы регуляризации представляют собой набор техник, направленных на борьбу с переобучением, что позволяет модели лучше обобщать данные. Это особенно важно при работе с небольшими наборами данных или при обучении сложных моделей, где риск переобучения очень велик. В повседневной практике используются различные методы регуляризации, такие как L2 weight decay, dropout, early stopping, label smoothing, аугментация данных и stochastic depth. Современные методы, такие как decoupled weight decay из AdamW и MixUp/CutMix, позволяют улучшить качество обучения и предотвратить переобучение.

Как это работает

Методы регуляризации представляют собой набор практик, выходящих за рамки базового стохастического градиентного спуска (SGD). Transfer learning, например, позволяет начать обучение с уже обученной модели, а затем настроить её под конкретную задачу. Это один из самых мощных трюков в области глубокого обучения. Data augmentation помогает расширить train set синтетически, что может значительно улучшить качество модели. Learning rate scheduling, включая cosine и warmup-смешивание, позволяет более эффективно контролировать скорость обучения. Gradient clipping предотвращает взрыв градиентов, что может привести к неправильному обучению модели. Regularisation методы, такие как weight decay и label smoothing, помогают предотвратить переобучение, добавляя шум или ограничивая ёмкость модели. Все эти методы вместе превращают проблему "модель не обучается" в "модель надёжно обучается".

Когда применять

Transfer learning рекомендуется применять в первую очередь, особенно когда у вас есть доступ к предобученной модели. Это позволяет существенно сэкономить время и вычислительные ресурсы, а также улучшить качество обучения, особенно если ваш набор данных не настолько большой, чтобы обучить модель с нуля. Аугментация данных особенно эффективна при работе с небольшими наборами данных, где количество тренировочных образцов меньше 100 000. Warmup, который обычно составляет около 5% от общего числа шагов, рекомендуется применять перед любым расписанием скорости обучения, чтобы предотвратить взрыв градиентов на ранних этапах обучения. Gradient clipping особенно полезно использовать при работе с моделями типа Transformer и RNN, где норма градиента обычно устанавливается равной 1.0. Важно также проводить эксперименты с параметром weight decay, выбирая оптимальное значение из диапазона от 0 до 1e-2.

Типичные ошибки

Одной из распространённых ошибок при использовании методов регуляризации является обучение модели с нуля, когда использование предобученной модели было бы более эффективным. Агрессивная аугментация данных может также привести к разрушению семантики меток, особенно если используются такие операции, как вращение изображений MNIST, где 6 может быть перепутано с 9. Расписание скорости обучения без предварительной стадии warmup может привести к взрыву градиентов на ранних этапах обучения. Кроме того, применение weight decay к параметрам смещения и нормализации может привести к нежелательным эффектам, особенно при использовании метода decoupled weight decay из AdamW.

Связанные понятия

Полезные ресурсы