赞
踩
在word2vec中最先使用的是softmax函数,由于softmax函数需要在分母上遍历每个单词,在归一化时计算成本高;而且在计算损失函数时,center word 与context word之间最大化,体现其关联性,center word 与 not context word 之间要尽可能小,才能使得maximize损失函数,负采样可以用比较简单的方法达成这个目标,提高效率。
word2vec中的负采样主要思想:训练一个真对(between center word and context word)与其他噪声对(between center word and context word)的二元逻辑回归。通过负采样,在更新隐层到输出层的权重时,只需更负采样的单词,而不用更新词汇表所有单词,这样就会降低梯度下降过程中的计算量。
什么是负采样:
在 NLP 中随机替换连贯句子中的词语、在 CV 中不同图片数据增强的样例,以及 RS 中选择用户未交互的商品,都可以看作是在进行负采样。相关的损失函数有贝叶斯个性化排序损失 (BPR, viz. Bayesian Personalized Ranking loss)、二元交叉熵损失函数 (BCE, viz. Binary Cross Entropy loss) 和对比学习中常用的 InfoNCE loss 等。
负采样具体实现方法:
使用‘一元模型分布’选择‘negative words’,即选择一个词作为正项,作为正项的概率与出现的频次相关,出现频率越高的单词就越容易被选为negative words
当使用负采样时,我们将随机选择一小部分的negative words(比如选5个negative words)来更新对应的权重。我们也会对我们的“positive” word进行权重更新。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。