Auf der vorherigen Seite wurde erläutert, wie Sie einen Softmax-Layer in eine Deep-Learning- für ein Empfehlungssystem. Auf dieser Seite wird die Trainingsdaten für dieses System.
Trainingsdaten
Die Softmax-Trainingsdaten bestehen aus den Abfragefeatures \(x\) und Ein Vektor von Elementen, mit denen der Nutzer interagiert hat (dargestellt als Wahrscheinlichkeitsverteilung \(p\)). Diese sind blau markiert in wie in der folgenden Abbildung dargestellt. Die Variablen des Modells sind die Gewichtungen, in den verschiedenen Schichten. Diese sind im Folgenden als orange gekennzeichnet. dargestellt wird. Das Modell wird in der Regel mit einer beliebigen Variante von Gradientenabstieg.
Negative Stichproben
Da die Verlustfunktion zwei Wahrscheinlichkeitsvektoren vergleicht, \(p, \hat p(x) \in \mathbb R^n\) (die Grundwahrheit und bzw. die Ausgabe des Modells) Der Gradient des Verlusts (für eine einzelne Abfrage \(x\)) kann unerschwinglich, wenn der Korpus \(n\) zu groß ist.
Sie könnten ein System einrichten, das Gradienten nur für die positiven Elemente berechnet (Elemente, die im Ground-Truth-Vektor aktiv sind). Wenn das System nur mit positiven Paaren trainiert, kann das Modell falten, wie unten beschrieben.
Das Modell lernt möglicherweise, wie die Abfrage-/Elementeinbettungen in Relation zueinander zu setzen (die Ähnlichkeit innerhalb dieses Elements wird korrekt erfasst) Farbe). Einbettungen unterschiedlicher Farben können jedoch in dieselbe Region geleitet werden. des Einbettungsbereichs zufällig ausgewählt. Dieses bekannte Phänomen wie Falten, kann zu falschen Empfehlungen führen: Bei der Abfrage kann das Modell fälschlicherweise eine hohe Punktzahl für ein Element in einer anderen Gruppe.
Negative Beispiele sind Elemente, die als „irrelevant“ gekennzeichnet sind. auf eine bestimmte Abfrage anwenden. Wenn Sie während des Trainings negative Beispiele für das Modell zeigen, lernt das Modell, Einbettungen verschiedener Gruppen sollten voneinander weggeschoben werden.
Anstatt alle Elemente zur Berechnung des Farbverlaufs zu verwenden (was auch teuer) oder nur positive Elemente zu verwenden (was das Modell anfällig für Faltung), können Sie negative Stichproben verwenden. Genauer gesagt, berechnen Sie des ungefähren Farbverlaufs. Dabei werden die folgenden Elemente verwendet:
- Alle positiven Elemente (die im Ziellabel enthalten sind)
- Eine Stichprobe mit auszuschließenden Elementen (\(j\) in \({1, …, n}\))
Es gibt verschiedene Strategien für die Stichprobenerhebung für ausschließende Keywords:
- Sie können eine einheitliche Stichprobe verwenden.
- Du kannst die Wahrscheinlichkeit für Elemente j mit Faktor \(\psi(x) . V_j\). Das sind intuitiv Beispiele, die am meisten zum Farbverlauf beitragen); sind diese Beispiele oft sogenannte "harte Negative".
Vergleich der Matrixfaktorisierung und Softmax
DNN-Modelle lösen viele Einschränkungen der Matrixfaktorisierung, sind aber in der Regel und Abfragen sind teurer. In der folgenden Tabelle sind einige wichtige Unterschiede zwischen den beiden Modellen.
Matrix Factorization | Softmax-DNN | |
---|---|---|
Abfragefunktionen | Die Aufnahme ist nicht einfach. | Kann eingeschlossen werden. |
Kaltstart | Bewältigung von Begriffen, die nicht im Vokabular Abfragen oder Elemente. Einige Heuristiken können verwendet werden (z. B. für eine neue Abfrage, Durchschnittseinbettungen ähnlicher Suchanfragen). | Neue Anfragen lassen sich ganz einfach verarbeiten. |
Falzen | Das Aufklappen kann leicht reduziert werden indem wir die unbeobachtete Gewichtung in WALS anpassen. | Anfällig für faltbares Smartphone. Verwendung erforderlich negative Probenahme oder die Schwerkraft. |
Skalierbarkeit des Trainings | Einfach skalierbar bis sehr groß Korpora (vielleicht mehrere Hundert Millionen Elemente oder mehr), aber nur, wenn der ist die Eingabematrix dünnbesetzt. | Schwere Skalierung auf sehr große Größen Korpora. Einige Techniken, wie z. B. das Hashing, negative Stichprobenerhebung usw. |
Skalierbarkeit der Bereitstellung | Die Einbettungen U, V sind statisch, und eine Reihe von Kandidaten kann im Voraus berechnet und gespeichert werden. | Elementeinbettungen V sind statisch
und gespeichert werden können.
Die Abfrageeinbettung muss zum Zeitpunkt der Abfrage berechnet werden, wodurch das Modell bereitstellen. |
Zusammenfassung:
- Die Matrixfaktorisierung ist normalerweise die bessere Wahl für große Korpora. Sie ist einfacher zu skalieren, kostengünstiger in der Abfrage und weniger anfällig für Faltung.
- DNN-Modelle können personalisierte Präferenzen besser erfassen, sind aber schwieriger zu trainieren und teurer Abfragen zu erstellen. DNN-Modelle sind zu bevorzugen. Matrixfaktorisierung für die Bewertung, da DNN-Modelle mehr Funktionen, um die Relevanz besser zu erfassen. Außerdem ist es normalerweise DNN-Modelle können zusammengefügt werden, da Ihnen eine Reihe von vorgefilterten Kandidaten einsortiert, die vermutlich als relevant eingestuft werden.