我正在阅读下面的论文,遇到一些麻烦,理解了负采样的概念。
http://arxiv.org/pdf/1402.3722v1.pdf
有人可以帮忙吗?
Answers:
的想法word2vec
是使在文本中靠在一起(在彼此的上下文中)出现的单词的向量之间的相似度(点积)最大化,而使没有单词的向量的相似度最小化。在要链接的论文的等式(3)中,暂时忽略幂。你有
v_c * v_w
-------------------
sum(v_c1 * v_w)
分子基本上是单词c
(上下文)和w
(目标)单词之间的相似性。分母计算所有其他上下文c1
和目标单词的相似性w
。最大化此比率可确保在文本中看起来更靠近的单词比没有的单词具有更多相似的向量。但是,由于存在许多上下文,因此计算速度可能非常慢c1
。负采样是解决此问题的方法之一-只需c1
随机选择几个上下文即可。最终结果是,如果cat
出现在的上下文中food
,则的向量比其他几个随机选择的单词food
的向量更类似于的向量cat
(作为其点积的度量)(例如democracy
,greed
,Freddy
),而不是在语言的所有换句话说。这样可以word2vec
大大加快训练速度。
word2vec
,对于任何给定的单词,您都有一个需要与之相似的单词列表(正类),而否定的单词(与targer单词不相似的单词)是通过采样来编译的。
计算Softmax(确定哪些单词与当前目标单词相似的功能)的成本很高,因为需要对V(分母)中的所有单词求和,这通常非常大。
该怎么办?
已经提出了不同的策略来近似softmax。这些方法可以分为基于softmax的方法和基于采样的方法。基于Softmax的方法是保持softmax层完整,但修改其体系结构以提高其效率的方法(例如,分层softmax)。另一方面,基于采样的方法完全消除了softmax层,而是优化了一些近似于softmax的损失函数(它们通过将softmax的分母中的归一化与其他便宜的计算方法相近似来实现,例如否定抽样)。
Word2vec中的损失函数类似于:
可以将对数分解为:
使用一些数学公式和渐变公式(请参见6的更多详细信息),将其转换为:
如您所见,它已转换为二进制分类任务(y = 1个正类,y = 0个负类)。由于我们需要标签来执行二进制分类任务,因此将所有上下文单词c指定为真实标签(y = 1,正样本),从语料库中随机选择的k指定为错误标签(y = 0,负样本)。
请看下面的段落。假设我们的目标词是“ Word2vec ”。随着3窗口,我们的语境词是:The
,widely
,popular
,algorithm
,was
,developed
。这些上下文词被视为肯定标签。我们还需要一些否定标签。我们随机挑选一些字词从语料库(produce
,software
,Collobert
,margin-based
,probabilistic
),并把他们视为阴性样品。我们从语料库中随机抽取一些示例的技术称为负采样。
参考:
我在这里写了一篇有关负采样的教程文章。
我们为什么要使用负采样?->降低计算成本
香草Skip-Gram(SG)和Skip-Gram负采样(SGNS)的成本函数如下所示:
请注意,这T
是所有词汇的数量。等同于V
。换句话说,T
= V
。
p(w_t+j|w_t)
对于V
语料库中的所有词汇,SG中的概率分布计算如下:
V
训练Skip-Gram模型时,很容易超过一万。概率需要计算V
时间,使其计算量大。此外,分母中的归一化因子需要额外的V
计算。
另一方面,SGNS中的概率分布可通过以下公式计算:
c_pos
是正词的W_neg
词向量K
,是输出权重矩阵中所有负样本的词向量。使用SGNS,概率仅需计算K + 1
一次,K
通常在5〜20之间。此外,无需额外的迭代即可计算分母中的归一化因子。
使用SGNS,每个训练样本的权重只有一小部分被更新,而SG为每个训练样本更新了数百万个权重。
SGNS如何实现这一目标?->通过将多分类任务转换为二进制分类任务。
使用SGNS,不再可以通过预测中心词的上下文词来学习词向量。它学习从噪声分布中将实际上下文单词(正)与随机抽取的单词(负)区分开。
在现实生活中,通常不会regression
使用Gangnam-Style
,或随机词来观察pimples
。这个想法是,如果模型可以区分可能的(正)对和不太可能的(负)对,那么将学习好的单词向量。
在上图中,当前的正词-语境对是(drilling
,engineer
)。K=5
阴性样品随机抽取从噪声分布:minimized
,primary
,concerns
,led
,page
。当模型遍历训练样本时,将优化权重,以便输出正对的概率p(D=1|w,c_pos)≈1
,并输出负对的概率p(D=1|w,c_neg)≈0
。
K
为V -1
,则负采样与香草跳过图模型相同。我的理解正确吗?