1
雷锋网AI研习社按:生成式对抗网络(GAN)是近两年机器学习领域的新秀,被Yann LeCun称为"过去十年机器学习界最有趣的idea",目前已经得到广泛研究者的关注并且以高频论文数出现在各大顶会上。GAN目前已有一百多种变体,在图像、视频、文字、语音等很多实际场景中均得到应用,是一种潜力巨大的理论模型。本文主要对阐述了GAN的基本原理,以及GAN的优缺点分析和GAN网络研究发展现状。文章内容根据AI研习社线上公开课整理而成。
在近期雷锋网AI研习社举办的线上直播分享课上,来自华中科技大学的陈俊为大家详细解读了GAN的基本原理,并且分享了几篇GAN在图像风格转换领域应用的文章。
陈俊,华中科技大学自动化学院硕士研究生,模式识别专业,研究兴趣包括:计算机视觉(视频理解、行为识别、目标检测与分类等)、深度学习、机器学习等。
分享主题:深度学习之星-GAN的原理
分享内容分为以下五部分:
GAN究竟在做什么?
GAN如何做的?
GAN是如何训练的?
GAN的小实验
GAN性质小结
大家好!首先为大家介绍一些GAN变体的最新应用,比如GAN可以被用来学生生成各种各样的字体,可模范名人字体进行个性签名;还可以对图片进行修正,比如把春天的山变成白雪覆盖的山,还有马变斑马,视频自动生成,高分辨率图片生成等等。
GAN究竟在做什么?
在低维数据中,GAN是用来学习数据服从什么样的分布。在高维数据中,GAN可以学习复杂的数据模型,可以代表数据分布的样子。一句话总结:它是在学习样本集的数据分布。
学习数据分布有什么用?
学习数据分布可以学习到高纬抽象的分布函数,模拟预测未来数据是什么样子。可以处理缺省数据问题:如半监督学习;可以生成真实样本,还有可以建立模型,通过学到的模型分析数据的特征,比如数据均值,方差,再就是还原数据。
怎么生成真实样本?
生成模型的一些常见方法:
基于上面的方法有两种形式分为显示估计和隐式估计。生成模型常见方法的比较:
显示:或多或少的需要知道或者假设模型的分布;大多通过Markov chains方法;
隐式:使用隐藏编码,无需假设模型,无需Markov chains,以最终生成图像的相似性作为目标;
GAN如何做的?
它的基本思想:启发自博弈论中的二人零和博弈。博弈双方分别是一个生成模型和一个判别模型,这里的模型可理解为分类器或网络结构。
分类模型,一般来说是一个二分类模型,用来判断样本是真是假;(分类器输入为样本,输出概率大于0.5为真,否则为假)
生成模型:是一个样本生成器,把一个噪声包装成另一个逼真的样本,使得判别器误认为是真样本。(输入为噪声,输出为样本维持相同的噪声(假样本))
用一张图来解释:
有一个真实样本集和一个制造的假样本集,目的是使得判别器无法判断,无论对于真假样本,输出结果概率都是0.5。
GAN是如何训练的?
我们有且仅有真实训练样本集,无标注。假样本集:随机制造而来,没有标注。
讨论它是无监督训练还是有监督训练要看是从哪个角度来看。
如果从输入的样本集来看,它是无监督的。因为没有标记。但是无监督没有办法训练,必须造出一种判别机制,一种监督信号,从这种角度来看,它是有监督的,因为它有监督信号 。把样本的真和假当做监督信号,这个监督信号需要我们自己来造。
从生成假样本的角度来讲,我们希望生成器越来越好,生成的假样本越逼真越好。
训练前提是,有两个网络,分别单独交替训练。需要注意的是,在生成器里面生成的是假样本数据集,但是在训练的时候需要把它当成真样本数据集来训练。这样才能迷惑判别器。
训练过程精髓之处:假样本在训练过程中的真假变换,这也是博弈得以进行的关键之处。
用数学公式是如何表示出来的?
GAN小实验
具体实验过程观看文末视频
GAN性质小结:
GAN可以自动学习原始真实样本集的数据分布,无需假设额外的分布模型;
自动学习潜在的损失函数,判别网络潜在学习到的损失函数隐藏在网络之中;
提供无监督的学习方法,无监督学习是机器学习领域的终极目标;
存在的问题:
不收敛的问题:网络不稳定,难以训练;
网络需要调才能得到较好的结果,比如交替迭代次数,对结果的影响就很大。
GANs论文列表:https://deephunt.in/the-gan-zoo-79597dc8c347
雷锋网AI研习社整理
雷峰网原创文章,未经授权禁止转载。详情见转载须知。