如何解释CBOW单词嵌入



在word2vec的上下文中,据说"出现在相似上下文中的单词具有相似的单词嵌入";例如,"爱"one_answers"恨"可能有相似的嵌入,因为它们出现在上下文单词中,例如"我"one_answers"电影"。

我得到了skip gram的直觉:"爱"one_answers"恨"的嵌入都应该预测上下文单词"我"one_answers"电影",因此嵌入应该相似。然而,我无法理解CBOW:它说"我"one_answers"电影"的平均嵌入应该预测"爱"one_answers"恨";这是否必然导致"爱"one_answers"恨"的嵌入应该相似?还是我们用不同的方式解释SG和CBOW的单词嵌入?

在实践中,这一切都被CBOW中上下文的多样性所平滑——因此,适用于skip gram的直觉也应该适用于CBOW。

即使"电影"对所有上下文单词的平均向量的影响只有1/N,当该平均向量被反向传播校正为对"爱"的预测性略高时(对于单个训练示例(,对其有贡献的每个单词也会被反向传播纠正。

在所有的例子和过程中,朝着随机方向进行的校正往往会相互抵消,但任何一致的趋势——比如两个单词经常同时出现——都倾向于加强对其单词向量的类似校正,使它们相互靠近。(或者,在其他方面与单词相似的其他单词。(

Skip gram是一个简单明了的版本:强迫单词X更能预测单词Y——但预计许多其他1:1的更正都会平衡。CBOW批量执行:强制单词X^1,X^2。。。X^n都更能预测单词Y,但预计许多其他有点重叠的批次会根据需要将不同的单词拉到一起/分开。

最新更新