CutMix
CutMix — это метод аугментации данных (data augmentation), применяемый в обучении свёрточных нейронных сетей (CNN) для задач классификации изображений. Он заключается в том, что из двух случайных изображений (образцов) вырезается прямоугольная область одного изображения и вставляется в соответствующее место другого, после чего метка (label) результирующего изображения формируется как взвешенная сумма меток исходных изображений, пропорциональная площади вставленной области. CutMix был предложен в 2019 году группой исследователей из Samsung Advanced Institute of Technology (SAIT) и Университета Кёнхи (Южная Корея) как развитие идей методов Cutout и Mixup.
История и предпосылки создания
Методы аугментации данных традиционно использовались для увеличения разнообразия обучающей выборки и предотвращения переобучения нейронных сетей. Классические подходы, такие как случайные повороты, сдвиги, отражения и изменения яркости, не затрагивают семантическую структуру изображения. В 2017 году был предложен метод Cutout (DeVries и Taylor), который случайным образом закрашивает прямоугольную область изображения нулевыми значениями (чёрным цветом), что заставляет сеть фокусироваться на других частях объекта. В 2018 году появился Mixup (Zhang et al.), который линейно интерполирует (смешивает) два изображения и их метки, создавая виртуальные обучающие примеры.
CutMix объединяет идеи обоих методов: он использует прямоугольное вырезание из Cutout, но вместо закрашивания вставляет фрагмент другого изображения, как в Mixup. Это позволяет сети лучше распознавать объекты по их частям и повышает устойчивость к частичным перекрытиям и деформациям.
Принцип работы
Алгоритм CutMix для пары изображений \(x_A\) и \(x_B\) с соответствующими метками \(y_A\) и \(y_B\) (обычно в формате one-hot encoding) работает следующим образом:
- Выбор области: Случайным образом выбирается прямоугольная область \(M\) (маска) на изображении \(x_A\). Координаты центра и размеры прямоугольника генерируются из равномерного распределения. Параметр \(\lambda\) (лямбда) — доля площади изображения \(x_A\), которая будет заменена, — также выбирается случайно из бета-распределения \(Beta(\alpha, \alpha)\), где \(\alpha\) — гиперпараметр (обычно \(\alpha = 1.0\), что соответствует равномерному распределению). Фактически, \(\lambda\) определяет, насколько велика будет вырезанная область.
- Создание нового изображения: Новое изображение \(\tilde{x}\) формируется по формуле:
\[ \tilde{x} = M \odot x_B + (1 - M) \odot x_A \] где \(\odot\) — поэлементное умножение. Маска \(M\) равна 1 для пикселей, принадлежащих вырезанной области (которые берутся из \(x_B\)), и 0 для остальных пикселей (которые остаются от \(x_A\)).
- Формирование метки: Метка для нового изображения \(\tilde{y}\) вычисляется как взвешенная сумма:
\[ \tilde{y} = \lambda \cdot y_A + (1 - \lambda) \cdot y_B \] где \(\lambda\) — доля площади изображения \(x_A\), оставшаяся после вырезания (то есть площадь незаменённой части). Чем больше площадь вставленного фрагмента из \(x_B\), тем больший вес получает метка \(y_B\) в результирующей метке.
Таким образом, модель обучается на изображениях, которые содержат фрагменты двух разных объектов, и должна предсказывать обе метки с соответствующими весами. Это принципиально отличает CutMix от Cutout, где метка остаётся неизменной, и от Mixup, где изображения смешиваются пиксель-в-пиксель, что часто приводит к неестественным визуальным артефактам.
Отличия от других методов аугментации
| Метод | Действие с изображением | Действие с меткой | Преимущества | Недостатки |
|---|---|---|---|---|
| Cutout | Закрашивание случайной области чёрным (или другим цветом) | Не изменяется | Простота, улучшение локализации | Может удалять важные семантические части объекта |
| Mixup | Линейная интерполяция пикселей двух изображений | Линейная интерполяция меток | Сглаживание границ классов, устойчивость к шуму | Создает неестественные, «призрачные» изображения |
| CutMix | Вставка вырезанной области одного изображения в другое | Взвешенная сумма меток по площади | Сохраняет естественность фрагментов, улучшает локализацию, устойчив к перекрытиям | Более сложная реализация, требует вычисления маски |
Применение и влияние
CutMix показал значительное улучшение точности классификации на эталонных наборах данных, таких как ImageNet, CIFAR-10, CIFAR-100, по сравнению с базовыми моделями и методами Cutout и Mixup. Он также продемонстрировал способность улучшать показатели в задачах:
- Обнаружение объектов (object detection): Модели, обученные с CutMix, лучше распознают объекты, частично скрытые или перекрытые.
- Семантическая сегментация (semantic segmentation): Улучшается способность сети выделять границы объектов.
- Обучение с неполными данными (weakly-supervised learning): CutMix помогает сетям лучше локализовать объекты, даже если в обучающих данных присутствуют только метки классов, а не координаты объектов.
Метод стал популярным компонентом современных пайплайнов обучения и был включён в такие библиотеки, как PyTorch и TensorFlow, а также в специализированные библиотеки аугментации (например, Albumentations). Последующие исследования предложили ряд модификаций CutMix, таких как SmoothMix, Puzzle Mix, SaliencyMix и другие, которые пытаются оптимизировать выбор области для вставки на основе карт значимости (saliency maps) или других критериев.
Критика и ограничения
Несмотря на эффективность, CutMix имеет некоторые недостатки:
- Неестественность композиций: Хотя CutMix создаёт более реалистичные изображения, чем Mixup, вставка фрагмента одного объекта на фон другого часто выглядит неестественно и может вводить модель в заблуждение, особенно если объекты имеют сильно различающиеся масштабы или текстуры.
- Зависимость от гиперпараметров: Эффективность метода чувствительна к выбору гиперпараметра \(\alpha\) бета-распределения. Неоптимальный выбор может привести к тому, что вставленные области будут слишком малы (и не повлияют на обучение) или слишком велики (и полностью заменят исходное изображение).
- Вычислительная сложность: По сравнению с простыми методами аугментации (отражение, поворот), CutMix требует дополнительных вычислений для генерации маски и смешивания изображений, что может замедлить обучение, особенно на больших наборах данных.
- Применимость к другим модальностям: CutMix изначально разработан для изображений. Его адаптация к другим типам данных (текст, аудио, видео) требует дополнительных модификаций и не всегда даёт столь же значительный прирост качества.
Источники
- Yun, S., Han, D., Oh, S. J., Chun, S., Choe, J., & Yoo, Y. (2019). CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features. Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV).
- DeVries, T., & Taylor, G. W. (2017). Improved Regularization of Convolutional Neural Networks with Cutout. arXiv preprint arXiv:1708.04552.
- Zhang, H., Cisse, M., Dauphin, Y. N., & Lopez-Paz, D. (2018). mixup: Beyond Empirical Risk Minimization. International Conference on Learning Representations (ICLR).
- Harris, E., Marcu, A., & Chen, T. (2020). SaliencyMix: A Saliency Guided Data Augmentation Strategy for Better Regularization. arXiv preprint arXiv:2006.01791.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →