Neuronale Deep-Learning-Netzwerkmodelle

Im vorherigen Abschnitt wurde gezeigt, wie Sie mithilfe der Matrixfaktorisierung Einbettungen lernen. Einige Einschränkungen der Matrixfaktorisierung sind:

  • Die Schwierigkeit bei der Verwendung von Nebenfunktionen (d. h. allen Funktionen, die über Abfrage-ID/Artikel-ID). Daher kann das Modell nur mit ein Nutzer oder ein Element aus dem Trainings-Dataset.
  • Relevanz der Empfehlungen. Wie Sie im ersten Video gesehen haben, Colab beliebte Artikel in der Regel für alle empfohlen werden, insbesondere wenn sie Punktprodukt als Ähnlichkeitsmaß an. Es ist besser, spezifische die Interessen der Nutzer.

DNN-Modelle (Deep Neural Network) können diese Einschränkungen von Matrixstrukturen Faktorisierung. DNNs können einfach Abfrage- und Elementfunktionen integrieren (aufgrund der Flexibilität der Eingabeschicht des Netzwerks), die spezifischen Interessen der Nutzenden zu erfassen und die Relevanz der Empfehlungen.

Softmax-DNN für Empfehlung

Ein mögliches DNN-Modell ist Softmax, behandelt, was das Problem als ein Vorhersageproblem mit mehreren Klassen behandelt, bei dem:

  • Die Eingabe ist die Nutzeranfrage.
  • Die Ausgabe ist ein Wahrscheinlichkeitsvektor mit einer Größe, die der Anzahl der Elemente im Korpus, die die Wahrscheinlichkeit darstellen, mit der für jeden Artikel zum Beispiel die Wahrscheinlichkeit, dass Nutzer YouTube-Video.

Eingabe

Die Eingabe in ein DNN kann Folgendes umfassen:

  • Dichte Funktionen (z. B. Wiedergabezeit und Zeit seit der letzten Wiedergabe)
  • Dünnbesetzte Funktionen (z. B. Wiedergabeverlauf und Land)

Anders als beim Ansatz der Matrixfaktorisierung können Sie zusätzliche Features wie Alter oder Land. Wir kennzeichnen den Eingabevektor mit x.

Bild, in dem die Eingabeebene in einem neuronalen Softmax-Deep-Learning-Netzwerk hervorgehoben ist
Abbildung 1. Die Eingabeschicht, x.

Modellarchitektur

Die Modellarchitektur bestimmt die Komplexität und Ausdrucksmöglichkeiten des Modells. Durch das Hinzufügen versteckter Ebenen und nicht linearer Aktivierungsfunktionen (z. B. ReLU) kann das Modell komplexere Beziehungen in den Daten erfassen. Sie können jedoch Eine höhere Anzahl von Parametern erschwert in der Regel auch, und teurer ist. Wir bezeichnen die Ausgabe der letzten ausgeblendeten Ebene nach \(\psi (x) \in \mathbb R^d\).

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

Softmax-Ausgabe: Prognostizierte Wahrscheinlichkeitsverteilung

Das Modell ordnet die Ausgabe der letzten Ebene, \(\psi (x)\), über einen Softmax-Wert zu. zu einer Wahrscheinlichkeitsverteilung \(\hat p = h(\psi(x) V^T)\)hinzu, wobei:

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

Die Softmax-Ebene bildet einen Vektor von Werten ab. \(y \in \mathbb R^n\) (manchmal auch als Logits) mit einer Wahrscheinlichkeitsverteilung.

Bild mit vorhergesagter Wahrscheinlichkeitsverteilung in einem neuronalen Softmax-Deep-Learning-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-Schicht (Wahrscheinlichkeitsverteilung)
  • \(p\), die Grundwahrheit, die die Elemente darstellt, die der Nutzer hat mit denen er interagiert hat (z. B. YouTube-Videos, die der Nutzer angeklickt oder angesehen hat). Dies kann als normalisierte Multi-Hot-Verteilung (eine Wahrscheinlichkeitsvektor).

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

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

Softmax-Einbettungen

Die Wahrscheinlichkeit für das Element \(j\) ist gegeben durch \(\hat p_j = \frac{\exp(\langle \psi(x), V_j\rangle)}{Z}\), Dabei ist \(Z\) eine Normalisierungskonstante, die nicht von \(j\)abhängig ist.

Mit anderen Worten: \(\log(\hat p_j) = \langle \psi(x), V_j\rangle - log(Z)\), Also ist die logarithmische Wahrscheinlichkeit eines Elements \(j\) (bis zu einer additiven Konstante) das Skalarprodukt zwei \(d\)dimensionaler Vektoren, das interpretiert werden kann als Abfrage- und Elementeinbettungen:

  • \(\psi(x) \in \mathbb R^d\) ist die Ausgabe des letzten ausgeblendeten Layers. Wir nennen sie die Einbettung der Abfrage \(x\).
  • \(V_j \in \mathbb R^d\) ist der Gewichtungsvektor, der die letzte ausgeblendete Ebene mit der Ausgabe j verbindet. Wir nennen dies die Einbettung von „item“ \(j\).
Bild mit Einbettungen in einem neuronalen Softmax-Deep-Learning-Netzwerk
Abbildung 5. Element \(j\), \(V_j \in \mathbb R^d\)
einbetten

DNN und Matrixfaktorisierung

Sowohl im Softmax-Modell als auch im Matrixfaktorisierungsmodell lernt das System einen Einbettungsvektor \(V_j\) pro Artikel \(j\). Die sogenannte Element-Einbettungsmatrix \(V \in \mathbb R^{n \times d}\) in der Matrix Faktorisierung ist nun die Gewichtungsmatrix der Softmax-Schicht.

Die Abfrageeinbettungen sind jedoch unterschiedlich. Anstatt zu lernen, Eine Einbettung \(U_i\) pro Abfrage \(i\), lernt das System eine Zuordnung von der Abfragefunktion \(x\) in eine Einbettung \(\psi(x) \in \mathbb R^d\). Daher können Sie sich dieses DNN-Modell als Generalisierung der Matrixstruktur vorstellen Faktorisierung, bei der Sie die Abfrageseite durch eine nicht lineare Funktion \(\psi(\cdot)\).

Können Sie Artikelfunktionen verwenden?

Können Sie dieselbe Idee auf die Artikelseite anwenden? Anstatt also zu lernen, einer Einbettung pro Element kann das Modell eine nicht lineare Funktion lernen, einer Einbettung hinzufügen? Ja. Setzen Sie dazu einen neuronales Netzwerk, das aus zwei neuronalen Netzwerken besteht:

  • Ein neuronales Netzwerk ordnet Abfragefeatures \(x_{\text{query}}\) zur Abfrageeinbettung \(\psi(x_{\text{query}}) \in \mathbb R^d\)
  • Kartenelementfunktionen eines neuronalen Netzwerks \(x_{\text{item}}\) zu Element-Einbettung \(\phi(x_{\text{item}}) \in \mathbb R^d\)

Die Ausgabe des Modells kann als Skalarprodukt von \(\langle \psi(x_{\text{query}}), \phi(x_{\text{item}}) \rangle\) Beachten Sie, dass dies kein Softmax-Modell mehr ist. Das neue Modell sagt ein Wert pro Paar \((x_{\text{query}}, x_{\text{item}})\) statt eines Wahrscheinlichkeitsvektors für jede Abfrage \(x_{\text{query}}\).