Усиление данных
Тема дорожной карты · Глубокое обучение
Усиление данных — это техника, которая позволяет расширить эффективный набор данных для обучения моделей машинного обучения, применяя различные преобразования к исходным данным. Это позволяет модели видеть более широкий спектр данных, что способствует улучшению её способности обобщать информацию. Основные методы усиления данных включают в себя flips, crops, color jitter, rotation, mixup, cutmix, RandAugment для визуальных данных, SpecAugment для аудиоданных и back-translation, token masking для текстовых данных. Важность применения данных методов заключается в том, что они помогают предотвратить переобучение модели и улучшают её способность обрабатывать новые данные, которые она не видела во время обучения.
Как это работает
Усиление данных — это набор техник, которые применяются сверх базового метода стохастического градиентного спуска (SGD). Эти техники включают перенос обучения, где модель начинается с предобученных весов, а затем подгоняется под конкретную задачу; усиление данных, где синтетически увеличивается обучающий набор данных; расписание скорости обучения, которое может включать косинусное расписание или постепенное повышение и последующее снижение скорости обучения; обрезку градиента, которая предотвращает взрыв градиента, ограничивая норму градиента; и регуляризацию, которая может включать в себя уменьшение весов, сглаживание меток и использование метода MixUp. Все эти техники вместе работают, чтобы преобразовать проблему "модель не обучается" в "модель надежно обучается".
Когда применять
Перенос обучения является первым шагом, который следует применять, особенно если у вас нет доступа к большим наборам данных. Предобученные веса могут существенно сократить время обучения и улучшить производительность модели, особенно если ваш набор данных не имеет масштаба ImageNet. Усиление данных может быть особенно полезным, когда ваш обучающий набор данных меньше 100 000 образцов. В этом случае агрессивное применение методов усиления данных может помочь модели лучше обобщать информацию. Также важно применять тепловую разминку (warmup) перед любым расписанием скорости обучения, чтобы предотвратить взрыв градиента в ранних этапах обучения. Обрезка градиента может быть особенно полезной для моделей типа Transformer и RNN, где она помогает предотвратить взрыв градиента. Важно также подбирать оптимальное значение для уменьшения весов, которое может сильно варьироваться.
Типичные ошибки
Одной из распространенных ошибок при использовании усиления данных является обучение модели с нуля, когда предобученные веса могут существенно улучшить производительность модели. Это может привести к тому, что вы потратите много времени и вычислительных ресурсов, обучая модель с нуля, хотя предобученные веса могли бы значительно улучшить её производительность. Другой распространенной ошибкой является агрессивное применение методов усиления данных, которое может привести к тому, что метки данных будут разрушены. Например, вращение изображений MNIST может привести к тому, что цифра 6 будет восприниматься как цифра 9. Также важно применять тепловую разминку перед любым расписанием скорости обучения, чтобы предотвратить взрыв градиента в ранних этапах обучения. Наконец, использование уменьшения весов для смещений и параметров нормализации может привести к тому, что модель будет переобучаться.