摘要

本文是对GAN基础研究(随机噪声到图像合成)的调研报告, 报告中会详尽介绍文章[1]以阐述GAN的原理和重要性质. 简略介绍[2-5], 从各个维度分析GAN的发展. 最后结合我们的研究进行总结.

第一章 引言

2014年, [1]提出了生成对抗网络(GAN), 该方法首次用两个网络进行对抗的方式训练生成模型获得极大的突破. 因此, 生成模型的研究在学术界受到广泛关注. 对抗训练的思想深入人心, 开始渗透到人工智能各个领域. 后面我们的文章分为两部分.

第二章以GAN的基础研究(从随机向量到图像合成)课题为本, 包括GAN原文[1]在内介绍5个工作[1-5], 每个工作的切入点不一样, 分别为: 对抗训练(adversarial), 定向生成(directional), 网络结构(architecture of network), 分布的度量(distance of distribution),自注意力机制(self-attention). 这些切入点不一定是介绍的文章首次研究的, 但基本是因为这些工作引起学术界的广泛关注. 除此之外还有[6-8], 分别从网络数目(number of networks),判别网络的正则化(normalization of discrimination), 由粗到细生成(coase-to-fine)的角度发展了GAN. 第三章分三节进行总结: 3.1研究方法总结, 3.2应用领域, 3.3评价与展望.

第二章 正文

2.1生成对抗网络




生成对抗网络 在行业 应用 生成对抗网络研究现状_对抗生成网络


图2.1.1 GAN举例, 生模型G(参数为


的神经网络)是一个从一个隐空间Z到图像空间X的映射, 真实数据在图像空间的分布为


. 已知隐空间的数据服从标准正态分布, 则


, 即每个生成模型对应了一个图像空间的分布


.算法通过调整G网络参数


使得


逼近


. 而分布之间的度量或误差是判别网络D判断的.


如图2.1.1所示为通过实例介绍GAN原理. 在GAN中, 包含生成网络G和判别网络D, G负责生成数据使得D网络将其判断为真实数据, D则要把真实数据和生成数据区分开, 判断数据是否来自真实的数据分布. 其中G的输入是服从已知分布的随机向量, 因此G为从某一已知分布隐空间映射到数据空间的函数. G和D两者形成对抗关系,共同优化.

优化目标函数如下:

其中,


为真实数据的分布,


为隐空间分布, D的输出在0到1之间, 表示输入数据来自真实数据分布的置信度.


下面对(1)式进行分析:

由上可知, 我们希望优化D网络使得, 输入真实数据时D期望输出1, 输入合成数据时D期望输出0; 同时优化G使得D将其合成的数据判别为1. 我们给定一个G, 观察(1)式内循环:

优化D网络最大化V, 即同时最大化V中1, 2两项, 其中最大化V第一项即最大化D关于真实数据的输出为真的置信度, 最大化第二项即最大化D关于合成数据的输出为假的置信度.

忽略内循环max操作观察(1)式:

由于第一项与G无关, (3)等价于:

即最小化D关于合成数据的输出为假的置信度.

易知(1)式代表一个最小最大博弈, D的价值函数为V, G的价值函数为-V, 在此设定下, (1)式等价于一个零和博弈. [1]在优化这个博弈的时候, 用梯度回传算法, 我们因此要求D, G是可微分的, 采用神经网络进行建模. 用迭代和数值的方法优化(1)式. 优化D网络在内循环, 在无穷数据下计算不可能完成, 若在有限的数据集上又会过拟合. 因此实现时优化D只迭代k步.

在2.4节中阐述直接优化(4)式, 当D优化得较好的时候, 关于G的梯度会消失. 因此我们将(4)式修正为:

该修正方案一般称之为 -logD trick. 沿用[9]的术语, 修正前的方案称之为MMGAN (minmax GAN), 修正后称之为NSGAN(non- saturation GAN).


生成对抗网络 在行业 应用 生成对抗网络研究现状_数据_02


图2.1.2 虚线表示真实数据概率密度曲线


, 绿线表示合成数据概率密度曲线


, 蓝线表示D函数曲线, 下横线z是隐空间, 上横线x是数据空间, 从z到x的射线表示生成函数G. (a)表示训练的初始阶段, 可见D和曲线杂乱无章; (b)固定当前G优化D至最优, 后面证明此时


; (c) 基于当前D优化G至最优; (d)多次交替迭代到最后, G完美拟合真实分布, D输出恒为1/2.


我们清楚了(1)式的含义,但是依然不确定,最优解是否是我们想要的. 下面我们将证明目标函数的解是


, 即合成数据分布完美拟合真实数据.为了证明目标函数的解是


, 先证明命题2.1.


命题2.1: 给定任意的G, 判别器D的最优解为


.


证明: V(G, D)是关于函数G和D的泛函, 给定G, 求解关于D的极大值点. 我们把V写成积分形式:

观察(7)式积分符号内, 给定x,



为常量,


为变量. 对于任意的


, 函数


, 令


, 有


, 极值点落在[0,1]上恰好是D函数的值域. 对应到上式, 对任意给定的x, 有极大值点(最大值点)


每个x均取最大值, 积分后也是最大值. 所以V(G, D)有且仅有一个最大值


.



把(8)带入(2)式得

定理1:函数C( )达到全局最小值, 当且仅当


, 且全局最小值为


.


证明:


, 则


, 带入


, 得到


.


我们只要证明


, 当且仅当


取等号.


观察到

把(9)式带入(11)式右边, 得

可知


, 当且仅当


时,


. 此时


.



算法流程图2.1.1展示了GAN训练的伪代码:


生成对抗网络 在行业 应用 生成对抗网络研究现状_拟合_03

算法2.1.1

2.2条件生成对抗网络

GAN一开始只做了从随机向量到图像的生成,通过输入不同的随机向量输出不同的图像. 输出什么样的图像用户不能控制. [2]是关于定向生成数据的研究, 提出了条件生成对抗网络(cGAN). 如图2.2.1所示是cGAN的框架图. 在cGAN框架中, G要拟合的是数据和条件信息的联合分布, 同理D要捕捉的是数据和条件的联合分布, 即分辨真实数据联合分布和和合成数据联合分布的差异性. G网络通过拟合联合分布做到合成图像的真实性和与条件的对应性(条件满足性). cGAN的优化目标函数为:

在测试的时候, G输入随机向量和条件信息, 合成的数据满足条件信息. 我们以手写数字为例, 我们定义条件信息为数字类别,我们输入随机向量和数字类别“1”, G网络则会合成含义为“1”的手写数字.


生成对抗网络 在行业 应用 生成对抗网络研究现状_数据_04


图2.2.1 cGAN框架. 生成网络G输入随机变量


和条件


, D输入的真样本为真实数据和其对应的条件组成的二元组


, 假样本为G合成的数据和其输入的条件组成的二元组. 其中条件y可以是图像类别等信息.


2.3深度卷积生成对抗网络

DCGAN[3]设计了简单对称的卷积神经网络提高GAN的生成能力, 同时充分调参, 后面的工作的超参基本研用或基于这个工作. 网络结构如图2.3.1所示.


生成对抗网络 在行业 应用 生成对抗网络研究现状_对抗生成网络_05

图2.3.1 DCGAN中G网络结构: 先把隐空间向量投影并变形成1024x4x4的特征, 然后每次用一个4x4的反卷积将特征图长宽放大2倍同时通道数压缩2倍(最后一次压缩到3通道); D网络采用对称的结果, 把反卷积变为卷积, 通道依次放大, 长宽依次缩小.

该工作同时发现训练好的G网络是一个能很好保持隐空间线性操作的函数, 如图2.3.2所示.


生成对抗网络 在行业 应用 生成对抗网络研究现状_卷积_06


图2.3.2 分别找到笑脸女人, 常态女人, 常态男人三种类型图像对应的随机向量, 每个类型下找到3个随机向量冰球平均得到


, 则


输入到G网络会得到笑脸男人.


2.4 Wasserstein GAN

[4]认为MMGAN的目标函数当D网络近似最优时, 优化G网络近似优化合成数据分布和真实数据分布之间的JS散度, 而当两个分布的支撑集的交集测度为零时, JS散度为零, 这导致梯度为零. 而当



的支撑集是高维空间中的低维流形时,



重叠部分测度(measure)为0的概率为1. 换言之, 当D网络近似最优时, 优化G的梯度为0的概率为1.


[4]阐述了Wasserstein-1距离或Earth-Mover (EM)距离度量分布的距离的优良性质, 因此采用最小化这个距离的方式训练生成网络G.

Wasserstein-1距离:

其中,


表示所有



联合分布


组成的集合. 而取下确界的操作在计算上是不能完成的. Kantorovich-Rubinstein duality[10]告诉我们:


其中, 上确界是在所有1-Lipschitz 函数 f : X → R上的. 我们在实现过程中, 用神经网络建模函数f, 通过下式拟合(15)计算出两个分布的EM距离:

其中,


是函数f的参数, 同时为了约束f是个Lipschitz函数, 文章采用权重截断的方式满足约束. G网络为了拟合真实的分布最小化(16)式:



其中


是G网络的参数, f为Lipschitz 函数.


2.5 Self-attention GAN


生成对抗网络 在行业 应用 生成对抗网络研究现状_拟合_07


图2.5.1 self-attention模块, 其中x为输入的卷积特征图, f, g, h均是1x1卷积操作, f, g操作压缩通道, h操作保持特征形状. 用f(x)和g(x)计算注意力图(attention map), 把注意力图作用在h(x)上得到self-attention 特征图.

用卷积神经网络建模的 GAN, 比较擅长合成结构约束要求不严格的图像, 如天空、景观等更多体现在纹理的差别而不是几何上的差别; 不擅长捕捉几何或者结构上的模式, 如合成狗的时候往往有逼真的毛发, 但是在形态上无章法. [5]认为卷积操作不能捕捉大范围区域的相关性. 因此提出self-attention机制来建模长范围相关性(long-range dependencies), 这个机制计算高效且效果显著.

Self-attention模块如图2.5.1所示.设1x1卷积操作f, g, h有:

其中f, g为了减少后续计算量会压缩特征通道, h则不改变特征的形状. 利用



计算图像不同位置的相关性:


其中,

其中


表示的特征图


中第i个位置的向量. 若


, 则


, i是


个位置的下标.


度量了第i个位置和第j个位置的相关性.


度量的是计算第j个位置的特征时考虑第i个位置的特征的重要性.


再把


作用在


上,


把得到的特征加权组合到原来的特征上, 得到最终输出:

这样的设计在现有指标上达到最好的效果.

图2.5.2可视化了, 验证其是否捕捉了长范围相关性.


生成对抗网络 在行业 应用 生成对抗网络研究现状_数据_08


图2.5.2 图中展示了8个四元组, 每个四元组第一张图像时合成, 我们分别可是话红绿蓝点对应的


(固定j遍历i得到一个热力图), 后面三张图像分别是三个位置计算得到的热力图. 由此可见self-attention捕捉到了长范围相关性.


第三章 结论

3.1研究方法

目前GAN的基础研究大致分为如下类型: 对抗训练模式, 定向生成, 网络结构, 分布的度量, 自注意力机制, 网络数目,网络的正则化, 由粗到细生成. 我们认为对抗训练模式和网络的正则化方式是最关键所在. 另外用增强学习的观点来做GAN的研究也是值得考虑的.

3.2应用领域

图3.2.1展示了我们不完全总结的GAN在各个层面方向上的研究.


生成对抗网络 在行业 应用 生成对抗网络研究现状_卷积_09

图3.2.1GAN在各个层面方向上的研究

3.3评价与展望

GAN提出了一种对抗训练的模式, 或者说学习型(数据驱动)的loss, 某种意义上可能会取代一些领域中科研工作者的传统职能. 以视觉为例, 姿态估计任务中,视觉工作者可能会从姿态的先验分布出发做研究, 这些出发点可能会变成了如何设计对抗loss, 用数据驱动方式发掘这些先验.

目前, GAN在判别任务中,在cross domain adaptation 等领域上效果显著. 总体而言作用相当有限. 调研当前主流竞赛可见GAN在这些任务上作用不大. GAN目前大放异彩的任务主要不在识别任务上.

常用的评价指标有FID和IS, 研究发现FID会比IS好不少, 需要更好的评价指标.

参考文献

[1] Generative Adversarial Networks, Goodfellow et al.
[2] Conditional Generative Adversarial Nets, Mirza et al.
[3] Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, Radford et al.
[4] Wasserstein GAN, Ariovsky et al.
[5] Self-Attention Generative Adversarial Networks, Zhang et al.
[6] Generative Multi-Adversarial Networks, Duruakar et al.
[7] Spectral Normalization for Generative Adversarial Networks, Miyato et al.
[8] Progressive Growing of GANs for Improved Quality, Stability, and Variation, Tero et al.
[9] Are GANs Created Equal? Lucic et al.
[10] Grundlehren der mathematischen Wissenschaften, C´edric et al.