In welchem ​​Verhältnis steht die Zielfunktion der negativen Stichprobe (NS) zur ursprünglichen Zielfunktion in word2vec?

8

Ich habe das Standard- / berühmte word2vec- Modell gelesen und gemäß den Standardnotizen für cs224n ändert sich die Zielfunktion von:

J.ÖrichGichneinl=- -j=0,jm2muc- -m+jvc+2mlÖG(k=1|V.|exp(ukvc))

zu:

J.N.S.1=- -lÖGσ(uc- -m+jvc)- -k=1K.lÖGσ(- -ukvc)

oder

J.N.S.2=- -(Logσ(vwÖT.vwc)+ich=1K.E.ichP.(w)[Logσ(- -uwichT.vwc)]])

Ich habe mich gefragt, woher die zweite Zielfunktion kommt. Woher kommt die negative Stichprobe? Ich benötige keinen rigurischen Beweis / Ableitung, aber jede Art von Rechtfertigung wäre nett. Wow, nähert sich der zweite dem ersten an? In irgendeinem Sinne? Grob, ungefähr, intuitiv, gibt es irgendetwas, das dies rechtfertigt?

Hinweis Ich verstehe, dass es einen Geschwindigkeitsgewinn gibt. Ich bin mehr daran interessiert zu verstehen, was der Denkprozess gewesen sein könnte, um das Obige abzuleiten, während ich immer noch ungefähr die ursprüngliche Funktion optimieren oder gute Worteinbettungen haben möchte.


Meine eigenen Gedanken:

Lassen P.θ(D.=1w,c) sei die Wahrscheinlichkeit, dass ein gegebenes Paar (w,c)Wort und Kontext kamen aus den Korpusdaten. Erwägen- -J.N.S.1=Logσ(uc- -m+jvc)+k=1K.lÖGσ(- -ukvc)(dh lassen Sie uns Dinge als Maximierung der Wahrscheinlichkeiten betrachten). Es scheint, dass das Maximieren des ersten Terms zwei Wortvektoren korrekt ausgibt, die seitdem korreliert sind, um zu machen- -J.N.S.1 groß kann man den ersten Term groß machen, indem man den ersten Term nahe an 1 macht, was erreicht werden kann, indem man das innere Produkt der Vektoren groß macht.

Es scheint mir jedoch, dass der zweite Begriff uns tatsächlich motiviert, schlechte Wortdarstellungen zurückzugewinnen . Schauen wir uns an, was der zweite Begriff ist:

Logσ(- -ukein Kontextvcenter)=Log(1- -σ(ukein Kontextvcenter))

wir können den obigen Begriff erhöhen, indem wir machen 1- -σ(ukein Kontextvcenter) groß, was bedeutet, dass wir machen σ(ukein Kontextvcenter)klein (nahe Null "Wahrscheinlichkeit"). Dies bedeutet, dass wir ein sehr negatives Argument für das Sigmoid wollen. Was bedeutet, dass wir Vektoren erhalten, die ein großes negatives inneres Produkt haben. Das scheint mir irgendwie falsch zu sein, denn wenn das innere Produkt Null wäre, dh die Wörter senkrecht wären, wäre das ein besseres Ziel. Warum haben sie stattdessen den anderen gewählt? Wären senkrechte Wörter nicht besser? dh wenn die Wörter nicht ähnlich und somit nicht korreliert sind, haben sie nichts miteinander zu tun und haben somit kein inneres Produkt.

Warum ist ein negatives inneres Produkt im Wesentlichen ein besseres Gefühl der Wortähnlichkeit als ein inneres Produkt, das Null ist?

Pinocchio
quelle
scheint nützlich: stackoverflow.com/questions/27860652/…
Pinocchio
1
Verwandte: stats.stackexchange.com/questions/244616 (vielleicht sogar duplizieren?)
Amöbe

Antworten:

1

Die Antwort auf die Frage, auf die @amoebasaysReinstateMonica im Kommentar zu Ihrer Frage verweist, beantwortet dies recht gut, aber ich möchte zwei Punkte ansprechen.

Um auf einen Punkt in dieser Antwort einzugehen , ist das zu minimierende Ziel nicht das negative Protokoll der Softmax-Funktion. Es wird vielmehr als eine Variante der Rauschkontrastivschätzung (NCE) definiert, die sich auf eine Menge von beschränktK.logistische Regressionen. Eine wird für die positive Stichprobe (dh das wahre Kontextwort bei gegebenem Mittelwort) und die verbleibende verwendetK.- -1 werden für die negativen Stichproben verwendet (dh das falsche / falsche Kontextwort unter Angabe des Mittelworts).

Zweitens möchten Sie ein großes negatives inneres Produkt zwischen den falschen Kontextwörtern und dem Mittelwort, weil dies impliziert, dass die Wörter maximal unterschiedlich sind. Betrachten Sie dazu die Formel für die Kosinusähnlichkeit zwischen zwei Vektorenx und y::

scÖs(x,y)=xT.y||x||2||y||2
Dies erreicht ein Minimum von -1, wenn x und y sind in entgegengesetzte Richtungen ausgerichtet und gleich 0, wenn x und ysind senkrecht. Wenn sie senkrecht sind, enthalten sie keine der gleichen Informationen, während sie, wenn sie entgegengesetzt ausgerichtet sind, entgegengesetzte Informationen enthalten. Wenn Sie sich Wortvektoren in 2D vorstellen, ist dies so, als würde man sagen, dass das Wort "hell" die Einbettung [1 0], "dunkel" die Einbettung [-1 0] und "lecker" die Einbettung [0 1] hat. In unserem einfachen Beispiel sind "hell" und "dunkel" Gegensätze. Die Vorhersage, dass etwas "dunkel" ist, wenn es "hell" ist, wäre maximal falsch, da es genau das Gegenteil der beabsichtigten Information vermitteln würde. Andererseits enthält das Wort "lecker" keine Informationen darüber, ob etwas "hell" oder "dunkel" ist, so dass es senkrecht zu beiden ausgerichtet ist.

Dies ist auch ein Grund, warum Einbettungen, die aus word2vec gelernt wurden, beim analogen Denken gut funktionieren, was Summen und Unterschiede von Wortvektoren beinhaltet. Weitere Informationen zu dieser Aufgabe finden Sie im word2vec-Dokument.

Vivek Subramanian
quelle
-1

Die zu multiplizierenden Vektoren sind keine eingebetteten Vektoren der Wörter. Sie sind Die inneren Produkte bestehen aus der Einbettung von Wortvektoren und der Gewichtsmatrix / den Vektoren der Ausgabeschicht. Ziel ist es also, entweder den Kreuzentropieverlust zu minimieren. Ob die Innet-Produkte negativ oder null sind, zeigt nichts über die Wortähnlichkeit an. Das ist meine Meinung.

Tyler 傲 来 国 主
quelle