0

我正在使用分布式词袋 (DBOW),我很好奇在单个 Epoch 期间会发生什么?DBOW 是循环遍历所有文档(又名 Batch)还是循环遍历文档子集(又名 Mini-batch)?另外,对于给定的文档,DBOW 会从文本窗口中随机抽取一个词,并学习将目标词与窗口中的周围词关联起来的权重,这是否意味着 DBOW 可能不会遍历文档中的所有文本?

我已经通过 GENSIM ( https://github.com/RaRe-Technologies/gensim ) 代码来确定是否有批处理参数,但没有运气。

4

1 回答 1

0

gensim 中 PV-DBOW 训练的一个时期Doc2Vec将遍历所有文本,然后对每个文本遍历所有单词,尝试依次预测每个单词,然后立即对预测的单词进行反向传播校正。也就是说,根本没有“小批量”:每个目标词都是一个单独的预测/反向传播。

(在如何将文本组发送到工作线程方面存在一种批处理,这可能会在一定程度上改变排序,但是呈现给神经网络的每个单独的训练示例都会单独纠正,因此没有 SGD-mini - 正在进行批处理。)

每个文本的单词按顺序考虑,并且仅在以下情况下被跳过: (a) 单词出现次数少于min_count;(b) 词是非常频繁的并且通过sample参数的值被选择用于随机丢弃。因此,您通常可以将培训视为包括每个文档的所有重要单词。

于 2019-06-14T16:15:29.513 回答