CBoW- und Skip-Gram-Modelle
Ein grundlegendes Verständnis von neuronalen Netzwerken wird für dieses Kapitel empfohlen. Falls Sie mit dem Thema nicht vertraut sind, können Sie gerne diesen Kurs besuchen:
Sowohl die CBoW- als auch die Skip-gram-Architekturen erlernen Wort-Embeddings durch eine neuronale Netzwerkstruktur, die aus den folgenden Schichten besteht:
- einer Eingabeschicht;
- einer einzelnen versteckten Schicht;
- einer Ausgabeschicht.
Die Gewichtsmatrix zwischen Eingabe- und versteckter Schicht, bezeichnet als W1 oder E, dient als Embeddings-Matrix. Jede Zeile dieser Matrix stellt einen Embedding-Vektor für ein entsprechendes Wort dar, wobei die i-te Zeile dem i-ten Wort im Vokabular entspricht.
Diese Matrix enthält V (Vokabulargröße) Embeddings, jeweils der Größe N, einer von uns festgelegten Dimension. Die Multiplikation der Transponierten dieser Matrix (N×V Matrix) mit einem One-Hot-codierten Vektor (V×1 Vektor) ruft das Embedding für ein bestimmtes Wort ab und ergibt einen N×1 Vektor.
Die zweite Gewichtsmatrix, zwischen der versteckten und der Ausgabeschicht, hat die Größe N×V. Die Multiplikation der Transponierten dieser Matrix (eine V×N Matrix) mit dem N×1 Vektor der versteckten Schicht ergibt einen V×1 Vektor.
CBoW
Im Folgenden ein Beispiel für die Verwendung eines CBoW-Modells:
Zunächst wird das Transponierte der Embeddings-Matrix mit den One-Hot-Vektoren der Kontextwörter multipliziert, um deren Einbettungen zu erzeugen. Diese Einbettungen werden dann aufsummiert oder gemittelt, je nach Implementierung, um einen einzelnen Vektor zu bilden. Dieser Vektor wird mit der W2-Matrix multipliziert, was zu einem V×1 Vektor führt.
Abschließend durchläuft dieser Vektor die Softmax-Aktivierungsfunktion, wodurch er in eine Wahrscheinlichkeitsverteilung umgewandelt wird. Jedes Element repräsentiert dabei die Wahrscheinlichkeit, dass ein Vokabelwort das Zielwort ist.
Anschließend wird der Verlust berechnet und beide Gewichtsmatrizen werden aktualisiert, um diesen Verlust zu minimieren. Idealerweise soll die Wahrscheinlichkeit für das Zielwort nahe bei 1 liegen, während die Wahrscheinlichkeiten für alle anderen Wörter gegen Null gehen. Dieser Vorgang wird für jede Kombination eines Zielworts mit seinen Kontextwörtern wiederholt.
Sobald alle Kombinationen verarbeitet wurden, ist eine Epoche abgeschlossen. In der Regel wird das neuronale Netzwerk über mehrere Epochen trainiert, um ein genaues Lernen zu gewährleisten. Schließlich können die Zeilen der resultierenden Embedding-Matrix als unsere Wort-Embeddings verwendet werden. Jede Zeile entspricht der Vektorrepräsentation eines bestimmten Wortes im Vokabular und bildet dessen semantische Eigenschaften im trainierten Modell ab.
Skip-gram
Im Folgenden betrachten wir ein Skip-gram-Modell:
Wie ersichtlich, ist der Ablauf größtenteils ähnlich wie bei CBoW. Zunächst wird das Embedding des Zielworts abgerufen, das anschließend in der versteckten Schicht verwendet wird. Danach wird im Ausgabeschicht ein V×1-Vektor erzeugt. Dieser Vektor, der durch Multiplikation des Embeddings des Zielworts mit der Gewichtsmatrix der Ausgabeschicht entsteht, wird anschließend durch die Softmax-Aktivierungsfunktion in einen Wahrscheinlichkeitsvektor umgewandelt.
Obwohl dieser resultierende Vektor von Wahrscheinlichkeiten für alle Kontextwörter im Zusammenhang mit einem einzelnen Zielwort während eines einzelnen Trainingsschritts gleich ist, wird der Verlust für jedes Kontextwort einzeln berechnet.
Der Verlust für jedes Kontextwort wird aufsummiert, und die Gewichtsmatrizen werden bei jeder Iteration entsprechend aktualisiert, um den Gesamtverlust zu minimieren. Nach Abschluss der angegebenen Anzahl von Epochen kann die Embedding-Matrix verwendet werden, um die Wort-Embeddings zu erhalten.
In der Praxis kann die Softmax-Funktion insbesondere bei großen Vokabularen zu rechenintensiv sein. Daher werden häufig Approximationen wie Negative Sampling eingesetzt, um die Berechnung effizienter zu gestalten.
1. Füllen Sie die Lücken aus
2. Was stellt die erste Gewichtsmatrix W1 im neuronalen Netzwerk dar?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.45
CBoW- und Skip-Gram-Modelle
Swipe um das Menü anzuzeigen
Ein grundlegendes Verständnis von neuronalen Netzwerken wird für dieses Kapitel empfohlen. Falls Sie mit dem Thema nicht vertraut sind, können Sie gerne diesen Kurs besuchen:
Sowohl die CBoW- als auch die Skip-gram-Architekturen erlernen Wort-Embeddings durch eine neuronale Netzwerkstruktur, die aus den folgenden Schichten besteht:
- einer Eingabeschicht;
- einer einzelnen versteckten Schicht;
- einer Ausgabeschicht.
Die Gewichtsmatrix zwischen Eingabe- und versteckter Schicht, bezeichnet als W1 oder E, dient als Embeddings-Matrix. Jede Zeile dieser Matrix stellt einen Embedding-Vektor für ein entsprechendes Wort dar, wobei die i-te Zeile dem i-ten Wort im Vokabular entspricht.
Diese Matrix enthält V (Vokabulargröße) Embeddings, jeweils der Größe N, einer von uns festgelegten Dimension. Die Multiplikation der Transponierten dieser Matrix (N×V Matrix) mit einem One-Hot-codierten Vektor (V×1 Vektor) ruft das Embedding für ein bestimmtes Wort ab und ergibt einen N×1 Vektor.
Die zweite Gewichtsmatrix, zwischen der versteckten und der Ausgabeschicht, hat die Größe N×V. Die Multiplikation der Transponierten dieser Matrix (eine V×N Matrix) mit dem N×1 Vektor der versteckten Schicht ergibt einen V×1 Vektor.
CBoW
Im Folgenden ein Beispiel für die Verwendung eines CBoW-Modells:
Zunächst wird das Transponierte der Embeddings-Matrix mit den One-Hot-Vektoren der Kontextwörter multipliziert, um deren Einbettungen zu erzeugen. Diese Einbettungen werden dann aufsummiert oder gemittelt, je nach Implementierung, um einen einzelnen Vektor zu bilden. Dieser Vektor wird mit der W2-Matrix multipliziert, was zu einem V×1 Vektor führt.
Abschließend durchläuft dieser Vektor die Softmax-Aktivierungsfunktion, wodurch er in eine Wahrscheinlichkeitsverteilung umgewandelt wird. Jedes Element repräsentiert dabei die Wahrscheinlichkeit, dass ein Vokabelwort das Zielwort ist.
Anschließend wird der Verlust berechnet und beide Gewichtsmatrizen werden aktualisiert, um diesen Verlust zu minimieren. Idealerweise soll die Wahrscheinlichkeit für das Zielwort nahe bei 1 liegen, während die Wahrscheinlichkeiten für alle anderen Wörter gegen Null gehen. Dieser Vorgang wird für jede Kombination eines Zielworts mit seinen Kontextwörtern wiederholt.
Sobald alle Kombinationen verarbeitet wurden, ist eine Epoche abgeschlossen. In der Regel wird das neuronale Netzwerk über mehrere Epochen trainiert, um ein genaues Lernen zu gewährleisten. Schließlich können die Zeilen der resultierenden Embedding-Matrix als unsere Wort-Embeddings verwendet werden. Jede Zeile entspricht der Vektorrepräsentation eines bestimmten Wortes im Vokabular und bildet dessen semantische Eigenschaften im trainierten Modell ab.
Skip-gram
Im Folgenden betrachten wir ein Skip-gram-Modell:
Wie ersichtlich, ist der Ablauf größtenteils ähnlich wie bei CBoW. Zunächst wird das Embedding des Zielworts abgerufen, das anschließend in der versteckten Schicht verwendet wird. Danach wird im Ausgabeschicht ein V×1-Vektor erzeugt. Dieser Vektor, der durch Multiplikation des Embeddings des Zielworts mit der Gewichtsmatrix der Ausgabeschicht entsteht, wird anschließend durch die Softmax-Aktivierungsfunktion in einen Wahrscheinlichkeitsvektor umgewandelt.
Obwohl dieser resultierende Vektor von Wahrscheinlichkeiten für alle Kontextwörter im Zusammenhang mit einem einzelnen Zielwort während eines einzelnen Trainingsschritts gleich ist, wird der Verlust für jedes Kontextwort einzeln berechnet.
Der Verlust für jedes Kontextwort wird aufsummiert, und die Gewichtsmatrizen werden bei jeder Iteration entsprechend aktualisiert, um den Gesamtverlust zu minimieren. Nach Abschluss der angegebenen Anzahl von Epochen kann die Embedding-Matrix verwendet werden, um die Wort-Embeddings zu erhalten.
In der Praxis kann die Softmax-Funktion insbesondere bei großen Vokabularen zu rechenintensiv sein. Daher werden häufig Approximationen wie Negative Sampling eingesetzt, um die Berechnung effizienter zu gestalten.
1. Füllen Sie die Lücken aus
2. Was stellt die erste Gewichtsmatrix W1 im neuronalen Netzwerk dar?
Danke für Ihr Feedback!