13.2.1 GAN的特点

GAN从2015年提出至今,短短4年的时间已经发展成为人工智能学界一个热
门的研究方向,吸引了大批研究人员来研究 GAN。除了学术界的理论研究以
外,许多科技公司已经付诸行动,将GAN应用到实际场景中。其中就包括发明
者古德费洛曾经工作过的“谷歌大脑”和“OpenAI”,以及业界知名的“脸
书”和“推特”等公司,它们都在最近两年投入了大量的精力研究GAN,如何
使它更好地生成图片与视频。
究竟是什么原因让一个新兴技术有如此快的发展呢?又是什么原因让GAN
模型在这么短的时间内吸引了这么多人投身其中,并且广受大公司青睐呢?笔
者认为,主要是由于GAN所具有的三点独特的优势。
(1)相比传统机器学习算法,GAN 模型的表现效果更好。因为 GAN 模型
只用到了反向传播,生成器的参数更新不是直接来自数据样本,而是来自判断
器的反向传播。也就是说在GAN模型的设计中,避免了马尔可?链的复杂计算
过程,直接进行采样和推断,因此极大地提高了GAN的应用效率。
(2)GAN 的设计框架十分灵活,各种类型的损失函数都可以被整合到
GAN 模型当中,也就是说在理论上在GAN框架中可以训练任何一种生成器网
络。面对不同的图像任务,我们可以设计不同类型的损失函数,这些损失函数
都可以在GAN的框架?进行学习和优化。
(3)当一个变量的随机发生概率不可计算时,一些依赖于数据自然解释
性的传统算法就不再适用,但是GAN在这种情况?依然可以适应。主要原因是
GAN模型的两个网络互相促进、互相提升的训练机制,这样可以?近不容易计
算的目标函数。
13.2.2 GAN的应用场景
随着 GAN 理论的不断完善,GAN 逐渐展现出了自己非凡的魅力。它的出
现满足了许多领域的研究和应用需求, 同时为这些领域注入了新的发展动力。
GAN 虽然是以对抗生成的方式在训练两个模型,但归根结?它还是一个生成式
模型,因此最直接的应用还是模拟真实数据分布的训练与生成,可以用于生成
图像、视频甚至自然语句和音乐等内容。
在很多情况下我们难以获取到大量的训练数据供模型使用。由于对抗生
成这种独特的机制,GAN可以解决传统机器学习算法经常面临的数据不足问题
。因此它常应用在许多无监督学习的场景中。随着研究的深入,目前已经有研
究人员成功地将其应用在强化学习领域以提升学习效率。这也是为什么 GAN
如此受欢迎的原因之一,它的灵活性和拓展性能够帮助我们解决很多领域的问
题。如今GAN已经在很多应用领域大放异彩,并且由此衍生了一些非常有想象
力的场景。
1.提高图像分辨率
在众多应用领域中,有一个非常有趣的应用是利用GAN模型提升图像的分
辨率。将一个低分辨率的模糊图像输入模型中,通过某种变换得到一个高分辨
率、带有丰富细节的清?图像,如图13-11所示。

基于生成对抗网络增强 生成对抗网络的应用_数据分布

 

在这个GAN模型中,生成模型将一张模糊的低分辨率图像作为输入,并输
出一张高分辨率的清?图像。而判别模型的任务是判断这张输入图像究竟
是“真实”的高分辨率图像还是由低分辨率图像“转换”而来的高分辨率图
像。这种方式大大简化了提升分辨率的学习过程,因为传统算法要提升图像的
分辨率,需要对一些高频细节进行建模,而GAN可以用判别模型自动训练提升
图像质量。与以往基于深度学习的模型获得的图像结果相比,我们可以看到,
GAN 的结果图像能够提供更丰富的细节。这也是GAN图像生成的一个显著优
点,即能够提供更丰富的数据细节。
2.图像风格转化
还记得本章一开始提到的 Prisma 吗?这个将普通图像转换为艺术化图像
的产品就是使用GAN实现的。一般的GAN生成模型的输入是一个随机向量,输出
是图像,而Prisma的生成器输入是图像,输出是转换后的图像,如图13-12所
示。

基于生成对抗网络增强 生成对抗网络的应用_生成器_02

 

Prisma正是通过 GAN 模型生成了各种风格各异的图像。如果增加模型的
训练时间,GAN 不仅能认出图片中的阴影,给其涂上不同的颜色,甚至能以印
象派艺术家的风格完成这些生成任务。当生成网络能够生成更有细节感、更强
的光影关系时,没准将来能够用计算机创造一个新的绘画流派。
3.侧脸变正脸
网络上流传一个段子,产品经理觉得设计师选的明星素材正脸不太好,希
望让设计师把正脸旋转成侧脸,然后被设计师臭骂了一顿。如今使用GAN技
术,有望实现根据一张照片合成出不同角度的人脸图像,如图13-13所示。

基于生成对抗网络增强 生成对抗网络的应用_大数据_03

 

在GAN中可以借助人脸对齐、姿态转换等辅助手段提高人脸识别的精度,
并且可以根据半边人脸图片生成整张人脸的前向图片,这对提升人脸识别率有
很大的辅助作用。
13.3 生成对抗网络的提升
13.3.1 强强联合的DCGAN
在关于GAN的第一篇论文诞生后的一年时间里,训练GAN是一件非常困难的
事情,因为模型很不稳定,需要进行大量调整才能工作。因此很多工程师都在
想办法优化训练过程。
我们都知道,对于图像处理问题,卷积神经网络的表现肯定比简单的全连
接神经网络更加优秀。因此在 2015 年,来自富兰克林奥林工程学院的艾力
克・拉德福德(Alec Rad?ord)等人联合发表了一篇论文,该论文首次将生成
对抗网络与卷积神经网络技术两者相结合,形成了一个新的DCGAN(Deep
Convolutional GAN)模型,即卷积生成对抗网络。DCGAN是继GAN之后比较好
的改进模型,主要的改进是在网络结构上。如今,它的网络结构已经被广泛使
用,同时DCGAN简化了调参方式,极大地提升了GAN训练的稳定性以及生成结果
的质量。
DCGAN的原理和GAN基本上一样,不同的是,DCGAN将GAN的生成网络和判别
网络都换成了卷积神经网络。DCGAN比GAN更先进的地方是,在基本架构中使用
了“反卷积”层。上一章曾讲述过,传统CNN算法通过卷积将图像的尺寸压
缩,使其变得越来越小,而反卷积是将初始输入的小数据变得越来越大(注
意,这里的反卷积指的并不是CNN的逆向操作,而是一种新的计算方
式)。“反卷积”这个名字是怎么来的呢?实际上,反卷积存在于卷积的反向
传播中,其中反向传播的卷积核矩阵是前向传播的转置,所以又可称其为“运
输卷积”。只不过我们把反向传播的操作拿到了前向传播中来做,就产生了所
谓的“反卷积”一说。值得注意的是,运输卷积只能还原信号的大小,不能还
原其值,因此不是真正的逆操作。
反卷积的原理如图13-14所示。图中?部的深色格子为原图像;白色格子
为对应卷积所增加的“填充格子”,通常全部设置为 0;灰色格子是卷积后生
成的图像。图中的运行方式是,从卷积核右?角与图片?上角重叠开始进行卷
积,每次滑动前进1步,卷积核的中心元素对应卷积后图像的像素点。从图中
可以看到,3×3 的输入图片,经过3×3的卷积核,可产生5×5的卷积结果。

基于生成对抗网络增强 生成对抗网络的应用_大数据_04

 

相比传统的CNN,DCGAN为了适应GAN做了两方面的改进:一方面是去掉了
生成器中所有的池化层;另一方面是采用批归一化的方式。去掉池化层后,用
反卷积层进行采样,同时去掉全连接层,使网络变为全卷积层结构。这么做的
目的是减少特征空间的维度。归一化特征向量,从而显著减少多层之间的协调
更新问题。这有助于稳定学习,并且能够处理糟糕的权重初始化问题。不得不
说这两个调整是DCGAN获得成功的关键,设计者非常聪明地将两种原本不相关
的技术结合在一起,这两个“微创新”起到了决定性的作用。
13.3.2 通过BEGAN化繁为简
边界均衡生成对抗网络(Boundary Equilibrium GAN,BEGAN)是2017年
上半年出现的一种GAN改进算法,对于生成器生成的图像质量到?好不好,该
算法提出了一种新的评价方式。这种 GAN 模型即使用很简单的网络,不用批
量标准化数据,不丢弃神经元,不需要反卷积操作,也能实现很好的训练效
果,完全不用担心模型崩溃与训练不平衡的问题。使用BEGAN模型,我们能够
生成几乎以假乱真的图片,如图13-15所示。

基于生成对抗网络增强 生成对抗网络的应用_卷积_05

 

以往的GAN模型及其变种都是以生成器生成的数据分布尽可能接近真实数
据的分布为目标。当生成的数据分布与真实数据分布很接近的时候,就能确定
生成器经过训练可以生成与真实数据分布相同的样本,也就是说已经能够生成
以假乱真的图片。基于这样的出发点,研究人员设计了各种损失函数让生成器
生成的数据分布尽可能接近真实数据分布。通常情况?,两张图片的数据分布
越相近,这两张图片是同一张的概率就越大,也就是说此时生成器已经被训练
出足够的生成能力。
BEGAN算法改变了这种评估概率分布的方法,它不会直接评估生成分布与
真实分布之间的差距,而是评估这两个分布的误差之间的差距,换句话说只要
误差分布相近,也可以认为这两张图片是同一张图片的概率很高。
基于这样的设想,BEGAN模型将一个自编码器作为分类器,通过基于
Wasserstein距离的损失来匹配自编码器的损失分布。保持原有的神经网络结
构,在训练中添加额外的均衡过程以平衡生成器与分类器。
Wasserstein距离又叫Earth-Mover距离(EM距离),用于衡量两个分布之
间的距离。有了这样一个衡量两个分布之间距离的公式,我们就可以计算判别
器中真实数据与生成数据损失分布之间的距离。对于两个正态分布来说,二者
间的Wasserstein 距离计算公式为(假设两个损失分布都服从正态分布)

基于生成对抗网络增强 生成对抗网络的应用_卷积_06

 

其中,m 1 、m 2 为两个正态分布均值,c 1 、c 2 为方差。根据GAN对抗性的
原则,判别器的目标是拉大两个分布的距离,也就是最大化W,而生成器的目
标则是要最小化W。
13.3.3 对GAN的更多期待
来自“脸书”人工智能研究院的院长扬·勒丘恩(Yann LeCun)教授曾经
有一个很著名的比喻,他说:“如果人工智能是一块蛋糕,那么强化学习是蛋
糕上的一粒樱桃,有监督学习是外面的一层糖霜,无监督、预测学习则是蛋糕
胚。目前我们只知道如何制作糖霜和樱桃,?不知道如何制作蛋糕胚。”
他认为目前对于人工智能的研究还不够深入。有监督学习,也就是大部分
传统算法都还漂浮在冰山之上的海平面上,虽然我们一直在研究,但始终只是
窥得冰山一角,还有更大一部分冰山在海里面等待我们去探索,这里的冰山指
的就是半监督学习甚至无监督学习,因为这才是真正让计算机学会“学习”的
方式。而生成对抗网络则为窥探海平面以?的冰山提供了富有潜力的解决方
案。尽管目前GAN还有很多不尽如人意的地方,但是当前的研究让人看到了充
满想象力的前景,看到了GAN在无监督学习上的应用和提供有效解决方案的可
能性。
为什么说对GAN充满想象力呢?因为在传统的机器学习算法中,目标函数
和约束条件都是算法固定的优化方向,我们是以人类思考的方式构造出这样一
套理论,构造出“理想函数”的概念。但是GAN的机制打破了传统机器学习的
常规,真正做到让模型自学习。对于这种思维模式的改变,也难怪勒丘恩教授
会盛赞说,“ GAN 为创建无监督学习模型提供了强有力的算法框架,有望帮
助我们为人工智能加入常识。我认为,沿着这条路走?去,开发出更具有智慧
的人工智能是有可能的。”