@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
;
θ
)
=
f
(
x
;
θ
)
Z
(
θ
)
,
p(x;\theta)=\frac{f(x;\theta)}{Z(\theta)},
p(x;θ)=Z(θ)f(x;θ),
Z
(
θ
)
Z(\theta)
Z(θ)是和参数
θ
\theta
θ有关的.
继续往下走, 一般估计参数, 最普通的就是极大似然估计, 即
max
θ
∑
i
=
1
N
log
f
(
x
i
;
θ
)
−
N
log
Z
(
θ
)
,
\max_{\theta} \sum_{i=1}^N \log f(x_i;\theta)-N\log Z(\theta),
θmaxi=1∑Nlogf(xi;θ)−NlogZ(θ),
当
Z
(
θ
)
Z(\theta)
Z(θ)有显示表达式的时候, 上面的玩意儿还能弄, 故一般情况下, 这种估计方法就不是很合适了, 本文另辟蹊径, 引入了负采样来应对这一问题.
主要内容
这里, 我们用
p
(
x
)
=
p
(
x
;
θ
∗
)
p(x)=p(x;\theta^*)
p(x)=p(x;θ∗)来表示样本数据
x
x
x的真实的分布. 令
x
x
x采样自
p
(
x
)
p(x)
p(x)的为真实的样本(
c
=
1
c=1
c=1), 即我们所观测到的样本, 而采样自另一个分布
q
(
x
)
q(x)
q(x)的为样本为伪样本(
c
=
0
c=0
c=0), 不妨设
P
(
c
=
0
)
=
P
(
c
=
1
)
=
1
2
P(c=0)=P(c=1)=\frac{1}{2}
P(c=0)=P(c=1)=21, 则
p
(
x
∣
c
=
1
)
=
p
(
x
)
,
p
(
x
∣
c
=
0
)
=
q
(
x
)
,
p(x|c=1)=p(x), \quad p(x|c=0)=q(x),
p(x∣c=1)=p(x),p(x∣c=0)=q(x),
对应的估计为
p
(
x
∣
c
=
1
;
θ
)
=
p
(
x
;
θ
)
.
p(x|c=1;\theta)=p(x;\theta).
p(x∣c=1;θ)=p(x;θ).
相应的后验概率为
P
(
c
=
1
∣
x
;
θ
)
=
p
(
x
;
θ
)
p
(
x
;
θ
)
+
q
(
x
)
,
P(c=1|x;\theta)=\frac{p(x;\theta)}{p(x;\theta)+q(x)},
P(c=1∣x;θ)=p(x;θ)+q(x)p(x;θ),
P
(
c
=
0
∣
x
;
θ
)
=
q
(
x
)
p
(
x
;
θ
)
+
q
(
x
)
.
P(c=0|x;\theta)=\frac{q(x)}{p(x;\theta)+q(x)}.
P(c=0∣x;θ)=p(x;θ)+q(x)q(x).
自然, 我们可以通过极大似然估计(关于随机变量
c
c
c)来估计参数
θ
\theta
θ:
ℓ
(
θ
)
=
∑
i
=
1
N
c
i
log
P
(
c
=
1
∣
x
;
θ
)
+
(
1
−
c
i
)
log
P
(
c
=
0
∣
x
;
θ
)
.
\ell(\theta)=\sum_{i=1}^N c_i \log P(c=1|x;\theta)+(1-c_i)\log P(c=0|x;\theta).
ℓ(θ)=i=1∑NcilogP(c=1∣x;θ)+(1−ci)logP(c=0∣x;θ).
若我们记
G
(
x
;
θ
)
=
log
p
(
x
;
θ
)
−
log
q
(
x
)
,
σ
(
x
;
θ
)
=
1
1
+
exp
[
−
G
(
x
;
θ
)
]
.
G(x;\theta) = \log p(x;\theta)- \log q(x), \sigma(x;\theta) = \frac{1}{1+\exp[-G(x;\theta)]}.
G(x;θ)=logp(x;θ)−logq(x),σ(x;θ)=1+exp[−G(x;θ)]1.
注: 逻辑斯蒂回归.
则
P
(
c
=
1
∣
x
;
θ
)
=
σ
(
x
;
θ
)
,
P
(
c
=
0
∣
x
;
θ
)
=
1
−
σ
(
x
;
θ
)
.
P(c=1|x;\theta)=\sigma(x;\theta), P(c=0|x;\theta)=1-\sigma(x;\theta).
P(c=1∣x;θ)=σ(x;θ),P(c=0∣x;θ)=1−σ(x;θ).
更一般的(通过大数定律)
J
(
θ
)
=
E
x
∼
p
(
x
)
log
σ
(
x
;
θ
)
+
E
x
∼
q
(
x
)
log
(
1
−
σ
(
x
;
θ
)
)
.
(1)
\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)).
J(θ)=Ex∼p(x)logσ(x;θ)+Ex∼q(x)log(1−σ(x;θ)).(1)
理解是很自然的, 就是我们希望参数 θ \theta θ使得真实的样本与虚假的样本是尽可能可分的(逻辑斯蒂回归).
殊途同归
观察(1)式, 先展开得
∫
p
(
x
)
log
σ
(
x
;
θ
)
+
q
(
x
)
log
(
1
−
σ
(
x
;
θ
)
)
d
x
,
\int p(x) \log \sigma(x;\theta) + q(x) \log (1-\sigma(x;\theta)) \mathrm{d}x,
∫p(x)logσ(x;θ)+q(x)log(1−σ(x;θ))dx,
等价于
∫
[
p
(
x
)
+
q
(
x
)
]
[
σ
(
x
)
log
σ
(
x
;
θ
)
+
(
1
−
σ
(
x
)
log
(
1
−
σ
(
x
;
θ
)
]
d
x
,
\int [p(x)+q(x)] [\sigma(x)\log \sigma(x;\theta)+(1-\sigma(x)\log (1-\sigma(x;\theta)] \mathrm{d} x,
∫[p(x)+q(x)][σ(x)logσ(x;θ)+(1−σ(x)log(1−σ(x;θ)]dx,
等价于最大化
−
∫
[
p
(
x
)
+
q
(
x
)
]
[
σ
(
x
)
log
σ
(
x
)
σ
(
x
;
θ
)
+
(
1
−
σ
(
x
)
log
1
−
σ
(
x
)
(
1
−
σ
(
x
;
θ
)
]
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,
−∫[p(x)+q(x)][σ(x)logσ(x;θ)σ(x)+(1−σ(x)log(1−σ(x;θ)1−σ(x)]dx,
即
−
E
x
∼
p
(
x
)
D
K
L
(
σ
(
x
)
∥
σ
(
x
;
θ
)
)
−
E
x
∼
q
(
x
)
D
K
L
(
σ
(
x
)
∥
σ
(
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)).
−Ex∼p(x)DKL(σ(x)∥σ(x;θ))−Ex∼q(x)DKL(σ(x)∥σ(x;θ)).
注: 这里 σ \sigma σ本身不是一个分布, σ \sigma σ和 1 − σ 1-\sigma 1−σ共同表达了 c c c的分布.
因为KL散度非负, 且当且仅当
σ
(
x
;
θ
)
=
σ
(
x
)
\sigma(x;\theta) = \sigma(x)
σ(x;θ)=σ(x)的时候取0, 故最优解为
G
(
x
;
θ
)
=
G
(
x
)
,
G(x;\theta)=G(x),
G(x;θ)=G(x),
即
p
(
x
;
θ
)
p
(
x
;
θ
)
+
q
(
x
)
=
p
(
x
)
p
(
x
)
+
q
(
x
)
,
\frac{p(x;\theta)}{p(x;\theta)+q(x)} = \frac{p(x)}{p(x)+q(x)},
p(x;θ)+q(x)p(x;θ)=p(x)+q(x)p(x),
即
q
(
x
)
[
p
(
x
;
θ
)
−
p
(
x
)
]
=
0.
q(x)[p(x;\theta)-p(x)]=0.
q(x)[p(x;θ)−p(x)]=0.
故, 只需要满足
p
(
x
)
p(x)
p(x)非零的时候,
q
(
x
)
q(x)
q(x)也非零(显然高斯分布是一定适用的), 则通过最大化(1)得到的解是唯一的且满足
p
(
x
;
θ
∗
)
=
p
(
x
)
.
p(x;\theta^*)=p(x).
p(x;θ∗)=p(x).
则便是我们想要的结果.
另外, 作者说, 噪声分布 q ( x ) q(x) q(x)最好和 p ( x ) p(x) p(x)比较接近, 这样子由于比较难以区分两类样本, 可以使得判别器(逻辑斯蒂回归)更好的抓住数据的特征.