我想比较使用和不使用负采样训练的单词嵌入。 我用谷歌word2vec工具。 我设置参数negative = -1。我认为这意味着我们不会使用负抽样。 但是,似乎使用负= 25慢于负= -1,这让我想知道负= -1真的意味着不使用负采样吗?
任何熟悉word2vec c实现的人都可以帮到我吗? 如何使用word2vec工具训练没有负抽样的模型?
答案 0 :(得分:1)
negative=0
表示在原始的word2vec.c工具中都没有负采样,并且在它之后建模了一些东西(比如Python gensim)。
如果不使用负采样,则必须启用hierarchical-softmax,这是生成反向传播预测错误的替代方法。它由hs=1
启用。
注意负抽样是通常的默认值,通常首选大数据集/大词汇表,因为它的训练性能不会因大词汇量而变慢。