Noise Contrastive Estimation
约 178 个字 预计阅读时间 1 分钟
采用类似于 GAN 中的对抗算法训练,是一种 likelihood-free 的算法
取一个易于计算的 noise distribution \(p_{noise}(x)\),训练一个 discriminator \(D_{\theta}(x) \in [0,1]\) 来将它和真实数据分布 \(p_{data}(x)\) 进行区分
目标函数:
\[ \max_{\theta} \mathbf{E}_{x \sim p_{data}}[\log D_{\theta}(x)] + \mathbf{E}_{x \sim p_{noise}}[1-\log D_{\theta}(x)] \]
最终得到的最优 \(D_{\theta^*}(x)\) 满足
\[ D_{\theta^*}(x)=\frac{p_{data}(x)}{p_{data}(x) + p_{noise}(x)} \]
如果事先令
\[ D_{\theta}(x)=\frac{p_{\theta}(x)}{p_{\theta}(x) + p_{noise}(x)} \]
则训练 \(D_{\theta}(x)\) 相当于间接的训练了 \(p_{\theta}(x)\),现实中只需要反解出 \(p_{\theta}(x)\) 就行了
\[ p_{\theta}(x)= \frac{p_{noise}(x)D_{\theta}(x)}{1-D_{\theta}(x)} \]