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)\)比較接近, 這樣子由於比較難以區分兩類樣本, 可以使得判別器(邏輯斯蒂回歸)更好的抓住數據的特征.