Heim > Artikel > Technologie-Peripheriegeräte > Die Praxis kontrastiver Lernalgorithmen in Zhuanzhuan
1.2 Prinzip des kontrastiven Lernens
Wenn wir über das Prinzip von CL sprechen, müssen wir selbstüberwachtes Lernen erwähnen, Dies vermeidet die hohen Kosten der manuellen Annotation und die spärliche geringe Beschriftungsabdeckung, was das Erlernen allgemeiner Merkmalsdarstellungen erleichtert. Selbstüberwachtes Lernen kann in zwei Hauptkategorien unterteilt werden: generative Methoden und kontrastive Methoden. Der typische Vertreter der generativen Methode ist der Autoencoder, und der klassische Vertreter des kontrastiven Lernens ist SimCLR von ICLR 2020, das Merkmalsdarstellungen durch den Vergleich von (erweiterten) positiven und negativen Stichproben im Merkmalsraum lernt. Im Vergleich zu generativen Methoden besteht der Vorteil kontrastiver Methoden darin, dass sie keine Proben auf Pixelebene rekonstruieren müssen und nur die Unterscheidbarkeit im Merkmalsraum erlernen müssen, was die entsprechende Optimierung vereinfacht. Der Autor ist der Ansicht, dass sich die Wirksamkeit von CL hauptsächlich in der Differenzierbarkeit des Lernens
Elementdarstellungwiderspiegelt und das Lernen der Differenzierbarkeit auf den Konstruktionsideen positiver und negativer Stichproben sowie der spezifischen Modellstruktur beruht und Optimierungsziele.
Kombiniert mit dem Implementierungsprozess von CL,Dr. Zhang[2] Abstracts drei CL müssen Die Die beantworteten Fragen sind auch die typischen Merkmale, die es vom metrischen Lernen unterscheiden, nämlich (1) wie man positive und negative Beispiele konstruiert, das heißt, wie die Datenverbesserung implementiert wird, (2) wie man die Encoder-Mapping-Funktion erstellt, nicht nur so viel Bewahren Sie die Originalinformationen so weit wie möglich auf und verhindern Sie Kollapsprobleme. (3) So entwerfen Sie die derzeit häufig verwendete NCE-Verlustfunktion: Es ist nicht schwer zu erkennen, dass diese drei Grundfragen den drei Elementen der Modellierung entsprechen: Stichprobe, Modell und Optimierungsalgorithmus.
Aus der Verlustformel geht hervor, dass der Zählerteil betont, dass je näher der Abstand zum positiven Beispiel ist, desto besser und das S Die Funktion misst die Ähnlichkeit. Je näher der Abstand, desto größer der entsprechende S-Wert. Der Nenner betont, dass die entsprechende Unterscheidbarkeit umso besser ist, je weiter der Abstand vom negativen Beispiel entfernt ist.Unter diesen drei Grundproblemen ist die Datenverbesserung die Kerninnovation des CL-Algorithmus. Verschiedene Verbesserungsmethoden sind die grundlegende Garantie für die Wirksamkeit des Algorithmus und die Identität der wichtigsten CL-Algorithmen wird normalerweise mit Hilfe von implementiert neuronale Netze; außer NCE-Verlust. Darüber hinaus gibt es andere Verlustvarianten, wie z. B. Google[3], das einen überwachten Kontrastverlust vorschlägt.
CL ist ein Lernalgorithmus des selbstüberwachten Lernens. Wenn es um selbstüberwachtes Lernen geht, ist Bert wahrscheinlich ein unvermeidliches Thema im NLP-Bereich Bei vielen Problemen wurde ein Durchbruch erzielt. Da Selbstüberwachung im NLP erfolgreich sein kann, kann Computer Vision nicht auch erfolgreich sein. Tatsächlich stimulierte Berts Erfolg auf dem Gebiet des NLP auch direkt das Auftreten und die Entwicklung von CL im Bereich der Bilder. Angesichts der Tatsache, dass die Datenverbesserung im Bildbereich intuitiv durchgeführt werden kann, ist CL auch der erste, der Fortschritte im Bereich CV erzielt. Zu den Innovationspunkten des CL-SimCLR-Algorithmus gehören beispielsweise hauptsächlich ( 1) Erkundung der Kombination mehrerer verschiedener Datenverbesserungstechnologien. Die optimale wird ausgewählt. (2) Ein nichtlinearer Mapping-Projektor wird nach dem Encoder hinzugefügt, hauptsächlich weil die vom Encoder gelernte Vektordarstellung erweiterte Informationen enthält, während der Projektor darauf abzielt Entfernen Sie diesen Teil des Einflusses und kehren Sie zum Wesen der Daten zurück. Später implementierten Hintons Studenten SimCLR v2 auf Basis von SimCLR. Die Hauptverbesserung lag in der Netzwerkstruktur des Encoders. Sie griffen auch auf die Idee der Memory Bank zurück, die von MoCo verwendet wurde, um SOTA weiter zu verbessern.
Tatsächlich schlug Kaiming Ende 2019 einen weiteren klassischen Algorithmus für kontrastives Lernen vorMoCo[4] Die Hauptidee besteht darin, dass der Vergleich zwischen positiven und negativen Proben durchgeführt wird Eine Erhöhung der Anzahl negativer Stichproben kann die Schwierigkeit der Lernaufgabe erhöhen und somit die Modellleistung verbessern. Dies ist eine klassische Idee zur Lösung dieses Problems, kann jedoch das Problem der inkonsistenten Darstellung nicht vermeiden schlägt vor, Impulse zur Aktualisierung der Encoder-Parameter zu verwenden und so das Problem der inkonsistenten Codierung alter und neuer Kandidatenproben zu lösen. Später schlug Kaiming He MoCo v2 auf der Grundlage von MoCo vor (nachdem SimCLR vorgeschlagen wurde). Das Hauptgerüst des Modells wurde nicht geändert und Details wie die Datenverbesserungsmethode, die Encoderstruktur und die Lernrate wurden optimiert.
Kontrastives Lernen ist nicht nur eine beliebte Forschungsrichtung in der Wissenschaft in vielen Bereichen wie Bildern, Text und Multimodalität, sondern wird auch in der Industrie, vertreten durch Empfehlungssysteme, angewendet.
Google wendet CL auf das Empfehlungssystem an. Google SSL. [5] Seine Datenverbesserungstechnologie verwendet hauptsächlich die Methoden Random Feature Masking (RFM) und Corlated Feature Masking (CFM) (CFM löst das Problem, dass RFM bis zu einem gewissen Grad ungültige Varianten konstruieren kann), und dann wird CL mit den Zwillingstürmen in Form von kombiniert Ein Hilfsturm. Der Gesamtprozess ist in der folgenden Abbildung dargestellt. Während des Trainingsprozesses des Modells stammen die Elemente der Hauptaufgabe hauptsächlich aus dem Belichtungsprotokoll ist auch für die beliebten Elemente im Kopf geeignet. Um den Matthew-Effekt zu beseitigen, muss die Beispielkonstruktion in der Nebenaufgabe eine andere Verteilung als die Hauptaufgabe berücksichtigen von Zhuanzhuan, um eine vollständige Abdeckung der Modelllernergebnisse sicherzustellen.
Die Datenverbesserung ist nicht auf die Artikelseite beschränkt,Alibaba-Seq2seq
[6]wendet die Idee von CL auf das Sequenzempfehlungsproblem an, das heißt, die Benutzerverhaltenssequenz eingeben und vorhersagen Nächstes mögliches interaktives Element. Konkret wird die Datenanreicherung hauptsächlich auf die Merkmale der Benutzerverhaltenssequenzen gemäß der Zeitreihe angewendet. Als Darstellung des Benutzers wird diese nach der Datenanreicherung in die Zwillingssequenz eingespeist. Je ähnlicher die endgültigen Ausgabeergebnisse sind, desto besser. Um die vielfältigen Interessen der Benutzer explizit zu modellieren, extrahiert dieser Artikel gleichzeitig mehrere Vektoren im Encoder-Teil, anstatt sie in einen Benutzervektor zu komprimieren. Denn durch die Aufteilung von Teilsequenzen und die Konstruktion positiver und negativer Beispiele verfügen Benutzer natürlich über Vektordarstellungen mehrerer Verhaltenssequenzen. In positiven Beispielen liegt der Vektor des vorherigen Teils des historischen Verhaltens des Benutzers nahe am Vektor des letzten Teils das historische Verhalten, und im Negativbeispiel ist der Abstand zwischen verschiedenen Benutzern relativ groß, und selbst für denselben Benutzer sind die Vektordarstellungen von Produkten in verschiedenen Kategorien relativ weit entfernt. CL kann auch in Kombination mit anderen Lernparadigmen angewendet werden, Diagrammvergleichslernen
[7], der Gesamtrahmen ist in der Abbildung unten dargestellt
GCL verbessert Diagrammdaten normalerweise durch zufälliges Löschen von Punkten oder Kanten im Diagramm, während der Autor dieses Artikels es vorzieht, wichtige Strukturen und Attribute unverändert zu lassen, und Störungen an unwichtigen Kanten oder Knoten auftreten.
im Bildbereich als erfolgreich erwiesen, und es ist auch im Textbereich möglich, beispielsweise mit dem Meituan-ConSERT[8]-Algorithmus, in Experimenten an Satzsemantische Matching-Aufgaben wurden verglichen. Es ist 8 % höher als das vorherige SOTA (BERT-Flow) und kann bei einer kleinen Anzahl von Stichproben immer noch eine gute Leistungsverbesserung zeigen. Dieser Algorithmus wendet die Datenverbesserung auf die Einbettungsschicht an und verwendet die Methode der impliziten Generierung erweiterter Stichproben. Insbesondere werden vier Datenverbesserungsmethoden vorgeschlagen: Adversarial Attack, Token Shuffling, Cutoff und Dropout. Diese vier Methoden werden alle durch Anpassen der Einbettungsmatrix erhalten. Dies ist effizienter als die explizite Erweiterungsmethode.
Die Zhuanzhuan-Plattform setzt sich für die Förderung der besseren Entwicklung einer kohlenstoffarmen Kreislaufwirtschaft ein und kann alle Warenkategorien abdecken. Besonders gut hat sie in den letzten Jahren im Bereich Mobiltelefone abgeschnitten 3C. CLs Praxis im Zhuanzhuan-Empfehlungssystem wählt auch eine textbasierte Anwendungsidee. In Anbetracht der einzigartigen Eigenschaften von Gebrauchtwaren gehören zu den Problemen, die gelöst werden müssen, (1) die verwaisten Eigenschaften von Gebrauchtwaren, die den Vektor ausmachen der ID-Klasse nicht anwendbar; (2) Wie die Datenverbesserung implementiert wird; (3) Wie positive und negative Beispiele aufgebaut sind (4) Wie ist die Modellstruktur des Encoders (einschließlich Verlustdesigns)? Um diese vier Probleme anzugehen, werden wir sie in Verbindung mit dem allgemeinen Flussdiagramm unten ausführlich erläutern.
Angesichts des Problems der verwaisten Attribute von Gebrauchtprodukten verwenden wir textbasierte Vektoren als Darstellung des Produkts. Wir verwenden die Textbeschreibung der Produktsammlung (einschließlich Titel und Inhalt), trainieren das word2vec-Modell und erhalten die Vektordarstellung des Produkts durch Pooling basierend auf dem Wortvektor.
Der Auto-Encoder-Algorithmus ist eine der am häufigsten verwendeten Methoden zur Datenverbesserung im Bereich des Textvergleichslernens (darüber hinaus gibt es verschiedene Ideen wie maschinelle Übersetzung und CBERT. Wir verwenden auch den AE-Algorithmus, um das Modell zu trainieren und zu lernen). Produktvektoren und verwenden Sie den Zwischenvektor des Algorithmus als erweiterte Vektordarstellung des Produkts, und es gibt ein positives Beispiel.
Das Produktionsprinzip von Negativbeispielen besteht darin, unterschiedliche Produkte innerhalb der Charge zufällig auszuwählen. Die Grundlage für die Beurteilung ähnlicher Produkte wird basierend auf dem hinteren Klickverhalten des Benutzers berechnet. In den Recall-Ergebnissen von Empfehlungssystemen, die durch CF (Collaborative Filtering) repräsentiert werden, gelten Produktkombinationen, die durch gemeinsames Klickverhalten erinnert werden können, als ähnlich, andernfalls als unähnlich. Der Grund, warum die Verhaltensbasis zur Bestimmung der Ähnlichkeit verwendet wird, besteht einerseits darin, das Verhalten des Benutzers vorzustellen und eine organische Kombination von Text und Verhalten zu erreichen, andererseits auch darin, den Geschäftszielen so weit wie möglich zu entsprechen.
Speziell für den Encoder-Teil verwenden wir eine Doppelturmstruktur ähnlich dem Zwillingsnetzwerk. Wir speisen die Textvektoren der Proben (positiv oder positiv oder negativ), um das Klassifizierungsmodell zu trainieren. Die Türme teilen diese Netzwerkparameter und optimieren die Modellparameter durch Optimierung des Kreuzentropieverlusts. In der tatsächlichen Branche ist das Trainingsziel des Twin-Tower-Modells in den meisten Empfehlungssystemen das hintere Verhalten des Benutzers (Klicks, Sammlungen, Bestellungen usw.), und unser Trainingsziel besteht darin, ob die Proben ähnlich sind oder nicht Wir übernehmen die Form eines Zwillingsnetzwerks. Dies liegt auch daran, dass dadurch die Abdeckung der Lernergebnisse sichergestellt werden kann.
Nach den herkömmlichen Vorstellungen von CL wird der Eingabevektor des endgültigen Encoder-Teils als Vektordarstellung des Produkts extrahiert, die beim Rückruf, der groben Rangfolge und sogar der feinen Rangfolge des Empfehlungssystems weiter angewendet werden kann. Derzeit wurde das Rückrufmodul des Zhuanzhuan-Empfehlungssystems implementiert, das die Online-Bestell- und Taschenrate um mehr als 10 % erhöht hat.
Durch manuelle Auswertung und Online-AB-Experimente wurde die Wirksamkeit der erlernten Vektordarstellung von CL vollständig bestätigt. Nachdem das Rückrufmodul implementiert wurde, kann es in anderen Modulen des Empfehlungssystems verwendet werden andere Algorithmusszenarien Durch Erweiterung. Das Erlernen der Produktvektordarstellung im Vorfeld des Trainings (natürlich können Sie auch die Vektordarstellung des Benutzers erlernen) ist nur ein Anwendungspfad. CL bietet durch Datenverbesserung und -vergleich eher einen Lernrahmen Diese Idee kann natürlich in das Ranking-Modul des Empfehlungssystems eingeführt werden, da das Ranking-Problem auch als Differenzierbarkeitsproblem von Elementen verstanden werden kann.
Über den Autor
Li Guangming, leitender Algorithmusingenieur. Beteiligte sich an der Konstruktion von Algorithmussystemen für Zhuanzhuan-Suchalgorithmen, Empfehlungsalgorithmen, Benutzerporträts und andere Systeme und verfügt über praktische Anwendungen in GNN, Lernen kleiner Stichproben, vergleichendem Lernen und anderen verwandten Bereichen.
[1]SimCLR: A_Simple_Framework_for_Contrastive_Learning_of_Visual_Representations
[2]Zhang Junlin: https://www.php.cn/link/be7ecaca 534f98c4ca134e527b12d4c8
[ 3]Google: Supervised_Contrastive_Learning
[4]MoCo: Momentum_Contrast_for_Unsupervised_Visual_Representation_Learning
[5]SSL: Self-supervised_Learning_for_Large-scale_Item_Recommendations
[6]Ali-Seq2seq: Disentangled_Self-Supervision_in_Sequential_Recommenders
[7] GCL: Graph_contrastive_learning_with_adaptive_augmentation
[8]ConSERT: ConSERT:_A_Contrastive_Framework_for_Self-Supervised_Sentence_Representation_Transfer
Das obige ist der detaillierte Inhalt vonDie Praxis kontrastiver Lernalgorithmen in Zhuanzhuan. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!