Intro

In diesem Projekt geht es darum, bessere Null-Shot zu bekommen Einstufung von Bildern und Textual content unter Verwendung von CV/LLM-Modellen, ohne Zeit und Geldgeist im Coaching zu verbringen oder Modelle in Folge neu zu leiten. Es verwendet eine neuartige Technik zur Dimensionalitätsreduktion bei Einbettungen und bestimmt Klassen mit dem paarigen Vergleich des Turnierstils. Dies führte zu einer Erhöhung der Textual content-/Bildvereinbarung von 61% auf 89% für einen 50k -Datensatz über 13 Klassen.

https://github.com/doc1000/pairwise_classification

Wo Sie es verwenden werden

Die praktische Anwendung befindet sich in groß angelegter Klassensuche, bei der die Geschwindigkeit der Inferenz wichtig ist und Modellkostenausgaben ein Downside sind. Es ist auch nützlich, um Fehler in Ihrem Annotationsprozess zu finden – Fehlklassifizierungen in einer großen Datenbank.

Ergebnisse

Die gewichtete F1 -Punktzahl, in der die Vereinbarung über die Textual content- und Bildklasse verglichen wurde, stieg für ~ 50.000 Elemente in 13 Klassen von 61% auf 88%. Eine visuelle Inspektion validierte auch die Ergebnisse.

F1_score (gewichtet) Basismodell paarweise
Multiclas 0,613 0,889
Binär 0,661 0,645
Weitaus genauere Übereinstimmung zwischen Text und Bildklassifizierung mit dem paarweisen Modell
Der Zusammenhalt der Klassenanzahl wird sich auf die Arbeit mit mehreren Klassen konzentriert und verbessert sich mit dem Modell.
Hyperlinks: Foundation, Volleinbettung, Argmax auf Kosinusähnlichkeitsmodell
Recht
Bild des Autors

Methode: paarweise Vergleich der Kosinus-Ähnlichkeit von Einbettungsunterdimensionen, die durch mittlere Bewertung bestimmt werden

Ein einfacher Weg zur Vektorklassifizierung besteht darin, Bild-/Textual content -Einbettungen mit Klassenbettdings mithilfe von Cosinus -Ähnlichkeit zu vergleichen. Es ist relativ schnell und erfordert minimaler Gemeinkosten. Sie können auch ein Klassifizierungsmodell für die Einbettung (logistische Regressionen, Bäume, SVM) ausführen und die Klasse ohne weitere Einbettungen abzielen.

Mein Ansatz battle es, die Merkmalsgröße in den Einbettungen zu verringern, die feststellen, welche Merkmalsverteilungen zwischen zwei Klassen wesentlich unterschiedlich waren, und somit mit weniger Rauschen Informationen beigesteuert. Für Bewertungsfunktionen habe ich eine Varianzableitung verwendet, die zwei Verteilungen umfasst, die ich als Kreuzvarianz bezeichne (mehr unten). Ich habe dies verwendet, um wichtige Dimensionen für die Kategorie „Kleidung“ (ein-VS-The Relaxation) zu erhalten und unter Verwendung der Unterfunktionen erneut klassifiziert, die eine gewisse Verbesserung der Modellleistung zeigten. Der Sub-Characteristic-Vergleich zeigte jedoch bessere Ergebnisse beim Vergleich von Klassen paarweise (eins gegenüber einem/Kopf an Kopf). Ganz für Bilder und Textual content baute ich eine Array-weite ‚Turnierstil-Klammer mit paarweisen Vergleiche, bis eine endgültige Klasse für jedes Factor bestimmt wurde. Es ist ziemlich effizient. Ich habe dann die Vereinbarung zwischen den Textual content- und Bildklassifizierungen erzielt.

Verwenden von Cross -Varianz, kombinierte spezifische Characteristic -Auswahl und paarweise Turnierzuweisung.

Alle Bilder des Autors, sofern nicht anders in Bildunterschriften angegeben

Ich verwende eine Produktbilddatenbank, die mit vorbereiteten Clip-Einbettungen leicht verfügbar battle (danke SQID (unten zitiert. Dieser Datensatz wird unter der MIT -Lizenz veröffentlicht), Amzn (Unten zitiert. Dieser Datensatz ist unter Apache -Lizenz 2.0 lizenziert) und zielt auf die Kleidungsbilder ab, da ich diesen Effekt zum ersten Mal gesehen habe (danke DS -Crew bei Nordstrom). Der Datensatz wurde von 150K -Elementen/Bildern/Beschreibungen auf ~ 50K -Kleidungsstücke unter Verwendung von Null -Shot -Klassifizierung und dann die erweiterte Klassifizierung auf der Grundlage gezielter Unterarrays eingegrenzt.

Teststatistik: Quervarianz

Dies ist eine Methode, um zu bestimmen, wie unterschiedlich die Verteilung für zwei verschiedene Klassen ist, wenn sie auf eine einzelne Merkmal/Dimension abzielen. Es ist ein Maß für die kombinierte durchschnittliche Varianz, wenn jedes Factor beider Verteilungen in die andere Verteilung fallen gelassen wird. Es handelt sich um eine Erweiterung der Mathematik der Varianz/Standardabweichung, jedoch zwischen zwei Verteilungen (die unterschiedlich groß sind). Ich habe es noch nicht gesehen, obwohl es unter einem anderen Spitznamen aufgeführt sein kann.

Kreuzvarianz:

Ähnlich wie bei der Varianz, mit Ausnahme der Summierung beider Verteilungen und einer Differenz jedes Wertes anstelle des Mittelwerts der einzelnen Verteilung. Wenn Sie dieselbe Verteilung wie A und B eingeben, liefert es die gleichen Ergebnisse wie Varianz.

Dies vereinfacht:

Dies entspricht der alternativen Definition der Varianz (dem Mittelwert der Quadrate abzüglich des Quadrats des Mittelwerts) für eine einzige Verteilung, wenn die Verteilungen I und J gleich sind. Die Verwendung dieser Model ist massiv schneller und Speicher effizienter als der Versuch, die Arrays direkt zu übertragen. Ich werde den Beweis vorlegen und in einem anderen Artikel detaillierter eingehen. Kreuzabweichung (ς) ist die quadratische Wurzel von undefinierter.

Um Funktionen zu erzielen, verwende ich ein Verhältnis. Der Zähler ist eine Kreuzvarianz. Der Nenner ist das Produkt von IJ, wie der Nenner der Pearson -Korrelation. Dann nehme ich die Wurzel (ich könnte genauso leicht eine Kreuzvarianz verwenden, die direkter mit der Kovarianz verglichen würde, aber ich habe festgestellt, dass das Verhältnis mit Cross Dev kompakter und interpretierbarer ist).

Ich interpretiere dies als die erhöhte kombinierte Standardabweichung, wenn Sie Klassen für jedes Factor ausgetauscht haben. Eine große Zahl bedeutet, dass die Funktionsverteilung für die beiden Klassen wahrscheinlich sehr unterschiedlich ist.

Für eine Einbettungsfunktion mit niedrigem Kreuzgewinn ist der Unterschied in der Verteilung minimal. Wenn Sie einen Artikel von einer Klasse auf die andere übertragen, werden nur sehr wenige Informationen verloren. Für ein Merkmal mit hoher Kreuzverstärkung im Vergleich zu diesen beiden Klassen gibt es jedoch einen großen Unterschied in der Verteilung der Merkmalswerte… in diesem Fall sowohl in Mittelwert als auch in der Varianz. Die Characteristic mit hohem Kreuzgewinn liefert viel mehr Informationen.
Bild des Autors

Dies ist ein alternativer mittlerer Unterschied KS_test; Bayes’sche 2distische Assessments und die Entfernung von Frechet -Inception sind Alternativen. Ich magazine die Eleganz und Neuheit von Cross Var. Ich werde wahrscheinlich nachverfolgen, indem ich andere Unterscheidungsmerkmale betrachte. Ich sollte beachten, dass die Bestimmung der Verteilungsunterschiede für ein normalisiertes Merkmal mit insgesamtem Durchschnitt 0 und SD = 1 seine eigene Herausforderung ist.

Unterdimensionen: Dimensionalitätsreduzierung des Einbettungsraums zur Klassifizierung

Wenn Sie versuchen, eine zu finden besondere Benötigen Sie die gesamte Einbettung für ein Bild? Ist Farbe oder ob etwas ein Hemd oder ein Paar Hosen in einem schmalen Abschnitt der Einbettung ist? Wenn ich nach einem Hemd suche, ist es mir nicht unbedingt wichtig, ob es blau oder rot ist. Deshalb schaue ich mir nur die Dimensionen an, die ‚Hemd „definieren und die Dimensionen wegwerfen, die Farbe definieren.

Die rot hervorgehobenen Dimensionen zeigen bei der Bestimmung, ob ein Bild Kleidung enthält. Wir konzentrieren uns auf diese Dimensionen, wenn wir versuchen zu klassifizieren.
Bild des Autors

Ich nehme eine dimensionale Einbettung (n, 768) ein und verengung es auf näher an 100 Dimensionen, die für ein bestimmtes Klassenpaar tatsächlich von Bedeutung sind. Warum? Da die Kosinus -Ähnlichkeitsmetrik (Cosim) durch das Lärm der relativ unwichtigen Merkmale beeinflusst wird. Die Einbettung enthält eine enorme Menge an Informationen, von denen Sie sich in einem Klassifizierungsproblem einfach nicht interessieren. Rauschen Sie das Rauschen los und das Sign wird stärker: Cosim erhöht sich mit der Beseitigung der „unwichtigen“ Dimensionen.

Im obigen Punkt können Sie feststellen, dass die durchschnittliche Kosinusähnlichkeit mit zunehmender Mindestfunktions -Querverhältnis (entsprechend weniger Merkmalen rechts) steigt, bis sie zusammenbricht, weil es zu wenige Funktionen gibt. Ich habe ein Querverhältnis von 1,2 verwendet, um eine erhöhte Passform mit reduzierten Informationen auszugleichen.
Bild des Autors

Für paarweise Vergleiche teilen erste Elemente in Klassen unter Verwendung einer Commonplace -Cosinus -Ähnlichkeit auf, die auf die vollständige Einbettung angewendet wird. Ich schließe einige Elemente aus, die sehr niedrig an der Annahme sind, dass die Modellkenntnis für diese Elemente gering ist (Cosim -Grenze). Ich schließe auch Elemente aus, die eine geringe Differenzierung zwischen den beiden Klassen (Cosim Diff) aufweisen. Das Ergebnis sind zwei Verteilungen, auf denen wichtige Dimensionen extrahieren können, die den „wahren“ Unterschied zwischen den Klassifizierungen definieren sollten:

Die hellblauen Punkte repräsentieren Bilder, die eher Kleidung enthalten. Die dunkelblauen Punkte sind nicht kleidet. Die Pfirsichlinie, die in der Mitte hinuntergeht, ist ein Bereich der Unsicherheit und von den nächsten Schritten ausgeschlossen. In ähnlicher Weise werden die dunklen Punkte ausgeschlossen, weil das Modell nicht viel Vertrauen in die Klassifizierung hat. Unser Ziel ist es, die beiden Klassen zu isolieren, die Merkmale zu extrahieren, die sie unterscheiden, und dann feststellen, ob zwischen den Bild- und Textmodellen übereinstimmt.
Bild des Autors

Array paarweise Turnierklassifizierung

Eine globale Klassenzuweisung aus paarweisen Vergleichen herauszuholen, erfordert einige Gedanken. Sie können die angegebene Aufgabe annehmen und genau diese Klasse mit allen anderen vergleichen. Wenn die erste Aufgabe gute Fähigkeiten enthielt, sollte dies intestine funktionieren. Wenn jedoch mehrere different Klassen überlegen sind, stoßen Sie in Schwierigkeiten. Ein kartesischer Ansatz, bei dem Sie alle Vs vergleicht, würde Sie dorthin bringen, aber schnell groß werden. Ich entschied mich für eine Array-Extensive-Turnierklasse mit paarweisen Vergleiche.

Dies enthält log_2 (#Lessons) -Runden und die Gesamtzahl der Vergleiche bei Summation_round (Combo (#-Klasse in Runde)*n_items) über einige bestimmte Merkmale. Ich habe die Reihenfolge der „Groups“ in jeder Runde randomisiert, sodass die Vergleiche jedes Mal nicht gleich sind. Es hat ein Match -Up -Risiko, kommt aber schnell zu einem Gewinner. Es ist für eine Reihe von Vergleiche in jeder Runde erstellt, anstatt über Gegenstände zu iterieren.

Wertung

Schließlich habe ich den Prozess bewertet, indem ich feststellte, ob die Klassifizierung aus Textual content und Bildern übereinstimmt. Solange die Verteilung nicht stark in Richtung einer „Commonplace“ -Klasse übergewichtig ist (nicht), sollte dies eine gute Einschätzung sein, ob der Prozess echte Informationen aus den Einbettungen herauszieht.

Ich habe mir die gewichtete F1 -Punktzahl angesehen, in der die Klassen mit dem Bild mit der Textbeschreibung verglichen wurden. Die Annahme, desto besser ist die Einstufung, desto wahrscheinlicher ist die Klassifizierung. Für meinen Datensatz von ~ 50K-Bildern und Textbeschreibungen von Kleidung mit 13 Klassen stieg die Startbewertung des einfachen Vollmettierungs-Cosinus-Ähnlichkeitsmodells von 42% auf 55% für das Subfeatur-Cosim, auf 89% für das paarweise Modell mit Unterfunktionen. Eine visuelle Inspektion validierte auch die Ergebnisse. Die Binärklassifizierung battle nicht das Hauptziel-es battle größtenteils, ein Untersegment der Daten zu erhalten, um dann die Multi-Klasse-Boosting zu testen.

Basismodell paarweise
Multiclas 0,613 0,889
Binär 0,661 0,645
Die kombinierte Verwirrungsmatrix zeigt eine engere Übereinstimmung zwischen Bild und Textual content. Hinweis oberes Ende der Skalierung ist im rechten Diagramm höher und es gibt weniger Blöcke mit geteilten Zuordnungen.
Bild des Autors
In ähnlicher Weise zeigt die kombinierte Verwirrungsmatrix eine engere Übereinstimmung zwischen Bild und Textual content. Für eine bestimmte Textklasse (unten) besteht eine größere Übereinstimmung mit der Bildklasse im paarweisen Modell. Dies unterstreicht auch die Größe der Klassen basierend auf der Breite der Spalten
Bild vom Autor verwenden Code von NILS Flaschel

Letzte Gedanken…

Dies kann eine gute Methode sein, um Fehler in großen Untergruppen mit kommentierten Daten zu finden oder keine Schusskennzeichnung durchzuführen, ohne dass die zusätzliche GPU -Zeit für Feinabstimmungen und Trainingszeiten eingestellt werden. Es führt einige neuartige Bewertungen und Ansätze ein, aber der Gesamtprozess ist nicht übermäßig kompliziert oder CPU/GPU/Speicherintensiv.

Nachfolger wird es auf andere Bild-/Textdatensätze sowie an kommentierte/kategorisierte Bild- oder Textdatensätze angewendet, um festzustellen, ob die Bewertung gesteigert wird. Darüber hinaus wäre es interessant zu bestimmen, ob sich der Anstieg der Klassifizierung von Zero Shot für diesen Datensatz erheblich ändert, wenn:

  1. Andere Bewertungsmetriken werden anstelle des Querabweichungsverhältnisses verwendet
  2. Einbettungen für vollständige Merkmale werden durch gezielte Merkmale ersetzt
  3. Das paarweise Turnier wird durch einen anderen Ansatz ersetzt

Ich hoffe, Sie finden es nützlich.

Zitate

@article{reddy2022shopping,title={Procuring Queries Dataset: A Giant-Scale {ESCI} Benchmark for Bettering Product Search},creator={Chandan Ok. Reddy and Lluís Màrquez and Fran Valero and Nikhil Rao and Hugo Zaragoza and Sambaran Bandyopadhyay and Arnab Biswas and Anlu Xing and Karthik Subbian}, Jahr = {2022}, ePrint = {2206.06588}, archiveprefix = {arxiv}}

Procuring-Abfragen Bilddatensatz (SQID): Ein im Bild angereicherter Esci-Datensatz zum Erkunden Multimodales Lernen In Product Search, M. Al Ghossein, CW Chen, J. Tang

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert