适用场景:

GAN应用于一些比如图片风格转换、噪声去除等场景,避免了损失函数设计的困难,只要有一个基准一个鉴别器,其余的对抗训练。不适用于处理离散数据,如文本,GAN存在训练不稳定、梯度消失和模态崩溃等问题。


算法思想:

GAN来源于博弈论的思想,其通过生成网络G(Generator)和判别网络D(Discriminator)不断博弈,进而使G学习到数据的分布。生成网络G的任务是,从一个随机均匀分布里采样一个噪声z,然后输出合成数据G(z);判别网络D获得一个真实数据x或者合成数据G(z)作为输入,输出这个样本为“真”的概率。 在训练的过程中,生成网络G努力地欺骗判别网络D,而判别网络D努力地学习如何正确区分真假样本,这样,两者就形成了对抗的关系,最终我们的目标就是生成网络G生成足以以假乱真的伪样本。


打个比方:在生物进化的过程中,被捕食者会慢慢演化自己的特征,从而达到欺骗捕食者的目的,而捕食者也会根据情况调整自己对被捕食者的识别,共同进化,上图中的啵啵鸟和枯叶蝶就是这样的一种关系。生成器代表的是枯叶蝶,鉴别器代表的是啵啵鸟。

GAN通过随机梯度下降法来训练D和G,有这么3个步骤:

  • ● 首先训练D,D希望V(G, D)越大越好,所以是加上梯度(ascending)
  • ● 然后训练G时,G希望V(G, D)越小越好,所以是减去梯度(descending)
  • ● 整个训练过程交替进行


如果用到图片生成上,则训练完成后,G可以从一段随机数中生成逼真的图像。G, D的主要功能是:

  • ● G是一个生成式的网络,它接收一个随机的噪声z(随机数),通过这个噪声生成图像
  • ● D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片


简单的总结GAN就是拥有一个Generator和一个Discriminator,其中,Generator负责生成图片,而Discrimiantor负责分辨图片真伪。


其主要流程如上图所示,首先初始化一个Generator,然后生成图片,供Discriminator判断,最终确定是否为真,最开始我们固定Dicriminator,然后训练Generator,这就有了第二代Generator,然后固定Generator,训练Discriminator,这就有了第二代Discriminator,依次迭代,到了最后,我们的discriminator无法在准确分辨我们的图像是不是Generator产生的时候,训练就结束了。


案例:

生成式对抗网络(GANs)是当今计算机科学中最有趣的概念之一,两个模型通过对抗性过程同时训练。生成器(“艺术家”)学会创建看起来真实的图像,而鉴别器(“艺术评论家”)学会区分真实图像和赝品。


在训练过程中,生成器逐渐变得更擅长创建看起来真实的图像,而鉴别器则变得更擅长区分它们。当鉴别器无法分辨真伪图像时,该过程达到平衡。


下面的动画展示了生成器在经过训练后生成的一系列图像,这些图像一开始是随机噪声,随着时间的推移越来越像手写数字。



补充说明:

算法优点

  • ● GAN是一种生成式模型,相比较其他生成模型(玻尔兹曼机和GSNs)只用到了反向传播,而不需要复杂的马尔科夫链,能训练任何一种生成器网络(理论上-实践中,用 REINFORCE 来训练带有离散输出的生成网络非常困难)
  • ● 相比其他所有模型, GAN可以产生更加清晰,真实的样本
  • ● GAN采用的是一种无监督的学习方式训练,可以被广泛用在无监督学习和半监督学习领域
  • ● 不需要设计遵循任何种类的因式分解的模型,任何生成器网络和任何鉴别器都会有用
  • ● 无需利用马尔科夫链反复采样,无需在学习过程中进行推断(Inference),回避了近似计算棘手的概率的难题

算法缺点

  • ● 训练GAN需要达到纳什均衡,有时候可以用梯度下降法做到,有时候做不到.我们还没有找到很好的达到纳什均衡的方法,所以训练GAN相比VAE或者PixelRNN是不稳定的
  • ● GAN不适合处理离散形式的数据,比如文本
  • ● GAN存在训练不稳定、梯度消失、模式崩溃的问题(目前已解决)

关于优必杰教育 | 擎课堂 | AI教学平台 | 嘉定集散地 | 余杭集散地 | 常用工具

©2017-2020 上海优必杰教育科技有限公司 · 沪ICP备17047230号-3