【发布时间】:2018-06-28 03:44:40
【问题描述】:
为什么 skipgram 模型比 CBOW 模型花费更多时间。我用相同的参数(向量大小和窗口大小)训练模型。
【问题讨论】:
为什么 skipgram 模型比 CBOW 模型花费更多时间。我用相同的参数(向量大小和窗口大小)训练模型。
【问题讨论】:
skip-gram 方法涉及更多计算。
具体来说,考虑一个“目标词”,其上下文窗口两边各有 4 个词。
在 CBOW 中,所有 8 个邻近词的向量一起平均,然后用作算法预测神经网络的输入。网络向前运行,并检查其预测目标词的成功。然后发生反向传播:所有神经网络连接值——包括 8 个贡献的词向量——都被轻推以使预测稍微好一点。
但请注意,8 字窗口和一个目标字只需要一次前向传播和一次后向传播——以及 8 值的初始平均和最终分布—— error-correction-over-8-vectors 每个都是相对快速/简单的操作。
现在考虑使用 skip-gram。 8 个上下文窗口单词中的每一个依次作为输入单独提供给神经网络,前向检查目标词的预测效果,然后进行后向校正。尽管没有进行平均/分割,但神经网络操作的数量是原来的 8 倍。因此,更多的净计算和更多的运行时间。
请注意,通过提高最终评估的矢量质量,额外的努力/时间可能会有所回报。是否以及在多大程度上取决于您的具体目标和语料库。
【讨论】: