您的位置:首页 > 理论基础 > 计算机网络

生成式对抗网络---机器学习中的热门话题

2017-04-21 17:31 239 查看

生成式对抗网络---机器学习中的热门话题

GenerativeAdversarial Networks – Hot Topic in Machine Learning

 
Taylor Guo, 2017年4月21日  星期五
 
NIPS2016  (Neural Information Processing System)
是年度盛会,吸引了大量学术界和工业界的最优秀和最闪亮的人才。2016年不同寻常的情况是,有大量对冲基金的参观者寻找机器学习方面的天才。
有的论文高度抽象,非常理论化,还有些缺非常实际,比如,Google和Facebook。涉及话题非常广泛,但主要有两个话题吸引了大量目光。
第一个是生成式对抗网络“Generative AdversarialNetworks” (简称GANs),第二个是强化学习“ReinforcementLearning” (简称RL)。这里主要讲GANs。
GAN是一个非常新的神经网络机器学习架构,Ian Goodfellow
和他在 University of Montreal的同事在2014年率先提出的。为了完全理解GANs,必须先理解监督学习和非监督学习的差别。监督学习基于大量标记样本训练和测试。也就是说它们需要大量包含特征或预测以及和它们对应的标记的数据集。比如,一个监督学习的图像分类器引擎需要一组带有正确标记的图像(比如,汽车,鲜花,桌子,……)。非监督学习不需要这些,它们在工作中学习。从错误中学习,并在后续工作中尽量不犯同样的错误。

监督学习的一个缺点是它们需要大量标记数据。标记大量样本是非常费力和耗时的。非监督学习没有这个缺点,但是精度更低一些。很自然的,我们希望加强非监督学习,减少对监督学习的依赖。你可以将GANs和RLs看做是增强非监督机器学习神经网络。
第二个非常有用的思路是“生成式模型”。很多模型都是通过给定一系列输入样本生成最可能的结果来预测。比如,一个生成式模型可以基于之前的序列帧生成视频的下一帧。另外一个例子是在用户输入之前搜索引擎可以预测下一个要输入的单词。
有了这两个主要思路,就可以来处理GANs了。可以将GANs看做是一个新的架构,相比传统的网络一个无监督神经网络可以获得好得多的性能。为了更精确,GANs用新的方法来训练神经网络。GANs不是一个网络,而是两个独立的网络,独立工作,相互对抗(如下面示意图所示)。



第一个神经网络称作判别器Discriminator(D),需要经过训练。D是一个分类器,一旦训练完成,在运算过程中需要进行大量操作。第二个网络成为生成器Generator (G),用于生成类似真实样本的随机样本,用表面扭曲以示为虚假样本。
比如,设计一个图像判别器D识别一系列各种不同的动物。一个对抗式的生成器G,仔细地制作出图像像真的一样,来混淆D。可以从训练集(隐空间 latent space)中随机选择一个合法样本来实现,(通过添加一些噪声)随机修改一些特征,合成一个新图像。举个例子,生成器G可以获取一些猫的图像,再多添加一个眼睛到图像上来讲它变成一张虚假的样本。结果就是一张图像和一般的猫非常相似除了眼睛数量不同以外。
在训练过程中,判别器D从训练集中随机混合合法图像,生成器G生成虚假图像。它的任务就是要识别出正确和虚假的输入。基于计算结果,两个机器都通过参数调优,以变得更好。如果D做出了正确的预测,G就更新它的参数为了生成更好的虚假样本来混淆D。如果D的预测出错,它就从错误中学习避免后续发生类似的错误。网络D的得分就是正确预测的数量,G的得分就是D错误的数量。这个过程一直持续进行直到达成一个平衡,D的训练达到最优。
早期GANs的一个弱点是其稳定性,但已经看到大量工作可以减轻这个问题(细节这里不讨论)。可以做一个类比,GANs像一个有两个党派的国家的政治环境。每个党派都力图改善自己的弱点,尽量发现对方的弱点,在对抗中推动发展。最后,两个党派都会变成更好的作业员。
RLs和GANs对半导体的影响是,两种新架构都需要更大量的门电路,更高CPU时钟,更多内存。这没什么好抱怨的。
 
 
 
 
 
 
 
 
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息