生成式对抗网络( ,GAN)是由古德费洛等人提出的一种深度学习生成式模型。GAN在结构上受博弈论中的二人零和博弈(即二人的利益之和为零,一方的所得正是另一方的所失)的启发,系统由一个生成器和一个判别器构成。生成器捕捉真实数据样本的潜在分布,并生成新的数据样本;判别器是一个二分类器,判别输入是真实数据还是生成的样本。生成器和判别器均可以采用目前研究较热的深度神经网络。GAN的提出满足了许多领域的研究和应用需求,同时为这些领域注入了新的发展动力。GAN已经成为人工智能学界一个热门的研究方向。目前,图像和视觉领域是对GAN研究和应用最广泛的一个领域,已经可以生成数字、人脸等物体对象,构成各种逼真的室内外场景,从分割图像恢复原图像,给黑白图像上色,从物体轮廓恢复物体图像,从低分辨率图像生成高分辨率图像等。此外,GAN已经开始被应用到语音和语言处理、电脑病毒监测、棋类比赛程序等问题的研究中。
一、GAN结构的演化
(一)全连接GAN
2014年,第一个GAN架构使用全连接神经网络作为生成器和判别器。这种类型的架构被应用于相对简单的图像数据集,即手写数字(MNIST),自然图像(CIFAR-10)和多伦多人脸数据集(TFD)。
(二)卷积GAN
从全连接神经网络到卷积神经网络(CNN)是一个很自然的扩展,因为CNN非常适合图像数据。但在CIFAR-10上进行的早期实验表明,使用与监督学习相同容量和表征能力的CNN训练生成器和判别器网络是比较困难的。
于是,拉普拉斯金字塔对抗网络()提出了一个解决这个问题的方法,即用多尺度分解生成过程:真实图像本身被分解成拉普拉斯金字塔,通过逐层迭代的方式生成。
另外,拉德福等人于2015年提出了一种称为DCGAN(“深度卷积GAN”)的网络体系结构,它允许训练一对深度卷积发生器和鉴别器网络。DCGAN利用分步卷积,在训练期间可以学习空间下采样和上采样卷积核。
作为2D中图像合成的延伸,Wu等人提出了能够使用立体积卷积来合成3D样本的GAN。Wu等人合成了新的对象,包括椅子,桌子和汽车。此外,他们还提出了从2D图像映射到这些图像中描绘的3D对象的方法。
(三)条件GAN
2015年,米尔扎等人使生成器和判别器网络都具有条件判别的功能。条件GAN对于多模式数据的生成,具有更强的表示能力。可以在条件GAN和Info-GAN之间进行并行处理,将噪声源分解为不可压缩的源和“隐空间编码”,试图通过最大化隐空间编码和生成器输出之间的互信息来发现变异的潜在因素。这个潜在的代码可以用来以纯粹无监督的方式发现对象类,尽管隐空间编码不是绝对必要的。Info-GAN学到的表现看起来在语义上是有意义的,处理图像外观中复杂的叠加的因素,包括脸部图像的姿态、光照和表情的变化。
(四)推理模型GAN
在原始的GAN表达式中,GAN缺乏将给定的观察数据映射到隐空间中的向量的方法(即推理机制)。随着GAN的发展,目前已经提出了几种技术来反演预先训练的GAN的生成器。对抗推理网络(ALI)和双向GAN(BiGAN)提供了简单而有效的扩展,这两种模型都引入了一个推理模型,使用判别器对隐空间编码及观测数据的联合概率分布进行拟合。
在这个公式中,发生器由两个网络组成:“编码器”(推理网络)和“解码器”。鉴别器每次接收一对数据(隐空间编码+观测数据),并且必须确定哪一对构成真实图像样本及其编码组成的真实元组哪一对是假图像样本和相应的隐空间组成的假的元组。
理想情况下,在编解码模型中,重构的输出应该与输入具有较高的相似性,然而使用ALI/BiGAN合成的重建数据样本的保真度很差,样本的保真度可能会随着数据样本复杂性的提升而增加对抗成本。
(五)对抗自编码器
自编码器是由“编码器”和“解码器”组成的网络,学习将数据编码映射到内部隐空间并再次解码出来。自编码器从数据空间(如图像)学习确定性映射(通过编码器)到隐空间并从隐空间映射(通过解码器)回数据空间。这两个映射的组合成一个“重建”的过程,训练编码器和解码器使重建的图像尽可能接近原始图像。
(六)GAN的模型优化
GAN在基于梯度下降训练时存在梯度消失的问题,因为当真实样本和生成样本之间具有极小重叠甚至没有重叠时,其目标函数的-散度是一个常数,导致优化目标不连续。为了解决训练梯度消失问题,等人提出了两版-GAN(W-GAN)。W-GAN用Earth-Mover代替-散度来度量真实样本和生成样本分布之间的距离,用一个批评函数来对应GAN的判别器,而且批评函数需要建立在连续性假设上。另外,GAN的判别器具有无限的建模能力,无论真实样本和生成的样本有多复杂,判别器都能把它们区分开,这容易导致过拟合问题。为了限制模型的建模能力,提出了Loss–GAN(LS-GAN),将最小目标函数得到的损失函数限定在满足连续性函数类上,且还给出了梯度消失时的定量分析结果。需要指出,W-GAN和LS-GAN并没有改变GAN模型的结构,只是在优化方法上进行了改进。
二、GAN的应用领域
作为一个具有“无限”生成能力的模型,GAN的直接应用就是建模,生成与真实数据分布一致的数据样本,例如可以生成图像、视频等。GAN可以用于解决标注数据不足时的学习问题,例如无监督学习、半监督学习等。GAN还可以用于语音和语言处理,例如生成对话、由文本生成图像等。
(一)图像和视觉领域
GAN能够生成与真实数据分布一致的图像。一个典型应用来自推特()公司提出利用GAN来将一个低清模糊图像变换为具有丰富细节的高清图像,用VGG网络作为判别器,参数化的残差网络表示生成器,也开始用于生成自动驾驶场景。山塔那等提出利用GAN来生成与实际交通场景分布一致的图像,再训练一个基于循环神经网络(RNN)的转移模型实现测的目的。GAN可以用于无人机、无人车等自动驾驶中的半监督学习或无监督学习任务,还可以利用实际场景不断更新的视频帧来实时优化GAN的生成器。
利用仿真图像和真实图像作为训练样本来实现人眼检测,但是这种仿真图像与真实图像存在一定的分布差距。什里瓦斯塔瓦等人提出一种基于GAN的方法(称为),利用无标签真实图像来丰富细化仿真图像,使得合成图像更加真实,并引入一个自正则化项来实现最小化合成误差并最大程度保留仿真图像的类别,同时利用加入的局部对抗损失函数来对每个局部图像块进行判别,使得局部信息更加丰富。
(二)语音和语言领域
目前已经有一些关于GAN的语音和语言处理文章。例如用GAN来表征对话之间的隐式关联性,从而生成对话文本;基于GAN的文本生成,用CNN作为判别器,判别器基于拟合LSTM的输出,用矩匹配来解决优化问题,在训练时,和传统更新多次判别器参数再更新一次生成器不同,需要多次更新生成器再更新CNN判别器。基于策略梯度来训练生成器,策略梯度的反馈奖励信号来自于生成器经过蒙特卡洛搜索得到,实验表明在语音、诗词和音乐生成方面可以超过传统方法。里德等人提出用GAN基于文本描述来生成图像,文本编码被作为生成器的条件输入,同时为了利用文本编码信息,也将其作为判别器特定层的额外信息输入来改进判别器,判别是否满足文本描述的准确率,实验结果表明生成图像和文本描述具有较高相关性。
(三)其他领域
除了将GAN应用于图像和视觉、语音和语言等领域,GAN还可以与强化学习相结合,例如前述的。还有研究者将GAN和模仿学习融合、将GAN和Actor-方法结合等。可以帮助检测恶意代码,用GAN生成具有对抗性的病毒代码样本,实验结果表明基于GAN的方法可以比传统基于黑盒检测模型的方法性能更好。奇丹巴拉姆等人基于风格转换提出了一个扩展GAN的生成器,用判别器来正则化生成器而不是用一个损失函数,用国际象棋实验示例证明了所提方法的有效性。
323AI导航网发布