Semi-Supervised Learning with Generative Adversarial Networks
引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类别标签。我们在一个数据集上训练一个产生式模型 G 以及 一个判别器 D,输入是N类当中的一个。在训练的时候,D被用于预测输入是属于 N+1的哪一个,这个+1是对应了G的输出。这种方法可以用于创造更加有效的分类器,并且可以比普通的GAN 产生更加高质量的样本。
将产生式模型应用于半监督学习并非一个新颖的idea,Kingma et al. 在NIPS 2014 就已经探索过此类方法。此处,我们尝试着去做一些和GANs类似的事情,通过D学习到的feature可以在分类器中重复利用。这个表明了学习到的表示的有用性,但是其有几种不需要的属性:
1. 首先,通过D学到的表示可以帮助改进C并不奇怪---看起来这个很合理,并且应该是work的。然而,看起来学习好的C可以帮助改善D的性能。
2. 利用 D 学习到的表示不能同时训练 C 和 G。
本文的motivation就是:如果通过改善 D可以改善C,并且改善 C 可以改进 D(which we know improves G)然后我们可以结合一些反馈循环的优势,所有的3个成分都可以相互迭代的相互促进相互学习。
受到上述原因的启发,本文的贡献点主要有:
首先,提出将GANs进行拓展,允许其同时学习一个产生式模型和一个分类器。称为:Semi-Supervised GAN, or SGAN.
第二,表明了 SGAN改善了分类性能。
第三,表明 SGAN 可以明显的改善产生样本的质量 和 减少训练时间。
The SGAN Model :
判别器网络 D 在常规的 GAN 输出一个预测概率,表明输入图像是从数据产生器得来的概率。 通常是通过前向反馈网络,后面跟着一个 single sigmoid unit, 但是也可以用一个 softmax output layer with one unit for each of the classes [real, fake]. 一旦这个改进完成,就可以看出,D 会有 N+1 个输出单元,分别对应【class-1, class-2, class-N, fake】。在这种情况下,D 就扮演了 C 的角色,我们称之为 D/C。
网络的训练主要还是 Min-Max 的过程:
我的感受:
这个文章左下角有标注:To appear in the Data Efficient Machine Learning workshop at ICML 2016. 篇幅较短,主要是考虑了将 GANs 应用于半监督图像分类的思路。
考虑了三个成分:产生器 G,判别器 D,分类器 C 。
从上图中产生的图像来看,效果还是不错的,分类的精度也有提升。
看来这种相互促进的网络设计方法,值得我们参考和借鉴。
无网络,不对抗!!!