Введение
Аугментация данных (Data Augmentation) – набор техник для искусственного расширения обучающего датасета путём создания модифицированных версий существующих примеров. Модификации применяются таким образом, чтобы не изменить целевую метку: повёрнутый на 15° снимок кошки по-прежнему является кошкой. Аугментация снижает переобучение, повышает устойчивость модели к вариациям входных данных и позволяет достигать лучшего качества при ограниченных обучающих выборках.
История и контекст
Аугментация изображений применялась в компьютерном зрении с 1990-х годов, но систематизирована была с приходом глубокого обучения. AlexNet (2012) активно использовал случайное обрезание и горизонтальное отражение. ImageNet-победители последовательно усиливали аугментацию: Inception, ResNet, EfficientNet. AutoAugment (Google, 2018) ввёл автоматический поиск оптимальной политики аугментации. RandAugment (2020) упростил пространство поиска. Для NLP аугментация долго была нетривиальной задачей; прорыв произошёл с развитием LLM, позволяющих легко перефразировать тексты.
Как это работает
Техники аугментации по модальностям:
Для изображений
- Геометрические: поворот, горизонтальное/вертикальное отражение, обрезка (crop), масштабирование, сдвиг.
- Цветовые: изменение яркости, контраста, насыщенности, оттенка, добавление шума, Gaussian blur.
- Продвинутые: Cutout/Random Erasing (удаление случайных прямоугольников), MixUp (линейная интерполяция двух изображений), CutMix.
Для текста
- Синонимическая замена – случайная замена слов на синонимы из WordNet/тезауруса.
- Обратный перевод (back-translation) – перевод на другой язык и обратно.
- Вставка, удаление, перестановка слов – случайные изменения без потери смысла.
- LLM-перефразирование – генерация семантических эквивалентов через GPT-4, Claude и др.
Для аудио
- Добавление фонового шума, изменение скорости воспроизведения, сдвиг питча, SpecAugment (маскирование частот/времён).
Где применяется
- Компьютерное зрение – стандартная практика для ImageNet-scale задач; critical для медицинских изображений с малыми выборками.
- NLP – аугментация для классификации текста, NER, задач с малой разметкой.
- Распознавание речи – SpecAugment стал стандартом для ASR-систем.
- Semi-supervised learning – consistency regularization требует различных аугментаций одного примера.
- Робастность к adversarial атакам – аугментация с adversarial perturbations повышает устойчивость модели.
Преимущества и ограничения
Преимущества: снижает переобучение; повышает robustness; увеличивает эффективный размер датасета; бесплатно (не требует дополнительной разметки); улучшает качество на тестовых данных со схожими вариациями.
Ограничения: неправильная аугментация может ввести в заблуждение (вертикальное отражение текста на изображении меняет смысл); увеличивает время обучения; для некоторых доменов (медицина) требует экспертной валидации допустимых трансформаций.
Связь с другими понятиями
Аугментация данных – один из методов борьбы с Overfitting (переобучением). Регуляризация (Dropout, L1/L2) – другой подход к той же проблеме. Semi-supervised Learning использует аугментацию как основу consistency regularization. GAN – метод генерации синтетических данных как более мощная альтернатива классической аугментации. Датасет – исходный объект, к которому применяется аугментация.