我不明白在genow的doc2vec处于DBOW模式(dm=0
)的情况下,单词向量在训练过程中是如何涉及的。我知道默认情况下dbow_words=0
禁用了它。但是,当我们将dbow_words
设置为1时会发生什么?
在我对DBOW的理解中,上下文词是直接从段落向量中预测的。因此,模型的唯一参数是N
p
维段落向量以及分类器的参数。
但是有多个消息来源暗示,在DBOW模式下可以共同训练word和doc向量。例如:
那么,这是怎么做的? 任何澄清将不胜感激!
注意:对于DM,将段落向量与单词向量进行平均/串联以预测目标单词。在这种情况下,很明显单词向量与文档向量是同时训练的。并且有N*p + M*q + classifier
个参数(其中M
是词汇的大小和q
词向量空间为暗)。
答案 0 :(得分:1)
如果设置dbow_words=1
,则将跳过语法图单词矢量训练添加到训练循环中,与常规PV-DBOW训练交错。
因此,对于文本中的给定目标词,首先使用候选文档向量(单独)来尝试预测该词,然后对模型和文档向量进行反向传播调整。然后,使用一组周围的单词,以跳跃语法的形式一次使用一个单词,以尝试预测相同的目标单词-进行后续调整。
然后,文本中的下一个目标单词将获得相同的PV-DBOW加上跳跃语法处理,依此类推,依此类推。
由此产生的一些逻辑后果:
比普通PV-DBOW花费的时间更长-大约等于window
参数的因数
词向量总体上比doc向量获得更多的总体培训关注,再次达到了window
参数