In Word2vec gibt es 3 Ebenen: Eingabe, ausgeblendet und Ausgabeschicht.Anzahl der Einheiten in der Ausgabeschicht von Hierarchical Softmax
Wenn wir den traditionellen softmax-Ansatz für einen Korpus der Größe V verwenden, ist die Anzahl der Einheiten der Ausgabeschicht auch V (Ein-Hot-Vektor-Eingabe).
Wenn wir Hierarchical Softmax verwenden, der Artikel sagt, dass es nur V-1 Knoten (im Huffman-Binärbaum) gibt. Bedeutet es, dass in der Ausgabeschicht nur V-1 Einheiten enthalten sind? Hier
ist die Referenz ich bin Lesung: https://arxiv.org/pdf/1411.2738.pdf
Thank you very much.
aber in der Seite [CreateBinaryTree] (https://github.com/tmikolov/word2vec/blob/20c129af10659f7c50e86e3be406df663beff438/word2vec.c#L218), Anzahl der Knoten = V-1, die nicht mit der Nummer identisch ist von Vokabeln? –
Ah, ja, du hast Recht. Sowohl die ursprüngliche Implementierung von word2vec.c als auch die von Gensim haben ein Array voller Länge des Vokabulars für die HS-Output-Gewichte zugewiesen ... aber nicht den letzten Slot. So, es scheint, die Antwort auf Ihre Frage kann sein, "ja, es gibt V-1 aktive Knoten, aber eine mehr ist zugeteilt und ungenutzt". Sie können versuchen, den vorhandenen Code zu ändern, um eine weniger zuzuordnen, und sehen, ob etwas kaputt ist, um diese Interpretation zu bestätigen. – gojomo
Ich stimme dir zu. Danke für deine großartige Hilfe! : P –