Neural network 分层Softmax输出层中的单元数

Neural network 分层Softmax输出层中的单元数,neural-network,word2vec,hierarchical,softmax,Neural Network,Word2vec,Hierarchical,Softmax,在word2vec中,有三层:输入层、隐藏层和输出层 如果我们使用传统的softmax方法, 对于大小为V的语料库,输出层的单元数也将为V(一个热向量输入) 如果我们使用分层Softmax, 文章说只有V-1节点(在哈夫曼二叉树中)。 这是否意味着在这种情况下,输出层中只有V-1单元 以下是我正在阅读的参考资料: 非常感谢。实际上,word2vec分层softmax实现创建了一个输出层,其节点数与词汇表单词数完全相同。请参见原始Google word2vec.c行中的示例: 或者在gensi

在word2vec中,有三层:输入层、隐藏层和输出层

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

如果我们使用分层Softmax, 文章说只有V-1节点(在哈夫曼二叉树中)。 这是否意味着在这种情况下,输出层中只有V-1单元

以下是我正在阅读的参考资料:


非常感谢。

实际上,word2vec分层softmax实现创建了一个输出层,其节点数与词汇表单词数完全相同。请参见原始Google word2vec.c行中的示例:

或者在gensim Python实现行中:


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

但是在页面中,节点数=V-1,这与词汇表中的单词数不同?啊,是的,你说得对。因此,原始word2vec.c和gensim的实现都为HS输出权重分配了完整长度的词汇表数组。。。但不要使用最后一个插槽。因此,似乎您的问题的答案可能是,“是的,有V-1活动节点,但还有一个已分配且未使用”。您可能希望尝试更改现有代码以减少分配一个,并查看是否有任何中断,以确认此解释。我同意您的看法。谢谢你的大力帮助!:P