史上最全GAN综述2020版:算法、理论及应用

  • 时间:
  • 浏览:441
  • 来源:世界杯买球盘口网址app

到场:郭元晨、Geek AI

自从 2014 年 Ian GoodFellow 提出 GAN 模型,生成反抗网络迅速成为了最火的生成式模型。时至今日,基于 GAN 设计的新型算法如雨后春笋般纷纷涌现了出来、对于 GAN 存在的模式坍塌和收敛性等理论问题的深入分析层出不穷,其应用也广泛渗透到了诸如盘算机视觉、自然语言处置惩罚、医疗人工智能等领域中。本文是一份出自陶大程、叶杰平老师等大牛之手的 GAN 详细综述,先容了近年来有关 GAN 模型的相关研究希望,并指出了以后该领域的生长偏向。

论文地址:https://arxiv.org/pdf/2001.06937.pdf

近年来,生成反抗网络(GAN)是一个热门的研究课题。2014 年至今,人们对 GAN 举行了广泛的研究,并提出了大量算法。可是,很少有全面的研究来解释差别 GAN 变体之间的联系以及它们演变的方式。在本文中,我们实验从算法、理论和应用的角度对多种 GAN 方法举行综述。首先,我们详细先容了大多数 GAN 算法的研究念头、数学表征和架构。此外,GAN 已经在一些特定应用上与其它机械学习算法相联合,如半监视学习、迁移学习和强化学习。本文比力了这些 GAN 方法的异同。其次,我们研究了与 GAN 相关的理论问题。第三,我们论述了 GAN 在图像处置惩罚与盘算机视觉、自然语言处置惩罚、音乐、语音与音频、医学以及数据科学中的典型应用。最后,我们指出了 GAN 的一些未来的开放性研究问题。

算法

在本节中,我们首先先容最原始的 GAN。然后,先容其具有代表性的变体、训练及评估方式以及任务驱动的 GAN。

生成反抗网络

当模型都是神经网络时,GAN 架构实现起来很是直观。为了学习生成器在数据 x 上的漫衍 p_g,首先界说一个关于输入噪声变量的先验漫衍 p_z(z)[3],其中 z 是噪声变量。接着,GAN 表现了从噪声空间到数据空间的映射 G(z, θ_g),其中 G 是一个由参数为 θ_g 的神经网络表现的可微函数。除了 G 之外,另一个神经网络 D(x, θ_d) 也用参数 θ_d 界说,D(x) 的输出是一个标量。D(x) 表现了 x 来自真实数据而不是来自生成器 G 的概率。我们对判别器 D 举行训练,以最大化为训练数据和生成器 G 生成的假样本提供正确标签的概率。同时,我们训练 G,最小化 log(1-D(G(z)))。

目的函数

GAN 可以使用种种差别的目的函数。

最原始的极大极小博弈

GAN [3] 的目的函数是

其中 D(x) 是 [1, 0]^T 和 [D(x), 1 - D(x)]^T 间的交织熵。类似地,log(1-D(G(z))) 是 [0, 1]^T 和 [D(G(z)), 1 - D(G(z))]^T 间的交织熵。对于一个牢固的 G,[3] 中给出了最优的判别器 D:

(1) 式中的极大极小博弈可以被重新形式化为:

两个概率漫衍 p(x) 和 q(x) 之间的 KL 散度和 JS 散度界说如下:

因此,(3) 式等价于

因此,GAN 的目的函数和 KL 散度与 JS 散度都相关。

非饱和博弈

实际上,公式 (1) 可能无法为 G 提供足够大的梯度使其很好地学习。一般来说,G 在学习历程的早期性能很差,发生的样本与训练数据有显着的差异。因此,D 可以以高置信度拒绝 G 生成的样本。在这种情况下,log(1-D(G(z))) 是饱和的。我们可以训练 G 以最大化 log(D(G(z))),而非最小化 log(1-D(G(z)))。生成器的损失则变为

这个新的目的函数可以在训练历程中使 D 和 G 的到达相同的不动点,可是在学习初期就提供了大得多的梯度。非饱和博弈是启发式的,而非理论驱动的。然而,非饱和博弈还存在其它问题,如用于训练 G 的数值梯度不稳定。在最优的 D*_G 下,有

因此 E_(x~p_g)[-log(D*_G(x))] 等价于

凭据 (3) 式和 (6) 式,有

因此 E_(x~p_g)[log^(1 - D*_G(x))] 等价于

将 (11) 式代入 (9) 式,可以获得

从 (12) 式可以看出,对非饱和博弈中的替代 G 损失函数的优化是矛盾的,因为第一项目的是使生成的漫衍与实际漫衍之间的差异尽可能小,而由于负号的存在,第二项目的是使得这两个漫衍之间的差异尽可能大。这将为训练 G 带来不稳定的数值梯度。此外,KL 散度是非对称怀抱,这可以从以下两个例子中反映出来

对 G 的两种误差的处罚是完全差别的。第一种误差是 G 发生了不真实的样本,对应的处罚很大。第二种误差是 G 未能发生真实的样本,而处罚很小。第一种误差是生成的样本禁绝确,而第二种误差是生成的样本不够多样化。基于这个原理,G 倾向于生成重复可是宁静的样本,而不愿意冒险生成差别但不宁静的样本,这会导致模式坍塌(mode collapse)问题。

最大似然博弈

在 GAN 中,有许多方法可以近似 (1) 式。假设判别器是最优的,我们想最小化

在 GAN 框架中有其它可能的方法迫近最大似然 [17]。图 1 展示了对于原始零和博弈、非饱和博弈以及最大似然博弈的比力。

由图 1 可以获得三个视察效果。

首先,当样本可能来自于生成器的时候,即在图的左端,最大似然博弈和原始极大极小博弈都受到梯度弥散的影响,而启发式的非饱和博弈不存在此问题。

第二,最大似然博弈还存在一个问题,即险些所有梯度都来自曲线的右端,这意味着每个 minibatch 中只有少少一部门样本主导了梯度的盘算。这讲明减小样本方差的方法可能是提高基于最大似然博弈的 GAN 性能的重要研究偏向。

第三,基于启发式的非饱和博弈的样本方差较低,这可能是它在实际应用中更乐成的可能原因。

M.Kahng 等人 [124] 提出了 GAN Lab,为非专业人士学习 GAN 和做实验提供了交互式可视化工具。Bau 等人 [125] 提出了一个分析框架来可视化和明白 GAN。

代表性的 GAN 变体

与 GAN [126]-[131] 相关的论文有许多,例如 CSGAN [132] 和 LOGAN [133]。在本小节中,我们将先容一些具有代表性 GAN 变体。

InfoGAN

ConditionalGANs(cGANs)

CycleGAN

f-GAN

IntegralProbabilityMetrics(IPMs)

LossSensitiveGAN(LS-GAN)

有一个叫做「The GAN Zoo」的网站(https://github.com/hindupuravinash/the-gan-zoo),枚举了许多 GAN 的变体。更多详细信息请会见该网站。

GAN 的训练

只管理论上存在特有的解决方案,但由于多种原因 [29],[32],[179],GAN 的训练是难题且经常不稳定的。其中一个难题是来自这样一个事实:即 GAN 的最佳权重对应于损失函数的鞍点,而非极小值点。

关于 GAN 训练的论文许多。Yadav 等人 [180] 用预测方法使 GAN 训练越发稳定。[181] 通过使用独立的学习率,为判别器和生成器提出了两个时间尺度更新规则(TTUR),以确保模型可以收敛到稳定的局部纳什平衡。Arjovsky [179] 为全面相识 GAN 的训练动力学(training dynamics)举行了理论探究,分析了为什么 GAN 难以训练,研究并严格证明晰训练 GAN 时泛起的损失函数饱和和不稳定等问题,提出相识决这类问题的一个实用且具有理论依据的偏向,并引入了新的工具来研究它们。Liang 等人 [182] 认为 GAN 的训练是一个一连的学习问题 [183]。

改善 GAN 训练的一种方法是评估训练中可能发生的履历性「症状」。这些症状包罗:生成器坍塌至对于差别的输入只能生成极其相似的样本 [29];判别器损失迅速收敛至零 [179],不能为生成器提供梯度更新;使生成器、判别器这一对模型难以收敛 [32]。

我们将从三个角度先容 GAN 的训练:

目的函数

训练技巧

架构

GAN 的评价指标

在本小节中,我们说明用于 GAN 的一些评价指标 [215],[216]:

InceptionScore(IS)

Modescore(MS)

FrechetInceptionDistance(FID)

Multi-scalestructuralsimilarity(MS-SSIM)

如作甚 GAN 选择一个好的评价指标仍然是一个难题 [225]。Xu 等人 [219] 提出了对 GAN 评价指标的实证研究。Karol Kurach [224] 对 GAN 中的正则化和归一化举行了大规模的研究。另有一些其它对于 GAN 比力性的研究,例如 [226]。参考文献 [227] 提出了几种作为元怀抱的怀抱依据,以指导研究人员选择定量评价指标。恰当的评价指标应该将真实样本与生成的假样本区离开,验证模式下降(mode drop)或模式坍塌,以及检测过拟合。希望未来会有更好的方法来评价 GAN 模型的质量。

任务驱动的 GAN

本文的重点关注 GAN 模型。现在,对于涉及特定任务的精密相关的领域,已经有大量的文献。

半监视学习

迁移学习

强化学习

多模态学习

GAN 已被用于特征学习领域,例如特征选择 [277],哈希 [278]-[285] 和怀抱学习 [286]。MisGAN [287] 可以通过 GAN 使用不完整数据举行学习。[288] 中提出了进化型 GAN(Evolutionary GAN)。Ponce 等人 [289] 联合 GAN 和遗传算法为视觉神经元演化图像。GAN 还被用于其它机械学习任务 [290],例如主动学习 [291],[292],在线学习 [293],集成学习 [294],零样本学习 [295],[296] 和多任务学习 [297]。

理论

最大似然预计(MLE)

并不是所有生成模型都使用 MLE。一些生成模型不使用 MLE,但可以被修改为使用 MLE(GAN 就属于此类)。可以简朴地证明,最小化 p_data(x) 和 p_g(x) 之间的 KL 散度(KLD)等价于最大化样本数 m 增加时的对数似然:

为了保证符号一致性,将模型概率漫衍 p_θ(x)替换为 p_g(x)。有关 MLE 和其他统计预计量的更多信息,请参阅 [298] 的第 5 章。

模式坍塌

GAN 很难训练,而且在 [26],[29] 已经视察到它们经常受到模式坍塌 [299],[300] 的影响,其中生成器学习到仅仅凭据少数几种数据漫衍模式生成样本,而忽视了许多其它的模式(纵然整个训练数据中都存在来自缺失模式的样本)。在最坏的情况下,生成器仅生成单个样本(完全坍塌)[179],[301]。

在本小节中,我们首先引入 GAN 模式坍塌的两种看法:散度看法和算法看法。然后,我们将先容通过提出新的目的函数或新的架构以解决模式坍塌的方法,包罗基于目的函数的方法和基于架构的方法。

其它理论问题

其它理论问题包罗:

1. GAN 是否真正学到了漫衍?

2. 散度/距离

3. 逆映射

4. 数学看法(例如优化)

5. 影象

应用

如前所述,GAN 是可以由随机向量 z 生成传神的样本的强大的生成模型。我们既不需要知道显式的真实数据漫衍,或举行其他任何数学假设。这些优点使 GAN 可以被广泛应用于许多领域,例如图像处置惩罚和盘算机视觉、序列数据等。

图像处置惩罚和盘算机视觉

GAN 最乐成的的应用是在图像处置惩罚和盘算机视觉方面,例如图像超分辨率、图像生成与操作和视频处置惩罚。

超分辨率

图像合成和操作

纹理合成

目的检测

视频应用

序列数据

GAN 也在序列数据上取得了一定成就如自然语言、音乐、语音、音频 [376], [377]、时间序列 [378]–[381] 等。

开放性研究问题

GAN 领域仍然存在许多开放性研究问题。

将 GAN 用于离散数据:GAN 依赖于生成参数关于生成样本是完全可微的。因此,GAN 无法直接生成离散数据,例如哈希编码和独热(one-hot)向量。解决此类问题很是重要,因为它可以释放 GAN 在自然语言处置惩罚和哈希盘算中的潜力。Goodfellow 提出了三种解决这个问题的方法 [103]:使用 Gumbel-softmax [448],[449] 或离散漫衍 [450];使用强化算法 [451];训练生成器以采样可转换为离散值的一连值(例如,直接对单词的嵌入向量举行采样)。

另有其他方法朝着该研究偏向生长。Song 等人 [278] 使用了一个一连函数来近似哈希值的符号函数。Gulrajani 等人 [19] 用一连生成器建模离散数据。Hjelm 等人 [452] 引入了一种用离散数据训练 GAN 的算法,该算法使用来自判别器的预计差异怀抱来盘算生成样本的重要性权重,从而为训练生成器提供了计谋梯度。可以在 [453],[454] 中找到其它的相关事情。在这个有趣的领域需要有更多的事情泛起。

新的散度:研究者提出了一系列用于训练 GAN 的新的积分概率怀抱(IPM),如 Fisher GAN [455],[456],均值和协方差特征匹配 GAN(McGan)[457] 和 Sobolev GAN [458]。是否另有其它有趣的散度种别?这值得进一步的研究。

预计不确定性:通常来说,我们拥有的数据越多,预计的不确定性会越小。GAN 不会给出生成训练样本的漫衍,但 GAN 想要生成和训练样天职布相同的新样本。因此,GAN 既没有似然也没有明确界说的后验漫衍。现在已经有关于这个偏向研究的开端实验,例如 Bayesian GAN [459]。只管我们可以使用 GAN 生成数据,可是如何怀抱训练好的生成器的不确定性呢?这是另一个值得未来研究的有趣问题。

理论:关于泛化问题,Zhang 等人 [460] 提出了在差别评价指标下的真实漫衍和学习到的漫衍之间的泛化界。当用神经距离举行评价时,[460] 中的泛化界讲明,只要判别器的荟萃足够小,无论假设集或生成器荟萃的巨细如何,泛化性都是可以保证的。Arora 等人 [306] 提出了一种新颖的测试方法,使用离散概率的「生日悖论」来预计支撑集巨细,而且讲明纵然图像具有较高的视觉质量,GAN 也会受到模式坍塌的影响。更深入的理论分析很是值得研究。我们如何履历性地测试泛化性?有用的理论应当能够选择模型的种别、容量和架构。这是一个值得未来事情深入研究的有趣问题。

其它:GAN 领域另有许多其它重要的研究问题,如评估方式(详见 3.4 小节)和模式坍缩(详见 4.2 小节)。

本文为机械之心编译,转载请联系本民众号获得授权。

------------------------------------------------