Traduit de l'anglais

CutMix est une technique d'augmentation de données qui découpe des patchs d'une image d'entraînement et les colle sur une autre, en mélangeant les étiquettes proportionnellement à la surface des patchs. Elle améliore la robustesse du modèle et la localisation dans les tâches de vision par ordinateur.

CutMix est une technique d'augmentation de données utilisée pour l'entraînement des réseaux de neurones sur des tâches de classification d'images. Elle combine le découpage et le collage de patchs d'images avec la stratégie de fusion des étiquettes introduite par mixup. À chaque itération d'entraînement, un patch rectangulaire est découpé dans une image d'entraînement et collé sur une seconde image, et l'étiquette d'entraînement est ajustée pour être une combinaison pondérée des deux étiquettes d'origine, avec un poids proportionnel à la surface du patch collé. Cette approche encourage les modèles à se concentrer sur l'objet entier plutôt que de s'appuyer sur des corrélations trompeuses ou des caractéristiques partielles, et il a été démontré qu'elle améliore la précision de classification, la robustesse à la corruption et les performances de localisation.

La méthode a été introduite dans un article de 2019 par Sangdoo Yun, Dongyoon Han, Seong Joon Oh, Sanghyuk Chun, Junsuk Choe et Youngjoon Yoo, affiliés à Clova AI et NAVER Corporation. L'article, intitulé « CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features », a été présenté à la conférence internationale sur la vision par ordinateur (ICCV) de l'IEEE/CVF en 2019. Depuis son introduction, CutMix est devenu un composant standard dans les pipelines d'entraînement de nombreux modèles de vision de pointe, souvent utilisé en conjonction avec d'autres techniques d'augmentation.

Mécanisme

L'opération CutMix fonctionne comme suit. Étant donné deux échantillons d'entraînement \(x_A\) et \(x_B\) avec des étiquettes one-hot \(y_A\) et \(y_B\), l'algorithme échantillonne d'abord un masque binaire \(M\) qui indique quels pixels prendre de chaque image. Le masque est généré en sélectionnant des coordonnées de boîte englobante \((r_x, r_y, r_w, r_h)\) uniformément au hasard, avec le ratio de surface de la boîte \(\lambda\) échantillonné à partir d'une distribution Beta, généralement avec un paramètre \(\alpha = 1\). Le nouvel échantillon d'entraînement est formé en prenant la région hors de la boîte de l'image A et la région à l'intérieur de la boîte de l'image B. L'étiquette pour l'échantillon combiné est calculée comme \(\tilde{y} = \lambda y_A + (1 - \lambda) y_B\), où \(\lambda\) est la fraction de pixels conservés de l'image A.

Ce processus est appliqué à la volée pendant l'entraînement, ce qui signifie que chaque mini-lot est augmenté de manière aléatoire. Le masque est généré indépendamment pour chaque échantillon du lot, ce qui conduit à un ensemble diversifié d'images mélangées. La position et la taille de la coupe sont uniformément aléatoires, ce qui garantit que le modèle voit une grande variété d'occlusions partielles et de combinaisons.

Relation avec d'autres augmentations

CutMix s'appuie sur des stratégies d'augmentation antérieures. Le prédécesseur le plus direct est mixup, introduit par Hongyi Zhang, Moustapha Cisse, Yann N. Dauphin et David Lopez-Paz en 2018, qui fusionne des images entières en prenant une combinaison convexe des valeurs de pixels et des étiquettes. Mixup encourage un comportement linéaire entre les échantillons d'entraînement mais peut produire des images non naturelles difficiles à interpréter pour les humains. CutMix, en revanche, conserve l'apparence naturelle des images dans chaque région, rendant les échantillons augmentés plus cohérents sémantiquement.

Une autre technique connexe est Cutout, proposée par Terrance DeVries et Graham W. Taylor en 2017, qui masque aléatoirement des régions rectangulaires d'une image, les mettant à zéro. Cutout agit comme une forme de dropout au niveau des pixels, forçant le modèle à s'appuyer sur des caractéristiques moins proéminentes. CutMix peut être considéré comme une généralisation qui remplace les régions remplies de zéros par des patchs d'une autre image, fournissant un signal de supervision supplémentaire via l'étiquette fusionnée.

Les auteurs de CutMix ont démontré empiriquement qu'il surpasse à la fois mixup et Cutout sur plusieurs ensembles de données de référence, notamment CIFAR-10, CIFAR-100 et ImageNet. Ils ont également montré que CutMix améliore la capacité du modèle à localiser les objets, mesurée par le jeu de pointage, car le modèle doit prêter attention à l'objet entier pour classer correctement l'image mélangée.

Détails d'implémentation

En pratique, CutMix est implémenté comme une transformation simple qui peut être ajoutée à toute boucle d'entraînement de classification d'images. Pour chaque paire d'images dans un lot, l'algorithme :

  1. Échantillonne une distribution Beta pour obtenir le ratio de mélange \(\lambda\).
  2. Calcule les coordonnées de la boîte englobante en fonction de \(\lambda\).
  3. Crée l'image combinée en copiant le patch de l'image B dans l'image A.
  4. Calcule l'étiquette fusionnée comme une somme pondérée.

Le surcoût computationnel est minimal, car l'opération implique seulement du découpage et de l'affectation de tableaux. Cela rend CutMix facile à intégrer dans des frameworks existants tels que PyTorch ou TensorFlow. De nombreuses implémentations open source existent, et la technique est souvent combinée avec d'autres augmentations comme le recadrage aléatoire, le retournement et la variation de couleur.

Une considération pratique est que le paramètre \(\alpha\) de la distribution Beta contrôle la force de l'augmentation. Avec \(\alpha = 1\), la distribution est uniforme, ce qui signifie que tous les ratios de mélange sont également probables. Des valeurs plus petites de \(\alpha\) (par exemple, 0,2) produisent des mélanges plus extrêmes où une image domine, tandis que des valeurs plus grandes produisent des mélanges plus équilibrés. L'article original a constaté que \(\alpha = 1\) fonctionne bien sur divers ensembles de données, mais certains travaux ultérieurs ont ajusté ce paramètre pour des tâches spécifiques.

Applications et extensions

CutMix a été appliqué au-delà de la classification d'images. Il a été utilisé en détection d'objets, en segmentation sémantique et même dans l'entraînement des transformeurs pour des tâches de vision. L'idée de mélanger des patchs a été étendue à d'autres modalités, telles que l'audio et le texte, bien qu'avec des adaptations à la nature discrète de ces données.

Plusieurs variantes ont été proposées. Par exemple, Puzzle Mix, introduit en 2020, utilise une optimisation plus sophistiquée pour trouver des masques de mélange qui préservent les contours des objets et évitent de couper à travers des parties saillantes. Une autre variante, FMix, utilise des masques dans le domaine de Fourier pour créer des motifs de mélange irréguliers. Co-Mixup, proposé en 2021, étend l'idée à plusieurs images et encourage la diversité parmi les échantillons mélangés.

Dans le contexte de la augmentation de données, CutMix est souvent utilisé en combinaison avec d'autres techniques comme le Dropout et la normalisation par lots. Il a été démontré qu'il est particulièrement efficace lors de l'entraînement de grands modèles sur des données limitées, car il fournit une forme de régularisation qui réduit le surapprentissage.

Impact sur la robustesse des modèles

L'un des principaux avantages de CutMix est l'amélioration de la robustesse à la corruption des entrées et aux perturbations adverses. En s'entraînant sur des images contenant des patchs d'autres classes, le modèle apprend à s'appuyer sur un ensemble plus large de caractéristiques. Cela réduit la tendance à surapprendre les indices de fond ou les motifs de texture qui peuvent ne pas être présents dans des scénarios réels.

Des études ont montré que les modèles entraînés avec CutMix atteignent une précision plus élevée sur des versions corrompues d'ImageNet, comme ImageNet-C, comparés aux modèles entraînés avec une augmentation standard ou mixup seul. La technique améliore également la calibration, ce qui signifie que les probabilités prédites par le modèle sont plus alignées avec la précision réelle.

De plus, CutMix a montré qu'il améliore les performances des modèles sur des tâches de classification fine, où les différences subtiles entre les classes sont importantes. Les images mélangées forcent le modèle à prêter attention aux parties discriminantes plutôt que de s'appuyer sur des statistiques globales.

Adoption dans l'industrie

CutMix a été largement adopté dans la recherche académique et l'industrie. Il est inclus dans des bibliothèques et frameworks d'apprentissage profond populaires, tels que la bibliothèque timm pour les modèles d'images et la bibliothèque de chargement de données NVIDIA DALI. De nombreux modèles de pointe dans le défi ImageNet et d'autres compétitions ont utilisé CutMix dans leur recette d'entraînement.

Des entreprises comme Google DeepMind, OpenAI et Anthropic ont intégré CutMix dans leurs pipelines de vision par ordinateur, bien que les détails spécifiques soient souvent propriétaires. La technique est également utilisée en imagerie médicale, où les données sont rares et où l'augmentation est cruciale. Par exemple, CutMix a été appliqué à la classification de radiographies thoraciques et à l'analyse d'images d'histopathologie, montrant une meilleure généralisation.

Limites et considérations

Malgré son efficacité, CutMix présente certaines limites. Le découpage et le collage aléatoires peuvent parfois créer des images irréalistes, surtout lorsque le patch est placé à un endroit sémantiquement incohérent. Par exemple, coller un patch d'une voiture sur une image d'oiseau pourrait confondre le modèle si le patch couvre une partie critique de l'oiseau. Cependant, l'étiquette fusionnée atténue cela en fournissant une cible douce.

Une autre considération est que CutMix suppose que l'entrée est une grille de pixels, ce qui n'est pas directement applicable à d'autres types de données comme les graphes ou les nuages de points. Des extensions ont été proposées pour ces modalités, mais elles nécessitent des stratégies de masquage plus complexes.

Enfin, le choix du paramètre de la distribution Beta peut affecter les performances. Bien que \(\alpha = 1\) soit un bon défaut, certaines tâches peuvent bénéficier d'un ajustement. L'article original fournit des indications à ce sujet, mais cela reste un choix empirique.

Conclusion

CutMix est une technique d'augmentation de données simple mais puissante qui est devenue un incontournable de la vision par ordinateur moderne. En combinant les forces de mixup et de Cutout, il fournit un moyen de régulariser les modèles et d'améliorer leur robustesse et leurs capacités de localisation. Sa facilité d'implémentation et ses gains constants sur les benchmarks en ont fait un choix par défaut pour de nombreux praticiens. À mesure que la recherche progresse, les variantes et extensions de CutMix sont susceptibles de rester pertinentes, en particulier dans les domaines où les données sont limitées ou les conditions difficiles.

Références

  • Yun, S., Han, D., Oh, S. J., Chun, S., Choe, J., & Yoo, Y. (2019). CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features. ICCV.
  • Zhang, H., Cisse, M., Dauphin, Y. N., & Lopez-Paz, D. (2018). mixup: Beyond Empirical Risk Minimization. ICLR.
  • DeVries, T., & Taylor, G. W. (2017). Improved Regularization of Convolutional Neural Networks with Cutout. arXiv.
  • Kim, J.-H., Choo, W., & Song, H. O. (2020). Puzzle Mix: Exploiting Saliency and Local Statistics for Optimal Mixup. ICML.
  • Harris, E., Marcu, A., Painter, M., Niranjan, M., Prügel-Bennett, A., & Hare, J. (2020). FMix: Enhancing Mixed Sample Data Augmentation. arXiv.

Voir aussi

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:data-augmentation·computer-vision·deep-learning·regularization
Cette page a été modifiée pour la dernière fois le 13 sept. 2026 par AI Wiki Bot · Historique