Что такое аугментация данных?
Аугментация данных — это создание новых обучающих примеров из уже имеющихся с помощью преобразований, которые меняют форму, но сохраняют смысл. Повёрнутая или затемнённая фотография кошки остаётся фотографией кошки, поэтому метка не меняется, а модель получает ещё один вариант того же объекта. Так выборку расширяют, не снимая ни одного нового кадра.
Приём появился из практической нужды: реальных размеченных данных всегда меньше, чем хочется, а разметка стоит денег. Аугментация даёт способ выжать больше из уже оплаченной выборки.
Зачем аугментация нужна на практике?
Она решает три задачи: борется с переобучением, когда модель запоминает конкретные примеры вместо закономерностей; учит устойчивости к условиям съёмки, которых в выборке мало; выравнивает классы, если редких примеров в разы меньше частых. Итог — модель стабильнее ведёт себя на данных, которых не видела в обучении.
- Меньше переобучения. Каждую эпоху модель видит слегка другую версию примера и не может выучить его наизусть.
- Устойчивость к условиям. Наклон камеры, тень, блик, шум — то, что в жизни встречается, а в аккуратной выборке нет.
- Баланс классов. Редкий дефект можно показать в десятке вариантов вместо одного.
- Экономия бюджета. Часть разнообразия достигается без новой съёмки и новой разметки.
Какие методы аугментации существуют?
Методы делятся по типу данных. Для изображений применяют геометрические, цветовые и шумовые преобразования, а также смешивание примеров. Для текста — синонимичные замены, перефразирование и обратный перевод. Для звука — изменение темпа, высоты тона и добавление фонового шума. Общий принцип один: менять форму, не трогая смысл метки.
Изображения: поворот, отражение, случайная обрезка, масштабирование, сдвиг; яркость, контраст, насыщенность; размытие, шум, артефакты сжатия; вырезание случайных участков и наложение двух изображений с пропорциональным смешением меток.
Текст: замена слов синонимами, перестановка предложений, обратный перевод (перевести на другой язык и обратно), генерация парафраз языковой моделью.
Звук: изменение скорости и высоты, добавление шума улицы или офиса, имитация эха и разных микрофонов, сдвиг во времени.
Как аугментация влияет на разметку?
Метки должны преобразовываться вместе с данными, иначе выборка портится. Если изображение обрезано, рамки объектов пересчитываются под новые координаты, а объекты, полностью ушедшие за край, удаляются. При отражении меняются местами левые и правые ключевые точки. Ошибка на этом шаге незаметна глазу, но систематически ухудшает обучение.
Именно поэтому аугментацию настраивают вместе с разметчиками и проверяют выборочно глазами: несколько десятков аугментированных примеров смотрят вручную и сверяют, что метки поехали корректно.
Когда аугментация делает модель хуже?
Вред начинается там, где преобразование нарушает смысл задачи. Зеркальное отражение текста или цифр создаёт объекты, которых не существует. Поворот медицинского снимка ломает анатомическую ориентацию. Сильное изменение цвета вредит там, где цвет и есть признак — например, при контроле спелости или сортировке по маркировке.
Практическое правило: применяйте только те преобразования, которые могут встретиться в реальной эксплуатации модели. Если камера на линии закреплена жёстко и объект всегда в одной ориентации, поворот на 180 градусов не приблизит выборку к реальности, а уведёт от неё.
Сколько аугментации нужно?
Универсального числа нет — параметры подбирают экспериментом на контрольной выборке. Разумный порядок: обучить базовую модель без аугментации, добавить умеренные преобразования, сравнить метрики на отложенных данных. Если качество растёт, усиливать; если падает, значит преобразования уводят данные слишком далеко от реальных.
Важно, что аугментация применяется только к обучающей части. Валидационная и тестовая выборки остаются нетронутыми — иначе оценка перестаёт отражать поведение модели на настоящих данных. Как правильно делить выборки, разобрано в статье про обучающую и тестовую выборку, а когда дешевле сгенерировать данные целиком — в материале о синтетических данных.
