Gutmann M U, Hyvarinen A. Noise-contrastive estimation: A new estimation principle for unnormalized statistical models[C]. international conference on artificial intelligence and statistics, 2010: 297-304.
@article{gutmann2010noise-contrastive,
title={Noise-contrastive estimation: A new estimation principle for unnormalized statistical models},
author={Gutmann, Michael U and Hyvarinen, Aapo},
pages={297--304},
year={2010}}
概
在处理参数化概率密度的时候, 往往需要处理配分函数, 即
\[p(x;\theta)=\frac{f(x;\theta)}{Z(\theta)},
\]
\(Z(\theta)\)是和参数\(\theta\)有关的.
继续往下走, 一般估计参数, 最普通的就是极大似然估计, 即
\[\max_{\theta} \sum_{i=1}^N \log f(x_i;\theta)-N\log Z(\theta),
\]
当\(Z(\theta)\)有显示表达式的时候, 上面的玩意儿还能弄, 故一般情况下, 这种估计方法就不是很合适了, 本文另辟蹊径, 引入了负采样来应对这一问题.
主要内容
这里, 我们用\(p(x)=p(x;\theta^*)\)来表示样本数据\(x\)的真实的分布. 令\(x\)采样自\(p(x)\)的为真实的样本(\(c=1\)), 即我们所观测到的样本, 而采样自另一个分布\(q(x)\)的为样本为伪样本(\(c=0\)), 不妨设\(P(c=0)=P(c=1)=\frac{1}{2}\), 则
\[p(x|c=1)=p(x), \quad p(x|c=0)=q(x),
\]
对应的估计为
\[p(x|c=1;\theta)=p(x;\theta).
\]
相应的后验概率为
\[P(c=1|x;\theta)=\frac{p(x;\theta)}{p(x;\theta)+q(x)},
\]
\[P(c=0|x;\theta)=\frac{q(x)}{p(x;\theta)+q(x)}.
\]
自然, 我们可以通过极大似然估计(关于随机变量\(c\))来估计参数\(\theta\):
\[\ell(\theta)=\sum_{i=1}^N c_i \log P(c=1|x;\theta)+(1-c_i)\log P(c=0|x;\theta).
\]
若我们记
\[G(x;\theta) = \log p(x;\theta)- \log q(x), \sigma(x;\theta) = \frac{1}{1+\exp[-G(x;\theta)]}.
\]
注: 逻辑斯蒂回归.
则
\[P(c=1|x;\theta)=\sigma(x;\theta), P(c=0|x;\theta)=1-\sigma(x;\theta).
\]
更一般的(通过大数定律)
\[\tag{1}
J(\theta) = \mathbb{E}_{x \sim p(x)} \log \sigma(x;\theta) + \mathbb{E}_{x\sim q(x)} \log (1-\sigma(x;\theta)).
\]
理解是很自然的, 就是我们希望参数\(\theta\)使得真实的样本与虚假的样本是尽可能可分的(逻辑斯蒂回归).
殊途同归
观察(1)式, 先展开得
\[\int p(x) \log \sigma(x;\theta) + q(x) \log (1-\sigma(x;\theta)) \mathrm{d}x,
\]
等价于
\[\int [p(x)+q(x)] [\sigma(x)\log \sigma(x;\theta)+(1-\sigma(x)\log (1-\sigma(x;\theta)] \mathrm{d} x,
\]
等价于最大化
\[-\int [p(x)+q(x)] [\sigma(x)\log \frac{\sigma(x)}{\sigma(x;\theta)}+(1-\sigma(x)\log \frac{1-\sigma(x)}{(1-\sigma(x;\theta)}] \mathrm{d} x,
\]
即
\[-\mathbb{E}_{x\sim p(x)} D_\mathrm{KL}(\sigma (x)\| \sigma(x;\theta))- \mathbb{E}_{x\sim q(x)} D_\mathrm{KL}(\sigma(x)\| \sigma(x;\theta)).
\]
注: 这里\(\sigma\)本身不是一个分布, \(\sigma\)和\(1-\sigma\)共同表达了\(c\)的分布.
因为KL散度非负, 且当且仅当\(\sigma(x;\theta) = \sigma(x)\)的时候取0, 故最优解为
\[G(x;\theta)=G(x),
\]
即
\[\frac{p(x;\theta)}{p(x;\theta)+q(x)} = \frac{p(x)}{p(x)+q(x)},
\]
即
\[q(x)[p(x;\theta)-p(x)]=0.
\]
故, 只需要满足\(p(x)\)非零的时候, \(q(x)\)也非零(显然高斯分布是一定适用的), 则通过最大化(1)得到的解是唯一的且满足
\[p(x;\theta^*)=p(x).
\]
则便是我们想要的结果.
另外, 作者说, 噪声分布\(q(x)\)最好和\(p(x)\)比较接近, 这样子由于比较难以区分两类样本, 可以使得判别器(逻辑斯蒂回归)更好的抓住数据的特征.