如何从 Word2Vec 获取所有权重更新

How to get all the weight updates from Word2Vec

我不仅对最终的 W0 和 W1(也称为 W 和 W')感兴趣,而且对这两个矩阵在学习过程中的所有变化感兴趣。

目前,我使用的是 gensim 实现,但与 sklearn 相比,gensim 的 API 在我看来组织得不是很好。因此,如果需要,我愿意转向 tf,因为访问这些值将是 possible/easier.

我知道我可以破解主要代码;我的问题是是否已经有 function/variable 了。

没有特定的 API 用于查看个别训练示例更新或训练中的临时权重。

但是正如您的直觉,与其调用 train() 一次,让它 运行 所有时期和所有学习率更新(如建议的那样),您可以将其称为一个时期一次,为它提供正确的增量 start_alphaend_alpha 自己每次调用,并在调用之间查看词向量(又名 "projection weights")和隐藏到输出的权重( syn1neg 用于默认负采样,或 syn1 用于 hierarchical-softmax)。

如果您需要更精细的报告,您需要修改源代码以添加您需要的额外 logging/callouts/etc。