Открыть сервис

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) работает следующим образом:

  1. Выбор области: Случайным образом выбирается прямоугольная область \(M\) (маска) на изображении \(x_A\). Координаты центра и размеры прямоугольника генерируются из равномерного распределения. Параметр \(\lambda\) (лямбда) — доля площади изображения \(x_A\), которая будет заменена, — также выбирается случайно из бета-распределения \(Beta(\alpha, \alpha)\), где \(\alpha\) — гиперпараметр (обычно \(\alpha = 1.0\), что соответствует равномерному распределению). Фактически, \(\lambda\) определяет, насколько велика будет вырезанная область.
  2. Создание нового изображения: Новое изображение \(\tilde{x}\) формируется по формуле:

\[ \tilde{x} = M \odot x_B + (1 - M) \odot x_A \] где \(\odot\) — поэлементное умножение. Маска \(M\) равна 1 для пикселей, принадлежащих вырезанной области (которые берутся из \(x_B\)), и 0 для остальных пикселей (которые остаются от \(x_A\)).

  1. Формирование метки: Метка для нового изображения \(\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 изначально разработан для изображений. Его адаптация к другим типам данных (текст, аудио, видео) требует дополнительных модификаций и не всегда даёт столь же значительный прирост качества.

Источники

  1. 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).
  2. DeVries, T., & Taylor, G. W. (2017). Improved Regularization of Convolutional Neural Networks with Cutout. arXiv preprint arXiv:1708.04552.
  3. Zhang, H., Cisse, M., Dauphin, Y. N., & Lopez-Paz, D. (2018). mixup: Beyond Empirical Risk Minimization. International Conference on Learning Representations (ICLR).
  4. Harris, E., Marcu, A., & Chen, T. (2020). SaliencyMix: A Saliency Guided Data Augmentation Strategy for Better Regularization. arXiv preprint arXiv:2006.01791.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →