Ich habe mich bemüht, das Konzept der negativen Abtastung im Kontext von word2vec zu verstehen. Ich bin nicht in der Lage, die Idee der [negativen] Probenahme zu verdauen. Zum Beispiel wird in Mikolovs Arbeiten die negative Stichprobenerwartung wie folgt formuliert
Ich verstehe den linken Begriff , aber ich kann die Idee, negative Wort-Kontext-Paare , nicht verstehen.
machine-learning
word2vec
word-embeddings
Upendra Kumar
quelle
quelle
Antworten:
Das Thema
Es gibt einige Probleme beim Lernen der Wortvektoren unter Verwendung eines "standardmäßigen" neuronalen Netzwerks. Auf diese Weise werden die Wortvektoren gelernt, während das Netzwerk lernt, das nächste Wort in einem gegebenen Fenster von Wörtern (der Eingabe des Netzwerks) vorherzusagen .
Das nächste Wort vorherzusagen ist wie die Klasse vorherzusagen. Das heißt, ein solches Netzwerk ist nur ein "standardmäßiger" Multinomialklassifizierer (Multiklassenklassifizierer). Und dieses Netzwerk muss so viele Ausgangsneuronen haben wie Klassen. Wenn Klassen tatsächliche Wörter sind, ist die Anzahl der Neuronen sehr groß .
Ein "normales" neuronales Netzwerk wird normalerweise mit einer entropieübergreifenden Kostenfunktion trainiert, bei der die Werte der Ausgangsneuronen Wahrscheinlichkeiten darstellen müssen. Dies bedeutet, dass die vom Netzwerk für jede Klasse berechneten Ausgangs "Scores" normalisiert und in umgewandelt werden müssen tatsächliche Wahrscheinlichkeiten für jede Klasse. Dieser Normalisierungsschritt wird mittels der Softmax- Funktion erreicht. Softmax ist sehr kostspielig, wenn es auf einer riesigen Ausgabeschicht angewendet wird.
Die (a) Lösung
Um dieses Problem zu lösen, dh die teure Berechnung des Softmax, verwendet Word2Vec eine Technik, die als rauschkontrastive Schätzung bezeichnet wird. Diese Technik wurde von [A] (umformuliert von [B]) eingeführt und dann in [C], [D], [E] verwendet, um Worteinbettungen aus unbeschriftetem Text in natürlicher Sprache zu lernen.
Die Grundidee besteht darin , ein multinomiales Klassifizierungsproblem (da es sich um das Problem der Vorhersage des nächsten Wortes handelt ) in ein binäres Klassifizierungsproblem umzuwandeln . Das heißt, anstatt softmax zum Schätzen einer wahren Wahrscheinlichkeitsverteilung des Ausgangsworts zu verwenden, wird stattdessen eine binäre logistische Regression (binäre Klassifikation) verwendet.
Für jedes Trainingsmuster wird dem erweiterten (optimierten) Klassifikator ein wahres Paar (ein zentrales Wort und ein anderes Wort, das in seinem Kontext erscheint) und eine Anzahl von zufällig verfälschten Paaren (bestehend aus dem zentralen Wort und einem zufällig ausgewählten Wort aus der Tabelle) zugeführt Wortschatz). Indem der Klassifikator lernt, die wahren Paare von den verfälschten zu unterscheiden, lernt er letztendlich die Wortvektoren.k
Dies ist wichtig: Anstatt das nächste Wort vorherzusagen (die "Standard" -Trainingstechnik), sagt der optimierte Klassifikator einfach voraus, ob ein Paar von Wörtern gut oder schlecht ist .
Word2Vec passt den Prozess leicht an und nennt ihn Negativabtastung . In Word2Vec werden die Wörter für die negativen Stichproben (die für die beschädigten Paare verwendet werden) aus einer speziell entwickelten Verteilung gezogen, wodurch weniger häufige Wörter bevorzugt werden, die häufiger gezogen werden.
Verweise
[A] (2005) - Kontrastive Schätzung: Training logarithmisch-linearer Modelle auf unbeschrifteten Daten
[B] (2010) - Rauschkontrastive Schätzung: Ein neues Schätzprinzip für nicht normalisierte statistische Modelle
[C] (2008) - Eine einheitliche Architektur für die Verarbeitung natürlicher Sprachen: Tiefe neuronale Netze mit Multitask-Lernen
[D] (2012) - Ein schneller und einfacher Algorithmus zum Trainieren neuronaler probabilistischer Sprachmodelle .
[E] (2013) - Effizientes Lernen von Worteinbettungen mit rauschkontrastiver Schätzung .
Die Antwort basiert auf einigen meiner älteren Notizen - ich hoffe, sie waren korrekt :)
quelle
"in Word2Vec, the words for the negative samples (used for the corrupted pairs) are drawn from a specially designed distribution, which favours less frequent words to be drawn more often"
,. Ich frage mich, ist das richtig? Weil einige andere Quellen sagen, dass häufigere Wörter als negative Stichproben abgetastet werden.Essentially, the probability for selecting a word as a negative sample is related to its frequency, with more frequent words being more likely to be selected as negative samples.