CBOW诉skip-gram:为什么要反转上下文和目标词?
deep-learning
nlp
tensorflow
word2vec
5
0

页面中,据说:

[...] skip-gram反转上下文和目标,并尝试从其目标词预测每个上下文词[...]

但是,查看它产生的训练数据集,X和Y对的内容似乎可以互换,因为这两对(X,Y):

(quick, brown), (brown, quick)

那么,如果最后还是同一回事,为什么还要在上下文和目标之间进行很大的区分呢?

此外,通过在word2vec上进行Udacity的深度学习课程练习 ,我想知道为什么他们似乎在这两种方法之间的差异如此之大:

跳过语法的一种替代方法是另一个称为CBOW(连续词袋)的Word2Vec模型。在CBOW模型中,不是从单词向量中预测上下文单词,而是从上下文中所有单词向量的总和来预测单词。实现并评估在text8数据集上训练的CBOW模型。

这样会不会产生相同的结果?

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

这是我对差异的过于简单和天真的理解:

众所周知, CBOW正在学习根据上下文预测单词。或者通过查看上下文来最大化目标单词的概率。碰巧这是个难得的问题。例如,考虑到yesterday was a really [...] day的背景yesterday was a really [...] day CBOW模型将告诉您,这个词很可能是“ beautiful还是“ nice 。诸如delightful之类的单词将很少受到模型的注意,因为它旨在预测最可能出现的单词。这个单词将在许多带有更频繁单词的示例中得到平滑处理。

另一方面, 跳过语法模型旨在预测上下文。有了delightful的词,它必须理解它并告诉我们,上下文是yesterday was really [...] dayyesterday was really [...] day ,或者是其他相关上下文的可能性很大。使用skip-gram ,“ delightful ”一词将不会尝试与“ beautiful ”一词竞争,而是将“ delightful+context对视为新的观察结果。

更新

感谢@ 0xF分享本文

根据米科洛夫

跳过图:适用于少量训练数据,甚至可以代表稀有单词或短语。

CBOW:训练速度比跳过语法快几倍,准确度更高

还有一个除了发现受试者在这里

在替代“ CBOW”的“跳过语法”模式下,不是平均上下文词,而是将每个词用作成对训练示例。也就是说,取代了一个CBOW示例,例如[根据平均值预测'ate'('The','cat','the','mouse')]],向网络展示了四个跳过语法示例[predict'从'The']中获取','从'cat'中预测'ate'],[从'the'中预测'ate'],[从'鼠标'中预测'ate']。 (发生相同的随机窗口缩减,因此最短单词的一半时间只是两个示例。)

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号