Hierarchical Softmax输出层中的单位数

时间:2017-07-19 07:46:33

标签: neural-network word2vec hierarchical softmax

在word2vec中,有3层:输入层,隐藏层和输出层。

如果我们使用传统的softmax方法, 对于大小为V的语料库,输出层的单位数也将是V(单热矢量输入)。

如果我们使用Hierarchical Softmax, 文章说只有V-1节点(在Huffman二叉树中)。 这是否意味着输出层中只有V-1单位?

以下是我正在阅读的参考资料: https://arxiv.org/pdf/1411.2738.pdf

非常感谢。

1 个答案:

答案 0 :(得分:1)

在实践中,word2vec hierarchical-softmax实现创建一个输出层,其节点与词汇单词一样多。例如,请参阅原始Google word2vec.c行:

https://github.com/tmikolov/word2vec/blob/20c129af10659f7c50e86e3be406df663beff438/word2vec.c#L356

或者在gensim Python实现行中:

https://github.com/RaRe-Technologies/gensim/blob/f3bf792ee1344ed17ad2836ab3c38b4210f59889/gensim/models/word2vec.py#L1171

然后,您可以看到如何在CreateBinaryTree(C)或create_binary_tree函数的输出层中为单词分配单独的霍夫曼代码和节点(“点”)。