论文部分内容阅读
摘 要:本文简单介绍了GAN的原理以及其存在的一些缺陷,并且针对其存在的缺陷列举了两种目前比较好的解决方案。然后对GAN在应用领域的扩展与发展进行了介绍并展示了一些比较有趣的应用,最后对GAN以及人工智能领域的发展提出了一些个人看法。
关键词:GAN;卷积网络;深度学习
一、正文
(一)GAN简介
GAN(Generative Adversarial Networks)生成式对抗网络,是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。它一方面将产生式模型拉回到了一直由判别式模型称霸的AI竞技场,引起了学者甚至大众对产生式模型的研究兴趣,同时也将对抗训练从常规的游戏竞技领域引到了更一般领域,引起了从学术界到工业界的普遍关注。
模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。也就是说在训练足够之后,我们就会得到一个优秀的生成模型G,可以用来生成那些能够以假乱真的结果。
G作为一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z)。
D作为一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。
在训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。而D的目标就是尽量把G生成的图片和真实的图片分别开来。这样,G和D构成了一个动态的“博弈过程”。
最后博弈的结果是什么?在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5。
(二)GAN的扩展
由于原始GAN的一些缺陷,以及应用层面的匮乏,从15年下半年和16年初就逐渐开始出现许多GAN的训练技巧总结分享以及对模型本身进行改进的文章。下面我将列举两个我比较感兴趣的模型。
1.Wasserstein GAN
从2014年Ian Goodfellow提出以来,GAN就存在着训练困难、生成器和判别器的loss无法指示训练进程、生成样本缺乏多样性等问题。从那时起,很多论文都在尝试解决,但是效果不尽人意,比如最有名的一个改进DCGAN依靠的是对判别器和生成器的架构进行实验枚举,实际上是治标不治本,没有彻底解决问题。
而WGAN在针对性的分析了原始GAN存在的问题后,采取了根本性的策略,改变了市面上各种模型治标不治本的现状,从理论层面出发去解决问题,是GAN的改进中非常重要的一步。
2.Deep Convolutional GAN
DCGAN是CNN与GAN结合的最好的尝试之一,它将上述的G和D换成了两个卷积神经网络(CNN)。并不是直接的替换,而是对卷积神经网络的结构做了一些改变。
卷积神经网络是由复杂到简单,而DCGAN的发明者想到能不能把卷积神经网络反一反,用于生成图像。所以Generator(生成网络)利用了类似反卷积的神经网络模型,Discriminator(判别网络)利用了卷积的神经网络模型。DCGAN是一款比较好的模型,他在生成图片的性能上面比较优越,所以我的自主实验就选择做DCGAN的一个项目。
(三)GAN在应用层面的发展
1.Conditional GAN
因为GAN的生成模型可以拟合真实分布,所以说GAN可以用于伪造数据,比如上面提到的DCGAN就是第一个用全卷积网络做数据生成的。以生成数字为例,不论是原始GAN还是DCGAN,都不能控制生成的的是1还是0,所以后来就有了CGAN,即条件GAN。
2.金字塔GAN
由于原始的GAN生成图分辨率太小,实用性不高,所以借鉴经典图像中的金字塔算法的情况下,LAPGAN/StackedGAN各自提出了类似的看法。逐级独立训练提高了网络简单记忆输入样本的难度,减少了每一次 GAN 需要学习的内容,也就从而增大了GAN的学习能力和泛化能力。在这个基础上,nvidia-gan生成了1024分辨率的图片,这将GAN的技术推到了另外一个高度,应用范围也就随之变广。
3. cross domain学习
cross domain的学习,提供了更丰富的数据生成应用。
在传统的domain adaption中,我们需要学习或者训练一个domain adaptor,而这个domain adaptor需要用source domain和对应的target domain的训练图片来训练。coGAN/align gan可以在两个domain不存在对应样本的情况下学出一个联合分布,方法是每一个domain使用一个GAN,并且将高層的语义信息进行强制权值共享。
二、小结
原本的GAN无法选择生成的结果,生成的图片分辨率也非常低而且方正度也不高,所以在应用上并没有特别亮眼的成就,但是在上述的几款技术诞生之后,将GAN在应用层面抬高了一个层次,并且也引出了更多发展的可能。
参考文献:
[1] Ian J. Goodfellow,Jean Pouget-Abadie,Mehdi Mirza,Bing Xu,David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio. 2014-06-10. Generative Adversarial Nets . arXiv:1406.2661v1 [stat.ML]
[2] Alec Radford & Luke Metz,Soumith Chintala. 2016-01-07. UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS . arXiv:1511.06434v2
关键词:GAN;卷积网络;深度学习
一、正文
(一)GAN简介
GAN(Generative Adversarial Networks)生成式对抗网络,是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。它一方面将产生式模型拉回到了一直由判别式模型称霸的AI竞技场,引起了学者甚至大众对产生式模型的研究兴趣,同时也将对抗训练从常规的游戏竞技领域引到了更一般领域,引起了从学术界到工业界的普遍关注。
模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。也就是说在训练足够之后,我们就会得到一个优秀的生成模型G,可以用来生成那些能够以假乱真的结果。
G作为一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z)。
D作为一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。
在训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。而D的目标就是尽量把G生成的图片和真实的图片分别开来。这样,G和D构成了一个动态的“博弈过程”。
最后博弈的结果是什么?在最理想的状态下,G可以生成足以“以假乱真”的图片G(z)。对于D来说,它难以判定G生成的图片究竟是不是真实的,因此D(G(z)) = 0.5。
(二)GAN的扩展
由于原始GAN的一些缺陷,以及应用层面的匮乏,从15年下半年和16年初就逐渐开始出现许多GAN的训练技巧总结分享以及对模型本身进行改进的文章。下面我将列举两个我比较感兴趣的模型。
1.Wasserstein GAN
从2014年Ian Goodfellow提出以来,GAN就存在着训练困难、生成器和判别器的loss无法指示训练进程、生成样本缺乏多样性等问题。从那时起,很多论文都在尝试解决,但是效果不尽人意,比如最有名的一个改进DCGAN依靠的是对判别器和生成器的架构进行实验枚举,实际上是治标不治本,没有彻底解决问题。
而WGAN在针对性的分析了原始GAN存在的问题后,采取了根本性的策略,改变了市面上各种模型治标不治本的现状,从理论层面出发去解决问题,是GAN的改进中非常重要的一步。
2.Deep Convolutional GAN
DCGAN是CNN与GAN结合的最好的尝试之一,它将上述的G和D换成了两个卷积神经网络(CNN)。并不是直接的替换,而是对卷积神经网络的结构做了一些改变。
卷积神经网络是由复杂到简单,而DCGAN的发明者想到能不能把卷积神经网络反一反,用于生成图像。所以Generator(生成网络)利用了类似反卷积的神经网络模型,Discriminator(判别网络)利用了卷积的神经网络模型。DCGAN是一款比较好的模型,他在生成图片的性能上面比较优越,所以我的自主实验就选择做DCGAN的一个项目。
(三)GAN在应用层面的发展
1.Conditional GAN
因为GAN的生成模型可以拟合真实分布,所以说GAN可以用于伪造数据,比如上面提到的DCGAN就是第一个用全卷积网络做数据生成的。以生成数字为例,不论是原始GAN还是DCGAN,都不能控制生成的的是1还是0,所以后来就有了CGAN,即条件GAN。
2.金字塔GAN
由于原始的GAN生成图分辨率太小,实用性不高,所以借鉴经典图像中的金字塔算法的情况下,LAPGAN/StackedGAN各自提出了类似的看法。逐级独立训练提高了网络简单记忆输入样本的难度,减少了每一次 GAN 需要学习的内容,也就从而增大了GAN的学习能力和泛化能力。在这个基础上,nvidia-gan生成了1024分辨率的图片,这将GAN的技术推到了另外一个高度,应用范围也就随之变广。
3. cross domain学习
cross domain的学习,提供了更丰富的数据生成应用。
在传统的domain adaption中,我们需要学习或者训练一个domain adaptor,而这个domain adaptor需要用source domain和对应的target domain的训练图片来训练。coGAN/align gan可以在两个domain不存在对应样本的情况下学出一个联合分布,方法是每一个domain使用一个GAN,并且将高層的语义信息进行强制权值共享。
二、小结
原本的GAN无法选择生成的结果,生成的图片分辨率也非常低而且方正度也不高,所以在应用上并没有特别亮眼的成就,但是在上述的几款技术诞生之后,将GAN在应用层面抬高了一个层次,并且也引出了更多发展的可能。
参考文献:
[1] Ian J. Goodfellow,Jean Pouget-Abadie,Mehdi Mirza,Bing Xu,David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio. 2014-06-10. Generative Adversarial Nets . arXiv:1406.2661v1 [stat.ML]
[2] Alec Radford & Luke Metz,Soumith Chintala. 2016-01-07. UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS . arXiv:1511.06434v2