URL: https://arxiv.org/pdf/1406.5298.pdf https://github.com/dpkingma/nips14-ssl

简介

NIPS2014 提出的一种基于生成模型变分推断(VAE)的半监督学习分类方法。

数据集

Name Desc Link
MNIST 手写数字 http://yann.lecun.com/exdb/mnist/
SVHN 门牌号 http://ufldl.stanford.edu/housenumbers/
NORB 常见物体 https://cs.nyu.edu/~ylclab/data/norb-v1.0/

模型

本文主要针对分类问题缺乏标注数据的情况,讨论对比了常用的潜在特征鉴别模型M1和作者设计的生成式半监督模型M2两种模型及其组合。

M1是普通的自编码器来学习连续空间到真实数据空间的映射来得到Embeding。 \( p(z) = N(z|0,I); p_\theta(x|z) = f(x; z, \theta) \) 而M2则在得到Embeding时对标签进行了考虑。 \( p(y) = Cat(y|\pi); p(z) = N(z:0,I); p_\theta(x|y,z) = f(x; y, z, \theta) \) M1+M2的组合则是先用M1得到表示,然后用这些表示来训练M2。 \( p(x, y, z_1, z_2) = p(y) p(z_2) p_\theta(z_1|y,z_2) p_\theta(x|z_1) \) 其中的 $f(*; *, \theta)$ 都是采用深度神经网络提供的非线性变换和估计。

算法

在对模型的实际计算中作者借鉴了VAE等的变分推理思路提出了可扩展的变分推理。 实际上和VAE中的推导过程是差不多的。 都是引入 $q_\phi(z|x)$ 来估计 $p(z|x)$, 并共享参数。

对M1对下界目标函数: \( \log p_\theta(X) \ge E_{q_\phi(Z|X)}[\log p_\theta(X|Z)] - KL[q_\phi(Z|X) || p_\theta(Z)] = -J(X) \) 对于M2则整合了有无标签两种数据时的目标函数: \( \log p_\theta(X, y) \ge E_{q_\phi(Z|X,y)}[\log p_\theta(X|y,Z) + \log p_\theta(y) + \log p_\theta(Z) - \log q_\phi(Z|X,y)] = -L(X, y) \) \( \log p_\theta(X) \ge E_{q_\phi(y,Z|X)}[\log p_\theta(X|y,Z) + \log p_\theta(y) + \log p_\theta(Z) - \log q_\phi(y,Z|X)] = \sum_y q_\phi(y|X)(-L(X,y))+H(q_\phi(y|X)) = -U(X) \) \( J_{all} = \sum_{(X,y)\sim\tilde{p_l}} L(X,y) \)

为了更合理的优化,作者对只贡献于无标签数据的损失 $H(q_\phi(y|X))$ 进行了减轻。 \( J^\alpha = J_{all} + \alpha * E_{\tilde{p_l}(X,y)} [-\log q\phi(y|X)] \)

alg1&alg2

实验

在分类错误率上进行的实验显示本文的两种生成式模型优于传统模型或其他简单的自编码器。 对于条件生成的引入还进行了可视化。

fig&tab

Thoughts

将VAE的生成方法用于整合有无标签数据实现可扩展的变分推理,充分利用两种数据强化分类模型。 不太理解为什么M1为M2提供预训练能够提升效果。