CutMix ist eine Datenanreicherungstechnik für das Training von neuronalen Netzen bei Bildklassifikationsaufgaben. Sie kombiniert das Ausschneiden und Einfügen von Bildausschnitten mit der von mixup eingeführten Strategie der Label-Mischung. In jeder Trainingsepoche wird ein rechteckiger Ausschnitt aus einem Trainingsbild ausgeschnitten und auf ein zweites Bild eingefügt, und das Trainingslabel wird so angepasst, dass es eine gewichtete Kombination der beiden ursprünglichen Labels darstellt, wobei das Gewicht proportional zur Fläche des eingefügten Ausschnitts ist. Dieser Ansatz ermutigt Modelle, sich auf das gesamte Objekt zu konzentrieren, anstatt sich auf Scheinkorrelationen oder Teilmerkmale zu verlassen, und es wurde gezeigt, dass er die Klassifikationsgenauigkeit, die Robustheit gegenüber Korruption und die Lokalisierungsleistung verbessert.
Die Methode wurde in einem Paper aus dem Jahr 2019 von Sangdoo Yun, Dongyoon Han, Seong Joon Oh, Sanghyuk Chun, Junsuk Choe und Youngjoon Yoo eingeführt, die mit Clova AI und der NAVER Corporation verbunden sind. Das Paper mit dem Titel „CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features“ wurde auf der 2019 IEEE/CVF International Conference on Computer Vision (ICCV) vorgestellt. Seit seiner Einführung ist CutMix zu einem Standardbestandteil der Trainingspipelines vieler modernster Bildmodelle geworden und wird oft in Verbindung mit anderen Anreicherungstechniken verwendet.
Mechanismus
Die CutMix-Operation funktioniert wie folgt. Gegeben zwei Trainingsproben \(x_A\) und \(x_B\) mit One-Hot-Labels \(y_A\) und \(y_B\), sampelt der Algorithmus zunächst eine binäre Maske \(M\), die angibt, welche Pixel aus welchem Bild übernommen werden. Die Maske wird erzeugt, indem die Koordinaten eines Begrenzungsrahmens \((r_x, r_y, r_w, r_h)\) gleichmäßig zufällig ausgewählt werden, wobei das Flächenverhältnis des Rahmens \(\lambda\) aus einer Beta-Verteilung gesampelt wird, typischerweise mit dem Parameter \(\alpha = 1\). Die neue Trainingsprobe wird gebildet, indem der Bereich außerhalb des Rahmens aus Bild A und der Bereich innerhalb des Rahmens aus Bild B übernommen wird. Das Label für die kombinierte Probe wird als \(\tilde{y} = \lambda y_A + (1 - \lambda) y_B\) berechnet, wobei \(\lambda\) der Anteil der Pixel ist, die aus Bild A beibehalten werden.
Dieser Prozess wird während des Trainings dynamisch angewendet, was bedeutet, dass jede Mini-Batch zufällig angereichert wird. Die Maske wird für jede Probe im Batch unabhängig erzeugt, was zu einer vielfältigen Menge gemischter Bilder führt. Die Position und Größe des Ausschnitts sind gleichmäßig zufällig, was sicherstellt, dass das Modell eine breite Palette von teilweisen Verdeckungen und Kombinationen sieht.
Beziehung zu anderen Anreicherungen
CutMix baut auf früheren Anreicherungsstrategien auf. Der direkteste Vorgänger ist mixup, eingeführt von Hongyi Zhang, Moustapha Cisse, Yann N. Dauphin und David Lopez-Paz im Jahr 2018, das ganze Bilder durch eine konvexe Kombination von Pixelwerten und Labels mischt. Mixup fördert lineares Verhalten zwischen Trainingsproben, kann aber unnatürliche Bilder erzeugen, die für Menschen schwer zu interpretieren sind. CutMix hingegen bewahrt das natürliche Erscheinungsbild der Bilder innerhalb jeder Region, was die angereicherten Proben semantisch kohärenter macht.
Eine weitere verwandte Technik ist Cutout, vorgeschlagen von Terrance DeVries und Graham W. Taylor im Jahr 2017, das zufällig rechteckige Regionen eines Bildes maskiert und auf Null setzt. Cutout wirkt als eine Form von Dropout auf Pixelebene und zwingt das Modell, sich auf weniger prominente Merkmale zu verlassen. CutMix kann als eine Verallgemeinerung betrachtet werden, die die mit Nullen gefüllten Regionen durch Ausschnitte aus einem anderen Bild ersetzt und so zusätzliches Überwachungssignal durch das gemischte Label bereitstellt.
Die Autoren von CutMix zeigten empirisch, dass es sowohl mixup als auch Cutout auf mehreren Benchmark-Datensätzen, einschließlich CIFAR-10, CIFAR-100 und ImageNet, übertrifft. Sie zeigten auch, dass CutMix die Fähigkeit des Modells zur Objektlokalisierung verbessert, gemessen an der Pointing-Game-Metrik, da das Modell das gesamte Objekt beachten muss, um das gemischte Bild korrekt zu klassifizieren.
Implementierungsdetails
In der Praxis wird CutMix als eine einfache Transformation implementiert, die zu jeder Trainingsschleife für Bildklassifikation hinzugefügt werden kann. Für jedes Paar von Bildern in einem Batch führt der Algorithmus Folgendes aus:
- Sampelt eine Beta-Verteilung, um das Mischverhältnis \(\lambda\) zu erhalten.
- Berechnet die Koordinaten des Begrenzungsrahmens basierend auf \(\lambda\).
- Erstellt das kombinierte Bild, indem der Ausschnitt aus Bild B in Bild A kopiert wird.
- Berechnet das gemischte Label als gewichtete Summe.
Der Rechenaufwand ist minimal, da die Operation nur Array-Slicing und Zuweisung umfasst. Dies macht CutMix einfach in bestehende Frameworks wie PyTorch oder TensorFlow zu integrieren. Es existieren viele Open-Source-Implementierungen, und die Technik wird oft mit anderen Anreicherungen wie zufälligem Zuschneiden, Spiegeln und Farb-Jitter kombiniert.
Eine praktische Überlegung ist, dass der Parameter \(\alpha\) der Beta-Verteilung die Stärke der Anreicherung steuert. Mit \(\alpha = 1\) ist die Verteilung gleichmäßig, was bedeutet, dass alle Mischverhältnisse gleich wahrscheinlich sind. Kleinere Werte von \(\alpha\) (z. B. 0,2) erzeugen extremere Mischungen, bei denen ein Bild dominiert, während größere Werte ausgewogenere Mischungen erzeugen. Das ursprüngliche Paper fand heraus, dass \(\alpha = 1\) über Datensätze hinweg gut funktioniert, aber einige Folgearbeiten haben diesen Parameter für spezifische Aufgaben abgestimmt.
Anwendungen und Erweiterungen
CutMix wurde über die Bildklassifikation hinaus angewendet. Es wurde in der Objekterkennung, semantischen Segmentierung und sogar beim Training von Transformatoren für Sehaufgaben verwendet. Die Idee des Mischens von Ausschnitten wurde auf andere Modalitäten wie Audio und Text ausgeweitet, allerdings mit Anpassungen an die diskrete Natur dieser Daten.
Es wurden mehrere Varianten vorgeschlagen. Zum Beispiel verwendet Puzzle Mix, eingeführt im Jahr 2020, eine ausgefeiltere Optimierung, um Mischmasken zu finden, die Objektgrenzen erhalten und das Schneiden durch markante Teile vermeiden. Eine andere Variante, FMix, verwendet Masken im Fourier-Bereich, um unregelmäßige Mischmuster zu erzeugen. Co-Mixup, vorgeschlagen im Jahr 2021, erweitert die Idee auf mehrere Bilder und fördert Vielfalt unter den gemischten Proben.
Im Kontext von Data Augmentation wird CutMix oft in Kombination mit anderen Techniken wie Dropout und Batch Normalization verwendet. Es hat sich gezeigt, dass es besonders effektiv ist, wenn große Modelle mit begrenzten Daten trainiert werden, da es eine Form der Regularisierung bietet, die Überanpassung reduziert.
Auswirkungen auf die Modellrobustheit
Einer der Hauptvorteile von CutMix ist die verbesserte Robustheit gegenüber Eingabekorruption und adversarialen Störungen. Durch das Training mit Bildern, die Ausschnitte aus anderen Klassen enthalten, lernt das Modell, sich auf eine breitere Palette von Merkmalen zu verlassen. Dies reduziert die Tendenz, sich an Hintergrundhinweise oder Texturmuster zu überanpassen, die in realen Szenarien möglicherweise nicht vorhanden sind.
Studien haben gezeigt, dass Modelle, die mit CutMix trainiert wurden, eine höhere Genauigkeit auf korrupten Versionen von ImageNet, wie ImageNet-C, erreichen als Modelle, die mit Standardanreicherung oder mixup allein trainiert wurden. Die Technik verbessert auch die Kalibrierung, was bedeutet, dass die vorhergesagten Wahrscheinlichkeiten des Modells besser mit der tatsächlichen Genauigkeit übereinstimmen.
Darüber hinaus wurde gezeigt, dass CutMix die Leistung von Modellen bei feinkörnigen Klassifikationsaufgaben verbessert, bei denen subtile Unterschiede zwischen Klassen wichtig sind. Die gemischten Bilder zwingen das Modell, sich auf diskriminative Teile zu konzentrieren, anstatt sich auf globale Statistiken zu verlassen.
Übernahme in der Industrie
CutMix wurde sowohl in der akademischen Forschung als auch in der Industrie weitgehend übernommen. Es ist in beliebten Deep-Learning-Bibliotheken und Frameworks enthalten, wie der timm-Bibliothek für Bildmodelle und der NVIDIA-DALI-Datenladebibliothek. Viele modernste Modelle in der ImageNet-Herausforderung und anderen Wettbewerben haben CutMix als Teil ihres Trainingsrezepts verwendet.
Unternehmen wie Google DeepMind, OpenAI und Anthropic haben CutMix in ihre Computer-Vision-Pipelines integriert, obwohl spezifische Details oft proprietär sind. Die Technik wird auch in der medizinischen Bildgebung eingesetzt, wo Daten knapp sind und Anreicherung entscheidend ist. Zum Beispiel wurde CutMix auf die Klassifikation von Röntgenaufnahmen des Brustkorbs und die Analyse von Histopathologiebildern angewendet, was eine verbesserte Generalisierung zeigt.
Einschränkungen und Überlegungen
Trotz seiner Wirksamkeit hat CutMix einige Einschränkungen. Das zufällige Ausschneiden und Einfügen kann manchmal unrealistische Bilder erzeugen, insbesondere wenn der Ausschnitt an einer semantisch inkonsistenten Stelle platziert wird. Zum Beispiel könnte das Einfügen eines Ausschnitts eines Autos auf ein Bild eines Vogels das Modell verwirren, wenn der Ausschnitt einen kritischen Teil des Vogels abdeckt. Das gemischte Label mildert dies jedoch, indem es ein weiches Ziel bereitstellt.
Eine weitere Überlegung ist, dass CutMix annimmt, dass die Eingabe ein Pixelraster ist, was nicht direkt auf andere Datentypen wie Graphen oder Punktwolken anwendbar ist. Für diese Modalitäten wurden Erweiterungen vorgeschlagen, aber sie erfordern komplexere Maskierungsstrategien.
Schließlich kann die Wahl des Parameters der Beta-Verteilung die Leistung beeinflussen. Während \(\alpha = 1\) ein guter Standardwert ist, können einige Aufgaben von einer Abstimmung profitieren. Das ursprüngliche Paper bietet Anleitungen dazu, aber es bleibt eine empirische Entscheidung.
Fazit
CutMix ist eine einfache, aber leistungsstarke Datenanreicherungstechnik, die zu einem festen Bestandteil der modernen Computer Vision geworden ist. Durch die Kombination der Stärken von mixup und Cutout bietet es eine Möglichkeit, Modelle zu regularisieren und ihre Robustheit und Lokalisierungsfähigkeiten zu verbessern. Seine einfache Implementierung und konsistente Verbesserungen über Benchmarks hinweg haben es zu einer Standardwahl für viele Praktiker gemacht. Da die Forschung weitergeht, werden Varianten und Erweiterungen von CutMix wahrscheinlich relevant bleiben, insbesondere in Bereichen mit begrenzten Daten oder herausfordernden Bedingungen.
Referenzen
- 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.
Siehe auch
- Data Augmentation
- Mixup (nicht in der Liste, aber verwandt)
- Dropout
- Residual Network (ResNet)
- Deep learning
- Machine learning