Ein Überblick ĂŒber grundlegende Deep Domain-Anpassungstechniken (Teil 2)

Im ersten Teil haben wir uns mit den Methoden der DomĂ€nenanpassung durch tiefes Lernen vertraut gemacht. Wir sprachen ĂŒber die HauptdatensĂ€tze sowie ĂŒber diskrepanzbasierte und kontradiktorische nicht generative AnsĂ€tze. Diese Methoden eignen sich gut fĂŒr einige Aufgaben. Und dieses Mal werden wir die komplexesten und vielversprechendsten kontradiktorischen Methoden analysieren: generative Modelle sowie Algorithmen, die die besten Ergebnisse im VisDA-Datensatz zeigen (Anpassungen von synthetischen Daten an reale Fotos).



Generative Modelle


Grundlage dieses Ansatzes ist die FĂ€higkeit des GAN, Daten aus der erforderlichen Verteilung zu generieren. Dank dieser Eigenschaft können Sie die richtige Menge synthetischer Daten abrufen und fĂŒr Schulungen verwenden. Die Hauptidee von Methoden aus der Familie der generativen Modelle besteht darin, Daten unter Verwendung der QuelldomĂ€ne zu generieren, die den Vertretern der ZieldomĂ€ne so Ă€hnlich wie möglich ist. Somit haben die neuen synthetischen Daten die gleichen Bezeichnungen wie die Vertreter der ursprĂŒnglichen DomĂ€ne, auf deren Grundlage sie erhalten wurden. Dann wird das Modell fĂŒr die ZieldomĂ€ne einfach auf diesen generierten Daten trainiert.


Die auf der ICML-2018 eingefĂŒhrte CyCADA: Cycle-Consistent Adversarial Domain Adaptation- Methode ( Code ) ist ein reprĂ€sentatives Mitglied der Familie der generativen Modelle. Es kombiniert mehrere erfolgreiche AnsĂ€tze aus GANs und DomĂ€nenanpassung. Ein wichtiger Teil davon ist die Verwendung des Verlusts der Zykluskonsistenz , der erstmals in einem Artikel ĂŒber CycleGAN vorgestellt wurde . Die Idee des Verlusts der Zykluskonsistenz besteht darin, dass das Bild, das durch Erzeugen von der Quell- zur ZieldomĂ€ne, gefolgt von der inversen Transformation, erhalten wird, nahe am Anfangsbild liegen sollte. DarĂŒber hinaus umfasst CyCADA eine Anpassung auf Pixelebene und auf der Ebene der Vektordarstellungen sowie einen semantischen Verlust, um die Struktur im generierten Bild zu speichern.


Lass fT und fS - Netzwerke fĂŒr die Ziel- bzw. QuelldomĂ€ne XT und XS - Ziel- und QuelldomĂ€nen, YS - Markup auf der QuelldomĂ€ne, GS−>T und GT−>S - Generatoren von der Quelle zur ZieldomĂ€ne und umgekehrt, DT und DS - Diskriminatoren der Zugehörigkeit zur Ziel- bzw. QuelldomĂ€ne. Dann ist die Verlustfunktion, die in CyCADA minimiert wird, die Summe von sechs Verlustfunktionen (das Trainingsschema mit Verlustnummern ist unten dargestellt):


  1. LAufgabe(fT,GS−>T(XS),YS) - Modellklassifizierung fT auf generierte Daten und Pseudo-Labels aus der QuelldomĂ€ne.
  2. LGAN(GS−>T,DT,XT,XS) - WidersprĂŒchlicher Verlust fĂŒr das Generatortraining GS−>T .
  3. LGAN(GT−>S,DS,XS,XT) - WidersprĂŒchlicher Verlust fĂŒr das Generatortraining GT−>S .
  4. Lcyc(GS−>T,GT−>S,XS,XT) (Zykluskonsistenzverlust) - L1 -verlust, um sicherzustellen, dass Bilder von erhalten GS−>T und GT−>S wird in der NĂ€he sein.
  5. LGAN(fT,Dfeat,fS(GS−>T(XS)),XT) - WidersprĂŒchlicher Verlust fĂŒr Vektordarstellungen fT und fS auf die generierten Daten (Ă€hnlich wie in ADDA verwendet).
  6. Lsem(GS−>T,GT−>S,XS,XT,fS) (semantischer Konsistenzverlust) - L1 Verlust, verantwortlich fĂŒr die Tatsache, dass fS funktioniert Ă€hnlich wie bei Bildern von GS−>T beide von GT−>S .


CyCADA-Ergebnisse:


  • Auf einem Paar digitaler USPS-Domains -> MNIST: 95,7%.
  • Zur Aufgabe der Segmentierung GTA 5 -> Stadtlandschaften: Mittlere IoU = 39,5%.

Als Teil des Ansatzes trainieren Generate To Adapt: ​​Ausrichten von DomĂ€nen mithilfe von Generative Adversarial Networks ( Code ) einen solchen Generator G so dass am Ausgang Bilder in der NĂ€he der ursprĂŒnglichen DomĂ€ne erzeugt werden. So. G Mit dieser Option können Sie Daten aus der ZieldomĂ€ne konvertieren und den Klassifizierer, der auf die markierten Daten der QuelldomĂ€ne trainiert wurde, auf diese anwenden.


Um einen solchen Generator zu trainieren, verwenden die Autoren einen modifizierten Diskriminator D aus dem Artikel AC-GAN . Merkmal davon D liegt in der Tatsache, dass er nicht nur 1 antwortet, wenn die Eingabe aus der QuelldomÀne stammt, und 0 sonst, sondern auch im Falle einer positiven Antwort die Eingabedaten nach den Klassen der QuelldomÀne klassifiziert.


Wir bezeichnen F wie ein Faltungsnetzwerk, das eine Vektordarstellung eines Bildes erzeugt, C - Ein Klassifikator, der mit einem von abgeleiteten Vektor arbeitet F . Lern- und Inferenzalgorithmen:



Das Trainingsverfahren besteht aus mehreren Komponenten:


  • Diskriminator D lernt, die Domain fĂŒr alle empfangenen von zu bestimmen G Daten und fĂŒr die QuelldomĂ€ne wird weiterhin ein Klassifizierungsverlust hinzugefĂŒgt, wie oben beschrieben.
  • Auf Daten aus der QuelldomĂ€ne G Unter Verwendung einer Kombination aus gegnerischem Verlust und Klassifizierungsverlust wird trainiert, um ein Ergebnis zu generieren, das der QuelldomĂ€ne Ă€hnlich ist, und korrekt klassifiziert D .
  • F und C Erfahren Sie, wie Sie Daten aus der QuelldomĂ€ne klassifizieren. Auch F Mit Hilfe eines weiteren Klassifizierungsverlusts wird dieser geĂ€ndert, um die QualitĂ€t der Klassifizierung zu verbessern D .
  • Verwendung von gegnerischem Verlust F lernt "betrĂŒgen" D auf Daten aus der ZieldomĂ€ne.
  • Die Autoren kamen empirisch zu dem Schluss, dass vor der Einreichung bei G Es ist sinnvoll, einen Vektor aus zu verketten F mit normalem Rauschen und One-Hot-Class-Vektor ( K+1 fĂŒr Zieldaten).

Die Ergebnisse der Methode auf Benchmarks:


  • Auf digitalen USPS-Domains -> MNIST: 90,8%.
  • Im Office-Dataset betrĂ€gt die durchschnittliche AnpassungsqualitĂ€t fĂŒr Paare von Amazon- und Webcam-DomĂ€nen 86,5%.
  • Im VisDA-Datensatz betrĂ€gt der durchschnittliche QualitĂ€tswert fĂŒr 12 Kategorien ohne unbekannte Klasse 76,7%.

In dem Artikel Von der Quelle zum Ziel und zurĂŒck: Symmetrisches bidirektionales adaptives GAN ( Code ) wurde das SBADA-GAN-Modell vorgestellt, das CyCADA sehr Ă€hnlich ist und dessen Zielfunktion wie CyCADA aus 6 Komponenten besteht. In der Notation der Autoren Gst und Gts - Generatoren von der QuelldomĂ€ne zum Ziel und umgekehrt, Ds und Dt - Diskriminatoren, die reale Daten von den in der Quell- bzw. ZieldomĂ€ne generierten unterscheiden; Cs und Ct - Klassifizierer, die auf Daten aus der QuelldomĂ€ne und auf ihre in die ZieldomĂ€ne transformierten Versionen trainiert werden.


SBADA-GAN verwendet wie CyCADA die Idee von CycleGAN, Konsistenzverlust und Pseudo-Labels fĂŒr die in der ZieldomĂ€ne generierten Daten und setzt die Zielfunktion aus den entsprechenden Begriffen zusammen. Die Funktionen von SBADA-GAN umfassen:


  • Das Bild + Rauschen wird dem Eingang der Generatoren zugefĂŒhrt.
  • Der Test verwendet eine lineare Kombination von Vorhersagen des Zielmodells und des Quellmodells basierend auf der Transformation Gst .

SBADA-GAN-Schulungsprogramm:



Die Autoren von SBADA-GAN fĂŒhrten mehr Experimente durch als die Autoren von CyCADA und erzielten die folgenden Ergebnisse:


  • Auf USPS -> MNIST-Domains: 95,0%.
  • Auf den MNIST -> SVHN-DomĂ€nen: 61,1%.
  • Auf Verkehrszeichen Synth Signs -> GTSRB: 97,7%.

Aus der Familie der generativen Modelle ist es sinnvoll, die folgenden wichtigen Artikel zu betrachten:



Herausforderung zur Anpassung der visuellen DomÀne


Im Rahmen des Workshops veranstalten ECCV- und ICCV-Konferenzen einen Domain-Anpassungswettbewerb zur Visual Domain Adaptation Challenge . Darin werden die Teilnehmer aufgefordert, den Klassifikator auf synthetische Daten zu schulen und ihn an nicht zugewiesene Daten aus ImageNet anzupassen.


Der in Self-Ensembling fĂŒr die visuelle DomĂ€nenanpassung ( Code ) vorgestellte Algorithmus wurde in VisDA-2017 gewonnen. Diese Methode basiert auf der Idee der Selbstorganisation: Es gibt ein Lehrernetzwerk (Lehrermodell) und ein SchĂŒlernetzwerk. Bei jeder Iteration wird das Eingabebild durch diese beiden Netzwerke ausgefĂŒhrt. Der SchĂŒler wird anhand der Summe aus Klassifizierungsverlust und Konsistenzverlust trainiert, wobei Klassifizierungsverlust die ĂŒbliche Kreuzentropie mit einem bekannten Klassenlabel ist und Konsistenzverlust die durchschnittliche quadratische Differenz zwischen den Vorhersagen des Lehrers und des SchĂŒlers ist (quadratische Differenz). Die Gewichte des Lehrernetzwerks werden als exponentieller gleitender Durchschnitt der Gewichte des SchĂŒlernetzwerks berechnet. Dieses Trainingsverfahren ist unten dargestellt.



Wichtige Merkmale der Anwendung dieser Methode zur DomÀnenanpassung sind:


  • Im Trainingsstapel werden Daten aus der QuelldomĂ€ne gemischt xSi mit Klassenbezeichnungen ySi und Daten aus der ZieldomĂ€ne xTi ohne Tags.
  • Vor der Eingabe von Bildern in die neuronalen Netze werden verschiedene starke Erweiterungen angewendet: Gaußsche Rauschen, affine Transformationen usw.
  • Beide Netzwerke verwendeten starke Regularisierungsmethoden (z. B. Dropout).
  • zTi - Studentennetzwerkausgabe,  widetildezTi - Netzwerklehrer. Wenn die Eingabe von der ZieldomĂ€ne stammte, dann nur der Konsistenzverlust zwischen zTi und  widetildezTi Kreuzentropieverlust = 0.
  • FĂŒr die Nachhaltigkeit des Lernens wird die Vertrauensschwelle verwendet: Wenn die Vorhersage des Lehrers unter der Schwelle (0,9) liegt, ist der Verlust des Konsistenzverlusts = 0.

Schema des beschriebenen Verfahrens:



Bei den HauptdatensĂ€tzen erzielte der Algorithmus eine hohe Leistung. Zwar haben die Autoren fĂŒr jede Aufgabe separat eine Reihe von Erweiterungen ausgewĂ€hlt.


  • USPS -> MNIST: 99,54%.
  • MNIST -> SVHN: 97,0%.
  • Synth Numbers -> SVHN: 97,11%.
  • Auf Verkehrszeichen Synth Signs -> GTSRB: 99,37%.
  • Im VisDA-Datensatz betrĂ€gt der durchschnittliche QualitĂ€tswert fĂŒr 12 Kategorien ohne die unbekannte Klasse 92,8%. Es ist wichtig zu beachten, dass dieses Ergebnis unter Verwendung eines Ensembles von 5 Modellen und unter Verwendung der TestzeitvergrĂ¶ĂŸerung erhalten wurde.

Der VisDA-2018- Wettbewerb fand dieses Jahr im Rahmen der ECCV-2018-Konferenz statt. Diesmal fĂŒgten sie die 13. Klasse hinzu: Unbekannt, die alles bekam, was nicht in 12 Klassen fiel. DarĂŒber hinaus wurde ein separater Wettbewerb durchgefĂŒhrt, um Objekte dieser 12 Klassen zu ermitteln. In beiden Kategorien gewann das chinesische Team JD AI Research . Beim Klassifizierungswettbewerb erreichten sie ein Ergebnis von 92,3% (der durchschnittliche QualitĂ€tswert in 13 Kategorien). Es gibt keine Veröffentlichungen mit einer detaillierten Beschreibung ihrer Methode, es gibt nur eine PrĂ€sentation aus dem Workshop .


Von den Merkmalen ihres Algorithmus können festgestellt werden:


  • Verwenden von Pseudo-Labels fĂŒr Daten aus der ZieldomĂ€ne und Umschulung des Klassifikators auf diesen zusammen mit Daten aus der QuelldomĂ€ne.
  • Unter Verwendung des Faltungsnetzwerks SE-ResNeXt-101, AM-Softmax und Noise Adaption Layer, Generalisierter Kreuzentropieverlust fĂŒr Daten aus der ZieldomĂ€ne.

Algorithmusdiagramm aus der PrÀsentation:



Fazit


Zum grĂ¶ĂŸten Teil haben wir Anpassungsmethoden diskutiert, die auf dem kontradiktorischen Ansatz basieren. In den letzten beiden VisDA-Wettbewerben haben jedoch Algorithmen gewonnen, die nicht damit zusammenhĂ€ngen und die das Training auf Pseudo-Labels und Modifikationen klassischerer Deep-Learning-Methoden verwenden. Meiner Meinung nach liegt dies daran, dass auf GANs basierende Methoden erst am Anfang ihrer Entwicklung stehen und Ă€ußerst instabil sind. Aber jedes Jahr erhalten wir mehr und mehr neue Ergebnisse, die die Arbeit von GANs verbessern. DarĂŒber hinaus liegt der Schwerpunkt des Interesses der wissenschaftlichen Gemeinschaft auf dem Gebiet der DomĂ€nenanpassung hauptsĂ€chlich auf kontradiktorischen Methoden, und neue Artikel untersuchen hauptsĂ€chlich diesen Ansatz. Daher ist es wahrscheinlich, dass die mit GANs verbundenen Algorithmen bei Anpassungsproblemen allmĂ€hlich in den Vordergrund treten.


Es wird aber auch an nicht kontradiktorischen AnsÀtzen geforscht. Hier einige interessante Artikel aus diesem Bereich:



Diskrepanzbasierte Methoden können als „historisch“ klassifiziert werden, aber viele der Ideen, die in den neuesten Methoden verwendet werden: MMD, Pseudo-Labels, metrisches Lernen usw. DarĂŒber hinaus ist es manchmal bei einfachen Anpassungsproblemen sinnvoll, diese Methoden anzuwenden, da sie relativ einfach zu trainieren sind und die Ergebnisse besser interpretierbar sind.


Abschließend möchte ich festhalten, dass die Methoden der DomĂ€nenanpassung immer noch nach ihrer Anwendung in angewandten Bereichen suchen, aber es gibt allmĂ€hlich immer vielversprechendere Aufgaben, die den Einsatz von Anpassung erfordern. Beispielsweise wird die DomĂ€nenanpassung beim Training autonomer Automodule aktiv eingesetzt: Da das Sammeln realer Daten auf Stadtstraßen fĂŒr das Training von Autopiloten teuer und zeitaufwĂ€ndig ist, verwenden autonome Autos synthetische Daten (insbesondere SYNTHIA- und GTA 5-Datenbanken). um das Problem der Segmentierung dessen zu lösen, was die Kamera vom Auto „sieht“.


Das Erhalten hochwertiger Modelle, die auf einer eingehenden Schulung in Computer Vision basieren, hĂ€ngt weitgehend von der VerfĂŒgbarkeit großer beschrifteter DatensĂ€tze fĂŒr die Schulung ab. Markup erfordert fast immer viel Zeit und Geld, was den Entwicklungszyklus von Modellen und damit von darauf basierenden Produkten erheblich verlĂ€ngert.


Die Methoden der DomĂ€nenanpassung zielen auf die Lösung dieses Problems ab und können möglicherweise zu einem Durchbruch bei vielen angewandten Problemen und bei der kĂŒnstlichen Intelligenz im Allgemeinen beitragen. Der Wissenstransfer von einer DomĂ€ne in eine andere ist eine wirklich schwierige und interessante Aufgabe, die derzeit aktiv untersucht wird. Wenn Sie bei Ihren Aufgaben unter Datenmangel leiden und Daten emulieren oder Ă€hnliche DomĂ€nen finden können, empfehle ich, Methoden zur DomĂ€nenanpassung auszuprobieren!

Source: https://habr.com/ru/post/de429966/


All Articles