Modelle neuronaler Deep-Learning-Netzwerke

Im vorherigen Abschnitt wurde gezeigt, wie Sie mit Matrixfaktorisierung Einbettungen erlernen. Zu den Einschränkungen der Matrixfaktorisierung gehören:

  • Die Schwierigkeit der Verwendung von Nebenfunktionen (d. h. aller Merkmale über die Abfrage-ID/Artikel-ID hinaus). Das Modell kann daher nur mit einem Nutzer oder Artikel abgefragt werden, der im Trainings-Dataset vorhanden ist.
  • Relevanz der Empfehlungen. Wie du im ersten Colab gesehen hast, werden beliebte Artikel tendenziell für alle empfohlen, insbesondere dann, wenn Punktprodukte als Ähnlichkeitsmesswert verwendet werden. Es ist besser, bestimmte Nutzerinteressen zu erfassen.

Mit neuronalen Deep-Learning-Netzwerkmodellen können diese Einschränkungen der Matrixfaktorisierung bewältigt werden. DNNs können aufgrund der Flexibilität der Eingabeebene des Netzwerks leicht Abfrage- und Elementfeatures einbinden, um die spezifischen Interessen eines Nutzers zu erfassen und die Relevanz von Empfehlungen zu verbessern.

Softmax DNN für Empfehlung

Ein mögliches DNN-Modell ist softmax, das das Problem als mehrklassiges Vorhersageproblem behandelt, in dem:

  • Die Eingabe ist die Nutzerabfrage.
  • Die Ausgabe ist ein Wahrscheinlichkeitsvektor, dessen Größe der Anzahl der Elemente im Korpus entspricht. Sie stellt die Wahrscheinlichkeit dar, mit der ein Element interagiert wird. Beispiel: die Wahrscheinlichkeit, dass ein YouTube-Video angeklickt oder angesehen wird.

Eingabe

Die Eingabe in einen DNN kann Folgendes umfassen:

  • Dichte Funktionen (z. B. Wiedergabezeit und Zeit seit der letzten Uhr)
  • Geringe Merkmale (z. B. Wiedergabeverlauf und Land)

Im Gegensatz zum Matrixfaktorisierungsansatz können Sie Seitenelemente wie Alter oder Land hinzufügen. Der Eingabevektor wird durch x gekennzeichnet.

Bild, das die Eingabeebene in einem weichen neuronalen Deep-Learning-Netzwerk markiert
Abbildung 1. Die Eingabeebene, x.

Modellarchitektur

Die Modellarchitektur bestimmt die Komplexität und Ausdruckskraft des Modells. Durch das Hinzufügen von verborgenen Ebenen und nicht linearen Aktivierungsfunktionen (z. B. ReLU) kann das Modell komplexere Beziehungen in den Daten erfassen. Allerdings wird durch das Erhöhen der Anzahl der Parameter auch das Modell schwieriger zu trainieren und teurer zu bedienen. Die Ausgabe der letzten ausgeblendeten Ebene wird mit \(\psi (x) \in \mathbb R^d\)gekennzeichnet.

Bild, das die verborgenen Ebenen in einem weichen neuronalen Deep-Learning-Netzwerk markiert
Abbildung 2: Die Ausgabe der ausgeblendeten Ebenen, \(\psi (x)\).

Softmax-Ausgabe: Prognostizierte Verteilung der Wahrscheinlichkeit

Das Modell ordnet die Ausgabe der letzten Ebene, \(\psi (x)\), durch eine Softmax-Ebene einer Wahrscheinlichkeitsverteilung \(\hat p = h(\psi(x) V^T)\)zu, wobei:

  • \(h : \mathbb R^n \to \mathbb R^n\) ist die Softmax-Funktion, \(h(y)_i=\frac{e^{y_i}}{\sum_j e^{y_j}}\)
  • \(V \in \mathbb R^{n \times d}\) ist die Matrix der Gewichtungen der Softmax-Ebene.

Die Softmax-Ebene ordnet einen Vektor von Punktzahlen \(y \in \mathbb R^n\)(manchmal als Logits bezeichnet) einer Wahrscheinlichkeitsverteilung zu.

Bild mit einer vorhergesagten Wahrscheinlichkeitsverteilung in einem Softmax-neuronalen Netzwerk
Abbildung 3: Die vorhergesagte Wahrscheinlichkeitsverteilung \(\hat p = h(\psi(x) V^T)\).

Verlustfunktion

Definieren Sie abschließend eine Verlustfunktion, die Folgendes vergleicht:

  • \(\hat p\), die Ausgabe der Softmax-Ebene (eine Wahrscheinlichkeitsverteilung).
  • \(p\), die Ground Truth, die die Elemente darstellt, mit denen der Nutzer interagiert hat (z. B. YouTube-Videos, auf die der Nutzer geklickt oder die er angesehen hat). Dies kann als normalisierte Multi-Hot-Verteilung (Wahrscheinlichkeitsvektor) dargestellt werden.

Sie können beispielsweise den Kreuzentropieverlust verwenden, da Sie zwei Wahrscheinlichkeitsverteilungen vergleichen.

Bild, das die Verlustfunktion in einem weichen neuronalen Deep-Learning-Netzwerk zeigt
Abbildung 4: Die Verlustfunktion.

Softmax-Einbettungen

Die Wahrscheinlichkeit eines Elements \(j\) wird von\(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\)angegeben, wobei \(Z\) eine Normalisierungskonstante ist, die nicht von \(j\)abhängt.

Mit anderen Worten: \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\)Die Log-Wahrscheinlichkeit eines Elements \(j\) ist (bis zu einer additiven Konstante) das Punktprodukt zweier \(d\)-dimensionaler Vektoren, die als Abfrage- und Elementeinbettungen interpretiert werden können:

  • \(\psi(x) \in \mathbb R^d\) ist die Ausgabe der letzten ausgeblendeten Ebene. Wir nennen sie die Einbettung der Suchanfrage \(x\).
  • \(V_j \in \mathbb R^d\) ist der Vektor der Gewichtungen, der die letzte ausgeblendete Ebene mit der Ausgabe j verbindet. Wir nennen es das Einbetten des Artikels \(j\).
Bild mit Einbettungen in einem weichen neuronalen Softmax-Netzwerk
Abbildung 5. Element \(j\), \(V_j \in \mathbb R^d\) wird eingebettet

DNN- und Matrixfaktorisierung

Sowohl beim Softmax-Modell als auch beim Matrixfaktorisierungsmodell lernt das System einen Einbettungsvektor\(V_j\) pro Element \(j\). Die Matrix für die Artikeleinbettung \(V \in \mathbb R^{n \times d}\) bei der Matrixfaktorisierung ist jetzt die Matrix der Gewichtungen der Softmax-Ebene.

Die Abfrageeinbettungen unterscheiden sich jedoch. Anstatt eine Einbettung \(U_i\) pro Abfrage \(i\)zu erlernen, lernt das System von der Abfragefunktion zu einer Einbettung \(x\) eine Zuordnung \(\psi(x) \in \mathbb R^d\). Sie können sich dieses DNN-Modell daher als eine Verallgemeinerung der Matrixfaktorisierung vorstellen, bei der Sie die Abfrageseite durch eine nicht lineare Funktion ersetzen \(\psi(\cdot)\).

Können Artikelfunktionen verwendet werden?

Kann dieselbe Idee auf Artikelseite angewendet werden? Anstatt also eine Einbettung pro Element zu lernen, kann das Modell eine nicht lineare Funktion erlernen, die Elemente einer Einbettung zuordnet? Ja. Verwenden Sie dazu ein neuronales Netzwerk aus zwei Türmen, das aus zwei neuronalen Netzwerken besteht:

  • Ein neuronales Netzwerk ordnet Abfragefunktionen\(x_{\text{query}}\) zur Abfrageeinbettung zu\(\psi(x_{\text{query}}) \in \mathbb R^d\)
  • Ein neuronales Netzwerk ordnet Elementeinbettungen\(x_{\text{item}}\) der Artikeleinbettung zu\(\phi(x_{\text{item}}) \in \mathbb R^d\)

Die Ausgabe des Modells kann als das Punktprodukt von\(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\)definiert werden. Das ist kein Softmax-Modell mehr. Das neue Modell sagt einen Wert pro Paar voraus \((x_{\text{query}}, x_{\text{item}})\)anstelle eines Wahrscheinlichkeitsvektors für jede Abfrage \(x_{\text{query}}\).