本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【组图】技术 | 词嵌入系列博客Part2:比较语言建模中近似softmax的几种方法(7)

时间:2016-10-24 23:43来源:118论坛 作者:本港台直播 点击:
一个 NCE 的缺点就是,因为不同的噪音样本来源于对每个训练词 w 的采样,噪音样本和它们的梯度都不能在稠密矩阵中存储,这减少了在 GPU 上使用 NCE 的好

一个 NCE 的缺点就是,因为不同的噪音样本来源于对每个训练词 w 的采样,噪音样本和它们的梯度都不能在稠密矩阵中存储,这减少了在 GPU 上使用 NCE 的好处,因为它不能受益于快速稠密矩阵乘法运算。Jozefowicz 等人(2016 年)和 Zoph 等人(2016 年)独立地提出在所有训练词中共享噪音样本,从而 NCE 的梯度可以用稠密矩阵运算来计算,在 GPU 上更加高效。

NCE 和 IS 的相似性

Jozefowicz 等人(2016 年)的研究认为 NCE 和 IS 不仅都是基于采样的方法,同时也高度关联。他们发现 NCE 用一个二元分类的任务,IS 可以类似地用一个代理损失函数(也称上界损失函数,surrogate loss function)表示:IS 并不像 NCE 一样用一个 logistic 损失函数去做二元分类任务,而是优化用一个 softmax 和一个交叉熵损失函数做一个多元分类的任务。他们发现当 IS 做多元分类的任务时,它为语言建模提供了一个更好的选择,因为损失函数带来了数据和噪音样本的共同更新,而不是像 NCE 一样的独立更新。事实上,Jozefowicz 等人(2016 年)用 IS 做语言建模,并在 1B Word Benchmark 数据上却取得了优异表现(就像上文所述)。

负采样方法

Mikolov 等人(2013)发现并推广的目标——负采样(NEG),可以被看成是 NCE 的一个近似。就像我们之前所说的,NCE 可以被证明是在样本数量 k 增大后对 softmax 损失函数的近似。NCE 的简化算法 NEG 避开了这个保证,因为 NEG 的目标就是学习高质量的词表征,而不同于在测试集上获得低困惑度这一个语言建模的目标。

NEG 也用一个 logistic 损失函数来最小化训练集内的词的负对数可能性。让我们回忆一下,NCE 计算给定上下文 c 一个来自实际的训练概率分布 Ptrain 的词 w 的概率,如下:

  

码报:【j2开奖】技术 | 词嵌入系列博客Part2:比较语言建模中近似softmax的几种方法

NCE 和 NEG 的主要差别在于 NEG 只是用简化 NEG 的计算来近似这一个概率。因此,它将最昂贵的项 kQ(w) 设为 1,我们就得到:

  

码报:【j2开奖】技术 | 词嵌入系列博客Part2:比较语言建模中近似softmax的几种方法

  当 k=|V| 而且 Q 是一个均等分布时,kQ(w)=1 刚好为真。在这个情况下,NEG 等价于 NCE。我们设 kQ(w)=1 而不是其它常数的原因可以从重写这个算式来得到,因为 P(y=1|w,c) 可以变型成 sigmoid 函数

  如果我们将它插入回之前的 logistic 回归函数中,我们得到:

  

稍微简化一下,我们得到:

  

设:

  

码报:【j2开奖】技术 | 词嵌入系列博客Part2:比较语言建模中近似softmax的几种方法

  最终得到 NEG 损失函数:

  

  为了和 Mikolov 等人(2013 年)的标号统一起来,h 必须被 vwI 替换,v′wi 需被 v′wO 替换,以及 vw~ij 需被 v′wi 替换。另外,和 Mikolov 的 NEG 的目标相反,我们 a) 在整个词汇集中优化目标,b) 最小化负对数可能性而非最大正对数可能性(如上文所说),和 c) 已经把

  

  的期望替换成它的蒙特卡洛近似。对于更多推导 NEG 的信息,敬请参见 Goldberg 和 Levy 的笔记 [22]。

我们已经看到 NEG 只是在 k=|V| 而且 Q 是一个均等分布时和 NCE 相等价。在其它情况下,NEG 只是和 NCE 近似,也就是说它并没有直接优化正确词的可能性,这是语言建模的关键。虽然 NEG 可能因此对于学习词嵌入非常有用,但是它不能保证渐近一致性(asymptotic consistency),这使得它不适合语言建模。

自标准化方法

  虽然 Devlin 等人 [23] 提出的自标准化技术(self-normalisation)不是一个基于样本的方法,它为语言模型的自身标准化技术更直观,我们待会儿会介绍。我们之前提到的把 NCE 的损失函数的分母 Z(c) 设为 1,这个函数实质上自标准化了。这是一个有用的性质,因为它允许我们跳过标准化项 Z(c) 的昂贵计算。

请回忆,我们的损失函数 Jθ 最小化我们的训练数据的所有词 wi 的负对数可能性:

  

码报:【j2开奖】技术 | 词嵌入系列博客Part2:比较语言建模中近似softmax的几种方法

  我们像之前一样可以把 softmax 分解成和:

  

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容