我正在阅读原始 word2vec 论文:http://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf
根据下式,每个词都有两个向量,一个用于预测上下文词作为中心词,另一个作为上下文词。对于前者,我们可以在每次迭代中使用梯度下降对其进行更新。但是如何更新后一个?哪个向量是最终模型中的最终向量?
我正在阅读原始 word2vec 论文:http://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf
根据下式,每个词都有两个向量,一个用于预测上下文词作为中心词,另一个作为上下文词。对于前者,我们可以在每次迭代中使用梯度下降对其进行更新。但是如何更新后一个?哪个向量是最终模型中的最终向量?
据我了解,无论使用什么架构(skip-gram/CBOW),词向量都是从相同的词向量矩阵中读取的。
正如论文第二个脚注中所建议的,同一个词(比如dog )的v_in和v'_out应该是不同的,并且在推导损失函数期间假定它们来自不同的词汇表。
实际上,单词出现在其自身上下文中的概率非常低,并且大多数实现不会保存同一个单词的两个向量表示以节省内存和效率。