论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

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 的过程:

论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

  论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks


  我的感受:  

  这个文章左下角有标注:To appear in the Data Efficient Machine Learning workshop at ICML 2016. 篇幅较短,主要是考虑了将 GANs 应用于半监督图像分类的思路。

  考虑了三个成分:产生器 G,判别器 D,分类器 C 。

  从上图中产生的图像来看,效果还是不错的,分类的精度也有提升。

  看来这种相互促进的网络设计方法,值得我们参考和借鉴。

  无网络,不对抗!!!

  论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

 

上一篇:《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型


下一篇:Using django model/authentication/authorization within Tornado