论文笔记之: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 的过程:
我的感受:
这个文章左下角有标注:To appear in the Data Efficient Machine Learning workshop at ICML 2016. 篇幅较短,主要是考虑了将 GANs 应用于半监督图像分类的思路。
考虑了三个成分:产生器 G,判别器 D,分类器 C 。
从上图中产生的图像来看,效果还是不错的,分类的精度也有提升。
看来这种相互促进的网络设计方法,值得我们参考和借鉴。
无网络,不对抗!!!
论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks的更多相关文章
- 论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS
UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS ICLR 2 ...
- 论文笔记(1):Deep Learning.
论文笔记1:Deep Learning 2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...
- (转载)[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation
[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation http://blog.csdn.net/walilk/articl ...
- 《Generative Adversarial Networks for Hyperspectral Image Classification 》论文笔记
论文题目:<Generative Adversarial Networks for Hyperspectral Image Classification> 论文作者:Lin Zhu, Yu ...
- StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记
StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 本文将利 ...
- 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis
论文地址:MelGAN:条件波形合成的生成对抗网络 代码地址:https://github.com/descriptinc/melgan-neurips 音频实例:https://melgan-neu ...
- SAGAN:Self-Attention Generative Adversarial Networks - 1 - 论文学习
Abstract 在这篇论文中,我们提出了自注意生成对抗网络(SAGAN),它是用于图像生成任务的允许注意力驱动的.长距离依赖的建模.传统的卷积GANs只根据低分辨率图上的空间局部点生成高分辨率细节. ...
- 论文解读(GAN)《Generative Adversarial Networks》
Paper Information Title:<Generative Adversarial Networks>Authors:Ian J. Goodfellow, Jean Pouge ...
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
随机推荐
- 一个有趣的IE内核检测网站
http://se.360.cn/v5/iecoretest.html 该网站能有效检测您浏览器的内核,以及版本,操作系统. 找到这个网址,是因为最近解决WebBrowser自动调节IE版本功能时发现 ...
- numpy中的broadcast
关于broadcast,官方文档描述如下: Each universal function takes array inputs and produces array outputs by perfo ...
- 《View Programming Guide for iOS》之frame、bounds和center之间的关系
The frame property contains the frame rectangle, which specifies the size and location of the view i ...
- UVA 1639(组合数学)
根据组合数公式C(m,n),由于m可能达到20万,因此转换为ln,之后可以表达为ln(m!)-ln(n!)-ln((m-n)!); 求每一个c[n]时,也要根据杨辉三角求组合数进行转化. 注意long ...
- 程序员是怎么炼成的---OC题集--练习答案与题目(2)
1.objective-c中有垃圾回收机制吗? 没有像java.C#一样的垃圾回收机制,但是有ARC自动引用计数器技术,根据对象的引用技术来判断对象是否还在使用,如果RC=0,则系统就会销毁对象,实 ...
- 利用 Postfix 抵擋垃圾信
reject_unknown_client //add 20151117
- jQuery Transit
http://code.ciaoca.com/jquery/transit/ jQuery Transit 事件监听 https://developer.mozilla.org/en-US/docs/ ...
- 全面认识.NET框架(一)
重新学习下.NET框架,在这里将会对.net框架逐步的学.加深一下对.net的认识.如果那个地方有错误,希望大家能够指出来.谢谢. 知识有限,先逐步了解下.net包含的什么.我就是写写我目前想了解的内 ...
- iOS开发主要参考文档(转载)
Objective-C,语言的系统详细资料.这是做iOS开发的前题与基础.https://developer.apple.com/library/ios/#documentation/Cocoa/Co ...
- 使用StringBuilder更高效的处理字符串
前言 本文介绍一个java中处理字符串的技巧 - 使用StringBuilder提高字符串处理效率. StringBuilder 当程序要频繁的进行字符串拼接的时候,直接使用String效率会比较低. ...