噪声对比估计

说到噪声对比估计,或者“负采样”,大家可能立马就想到了Word2Vec。事实上,它的含义远不止于此,噪音对比估计(NCE, Noise Contrastive Estimation)是一个迂回但却异常精美的技巧,它使得我们在没法直接完成归一化因子(也叫配分函数)的计算时,就能够去估算出概率分布的参数。本文就让我们来欣赏一下NCE的曲径通幽般的美妙。

指数族分布

在很多问题中都会出现指数族分布,即对于某个变量x的概率p(x),我们将其写成

其中G(x)是x的某个“能量”函数,而

则是归一化常数,也叫配分函数。这种分布也称为“玻尔兹曼分布”。

在机器学习中,指数族分布的主要来源有两个。第一个来源是softmax:我们做分类预测时,通常最后都会将全连接层的结果用softmax激活,这就是一个离散的、有限个点的玻尔兹曼分布了;第二个则是来源于最大熵原理:当我们引入某个特征并且已经能估算出特征的期望时,最大熵模型告诉我们其分布应该是特征的指数形式。

总的来说,指数族分布是非常实用的一类分布,不论是机器学习、数学还是物理领域,都能够碰见它。然而,它却有一个比较大的问题:不容易算,准确来说是配分函数不容易算。

具体来说,不好算的原因可能有两个。一个是计算量太大,比如语言模型(包括Word2Vec)的场景,因为要通过上下文来预测当前词的分布情况,这就需要对几十万甚至几百万项(取决于词表大小)进行求和来算归一化因子,这种情况下不是不能算,而是计算量大到难以承受了;另一种情况是根本算不出来:

NCE

NCE的思想很简单,它希望我们将真实的样本和一批“噪声样本”进行对比,从中发现真实样本的规律出来。

具体来说,能量还是原来的能量G(x;θ),但这时候我们不直接算概率p(x)了,因为归一化因子很难算。我们去算

这里的θ还是原来的待优化参数,而γ则是新引入的要优化的参数。

然后,NCE的损失函数变为

其中p~(x)是真实样本,U(x)是某个“均匀”分布或者其他的、确定的、方便采样的分布。

说白了,NCE的做法就是将它转化为二分类问题,将真实样本判为1,从另一个分布采样的样本判为0。

等价于原来分布

我们将(5)式中的loss改写为

因为p~(x)和U(x)都跟参数θ,γ没关,因此将loss改为下面的形式,不会影响优化结果

其中

(7) 式是KL散度的积分,而KL散度非负,那么当“假设的分布形式是满足的、并且充分优化”时,(7)式应该为0,从而我们有p~(y|x)=p(y|x),也就是

从中可以解得

如果U(x)取均匀分布,那么U(x)就只是一个常数,所以最终的效果表明γ−logU(x)起到了logZ的作用,而分布还是原来的分布(3),θ还是原来的θ。

这就表明了NCE就是一种间接优化(3)式的巧妙方案:看似迂回,实则结果等价,并且(5)式的计算量也大大减少,因为计算量就只取决于采样的数目了。

Word2Vec

现在我们落实到Word2Vec来分析一些事情。以Skip Gram模型为例,Word2Vec的目标是

其中ui,vj都是待优化参数,代表着上下文和中心词的两套不同的词向量空间。显然地,这里的问题就是归一化因子计算量大,其中应对方案有Huffman Softmax和负采样。这里我们不关心Huffman Softmax,只需要知道它就是原来标准Softmax的一种近似就行了。我们来看负采样的,Word2Vec将优化目标变为了:

这个式子看着有点眼花,总之它就是表达了“语料出现的Skip Gram视为正样本,随机采样的词作为负样本”的意思。

首先最明显的是,(12)式相比(4),(5)式,少引入了γ这个训练参数,或者就是说默认了γ=0,这允许吗?据说确实有人做过对比实验,结果显示训练出来的γ确实在0上下浮动,因此这个默认操作基本上是合理的。

其次,对于负样本,Word2Vec可不是“均匀地采样每一个词”,而是按照每个词本身的总词频来采样的。这样一来,(10)式就变成了

也就是说,最终的拟合效果是

大家可以看到,左边就是两个词的互信息!本来我们的拟合目标是两个词的内积等于条件概率p~(wj|wi)(的对数),现在经过负采样的Word2Vec,两个词的内积就是两个词的互信息。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,099评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,828评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,540评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,848评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,971评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,132评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,193评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,934评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,376评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,687评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,846评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,537评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,175评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,887评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,134评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,674评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,741评论 2 351

推荐阅读更多精彩内容