Frage zu Continuous Bag of Words

11

Ich habe Probleme, diesen Satz zu verstehen:

Die erste vorgeschlagene Architektur ähnelt der Feedforward-NNLM, bei der die nichtlineare verborgene Schicht entfernt und die Projektionsschicht für alle Wörter (nicht nur für die Projektionsmatrix) gemeinsam genutzt wird. Somit werden alle Wörter an dieselbe Position projiziert (ihre Vektoren werden gemittelt).

Was ist die Projektionsschicht gegenüber der Projektionsmatrix? Was bedeutet es zu sagen, dass alle Wörter in dieselbe Position projiziert werden? Und warum bedeutet das, dass ihre Vektoren gemittelt werden?

Der Satz ist der erste von Abschnitt 3.1 der Effizienten Schätzung von Wortrepräsentationen im Vektorraum (Mikolov et al. 2013) .

user70394
quelle

Antworten:

6

Abbildung 1 verdeutlicht die Dinge ein wenig. Alle Wortvektoren aus einem Fenster einer bestimmten Größe werden summiert, das Ergebnis wird mit (1 / Fenstergröße) multipliziert und dann in die Ausgabeschicht eingespeist.

Projektionsmatrix bedeutet eine ganze Nachschlagetabelle, in der jedes Wort einem einzelnen reellen Vektor entspricht. Die Projektionsebene ist effektiv ein Prozess, der ein Wort (Wortindex) nimmt und den entsprechenden Vektor zurückgibt. Man kann sie entweder verketten (Eingabe der Größe k * n erhalten, wobei k die Fenstergröße und n die Vektorlänge ist) oder wie im CBOW-Modell einfach alle summieren (Eingabe der Größe n erhalten).

Geben Sie hier die Bildbeschreibung ein

Denis Tarasov
quelle
Zunächst einmal vielen Dank für Ihre Antwort. Ich bin immer noch ein wenig verwirrt über die Unterscheidung zwischen Projektionsmatrix und Projektionsschicht. Sie scheinen gleich zu sein.
user70394
@ user70394 Ja, tatsächlich finde ich die Terminologie etwas verwirrend. Grundsätzlich ist jede NN-Schicht eine Funktion, die Eingaben auf Ausgaben abbildet. Die Projektionsebene verwendet dazu Gewichte aus der Projektionsmatrix, ist jedoch nicht die Matrix selbst. Bei gleicher Matrix kann man viele verschiedene Funktionen definieren. In der Tat könnten wir im Fall von CBOW wahrscheinlich sagen, dass wir eine Projektionsschicht mit Zeitverzögerung gefolgt von einer Summationsschicht haben. Im RNNLM-Modell ist "Projektionsschicht" tatsächlich ein Teil einer wiederkehrenden verborgenen Schicht, die Gewichte der Projektionsmatrix mit wiederkehrenden Gewichten kombiniert, um Ausgaben zu berechnen.
Denis Tarasov
1

Als ich gerade um in Bezug auf CBOW Fragen und eher zufällig auf diesem, hier ist eine alternative Antwort auf Ihre (ersten) Frage ( „Was für eine Projektion ist Schicht gegen Matrix ?“), Indem am NNLM Modell suchen (Bengio et al., 2003):

Bengio et al., 2003, Abbildung 1: Neuronale Architektur: f (i, w_ {t - 1}, ···, w_ {t - n + 1}) = g (i, C (w_ {t - 1}) ), ···, C (w_ {t - n + 1})) wobei g das neuronale Netzwerk und C (i) der i-te Wortmerkmalsvektor ist.

Wenn man dies mit Mikolovs Modell (en) vergleicht (in einer alternativen Antwort auf diese Frage gezeigt), bedeutet der zitierte Satz (in der Frage), dass Mikolov die (nichtlineare!) Schicht entfernt hat, die in Bengios oben gezeigtem Modell zu sehen ist. Und Mikolovs erste (und einzige) verborgene Schicht verwendet anstelle einzelner Vektoren für jedes Wort nur einen Vektor, der die " " zusammenfasst, und dann werden diese Summen gemittelt. Dies erklärt also die letzte Frage ("Was bedeutet es, dass die Vektoren gemittelt werden?"). Die Wörter werden "in dieselbe Position projiziert", da die den einzelnen Eingabewörtern zugewiesenen Gewichte in Mikolovs Modell summiert und gemittelt werden. Daher seine ProjektionsschichttanhC(wi)verliert im Gegensatz zu Bengios erster versteckter Ebene (auch bekannt als Projektionsmatrix ) alle Positionsinformationen und beantwortet damit die zweite Frage ("Was bedeutet es, dass alle Wörter an dieselbe Position projiziert werden?"). So behielten Mikolovs Modelle die "Wortparameter" (die Eingabegewichtsmatrix) bei, entfernten die Projektionsmatrix und die Schicht und ersetzten beide durch eine "einfache" Projektionsschicht.Ctanh

Hinzufügen und "nur für die Aufzeichnung": Der wirklich aufregende Teil ist Mikolovs Ansatz zur Lösung des Teils, in dem in Bengios Bild der Ausdruck "die meisten Berechnungen hier" zu sehen ist. Bengio hat versucht, dieses Problem zu verringern, indem er in einem späteren Artikel etwas getan hat, das als hierarchischer Softmax bezeichnet wird (anstatt nur den Softmax zu verwenden) (Morin & Bengio 2005). Aber Mikolov ging mit seiner Strategie der negativen Unterabtastung noch einen Schritt weiter: Er berechnet die negative Log-Wahrscheinlichkeit aller "falschen" Wörter (oder Huffman-Codierungen, wie Bengio 2005 vorgeschlagen hat) überhaupt nicht und berechnet nur eine sehr kleine Stichprobe negativer Fälle, die bei genügend solchen Berechnungen und einer cleveren Wahrscheinlichkeitsverteilung sehr gut funktioniert. Und der zweite und noch größere Beitrag natürlich:additive "Kompositionalität" ("Mann + König = Frau +?" mit Antwortkönigin), die nur mit seinem Skip-Gram-Modell wirklich gut funktioniert und grob als Bengios Modell verstanden werden kann, das die von Mikolov vorgeschlagenen Änderungen anwendet (dh die Satz in Ihrer Frage zitiert), und dann den gesamten Prozess umkehren. Das heißt, stattdessen werden die umgebenden Wörter aus den Ausgabewörtern (die jetzt als Eingabe verwendet werden) .P(context|wt=i)

fnl
quelle