生成对抗网络原理简介

GAN原创论文解读

引言

GAN(Generative Adversarial Nets),又称生成对抗网络,原创论文由Ian J. Goodfellow等人于2014年发表,在近几年的CV领域,诞生了BigGAN,CycleGAN等经典算法,也诞生了AI换脸,高清重建,黑白电影上色等重要应用。此外GAN在NLP和语音领域也取得了比较重要的成果,例如NLP领域的SeqGAN,NDG,语音领域的WaveGAN等多领域有较多的应用和推广。

对于GAN的理论模型和原理,可以参考原文的链接

标题和摘要

标题:generative即生成式模型,adversarial即对抗网络,nets是networks的缩写,直译为生成对抗网络。

摘要:围绕framework,提到了生成器(Generator)和判别器(Discriminator),说明了其研究价值。

简介和相关工作

作者提到了一般的生成式模型有两种构建方法

  • 利用最大化似然函数计算出数据的分布,但是对于高维的概率计算十分困难
  • 所以,作者提出了使用一个模型去近似一个分布,这样可以避免计算上的麻烦

这里作者举了一个很形象的例子,在提出的对抗网络框架中,生成模型与对手竞争:一个鉴别模型,学习确定样本是来自模型分布还是数据分布。生成模型可以被认为是类似于一个造假者团队,试图制造假币并在不被检测的情况下使用它,而鉴别模型类似于警察,试图检测假币。这个游戏的竞争促使两队改进他们的方法,直到假币和真币无法区分,所谓道高一尺,魔高一丈。

该框架可以为多种模型和优化算法生成特定的训练算法。在本文中,作者探讨了生成模型通过一个多层感知器(mlp)传递随机噪声来生成样本的特殊情况,并且该判别模型也是一个多层感知器。作者把这种特殊情况称为对抗网络。在这种情况下,可以只使用非常成功的BP和Dropout来训练这两个模型,并且只使用正向传播从生成模型中提取样本,不需要近似的推理或马尔可夫链。

相关工作这里,作者总结了一些前人的经验和相关研究,不做过多阐述

原理介绍

为了学习生成器在数据x上的分布Pg,作者定义了输入噪声变量Pz (z)的先验,然后将数据空间的映射表示为G(z;θg),其中G是一个可微函数,由参数为多层感知器表示,参数为θg。

作者还定义了第二个多层感知器D(x;θd),它输出单个标量。D (x)表示x来自于数据而不是Pg的概率。作者训练D以最大限度地为来自G的训练例子和样本分配正确的标签的概率。作者同时训练G以最小化log(1−D(G(z)))。换句话说,D和G玩以下具有值函数V(G,D)的双人极大极小游戏:

image-20230728232611005

在下一节中,作者将对对抗性网络进行理论分析,本质上表明,当G和D具有足够的容量时,即在非参数极限下,训练准则允许人们恢复数据生成的分布。关于该方法的更形象化的解释,请参见图1。在实践中,作者必须使用迭代的数值方法来实现游戏。在训练的内层循环中优化D在计算上是禁止的,并且在有限的数据集上会导致过拟合。相反,作者在优化D的k步步骤和优化G的一个步骤之间交替进行。只要G的变化足够缓慢,D就会保持在其最优解附近。该程序在算法1中正式提出

在实践中,方程(1)可能不能为G提供足够的学习梯度。在学习早期,当G较差时,D可以高可信度地拒绝样本,因为它们与训练数据明显不同。在这种情况下,log(1−D(G(z)))饱和。与其训练G最小化log (1−D(G(z)),不如训练G最大化log D(G(z))。这个目标函数导致变化的G和D有相同不动点,但在学习早期提供了更强的梯度。

理论成果

生成器G隐式定义了概率分布Pg为z∼Pz时得到的样本G (z)的分布。因此,如果给定足够的容量和训练时间,希望算法1收敛到一个良好的Pdata估计量。本节的结果是在非参数设置下完成的,例如,通过研究概率密度函数空间中的收敛性来表示一个具有无限容量的模型。作者将在第1节中展示,这个极大极小博弈对于Pg = Pdata具有全局最优。然后,将在第2节中展示,算法1优化了Eq 1,从而得到了期望的结果。

image-20230730165539182

图1:生成对抗网络通过同时更新鉴别分布(D、蓝色、虚线)进行训练,从而区分数据生成分布(黑色、虚线)px和生成分布Pg (G)的样本(绿色、实线)的样本。较低的水平线是z采样的域,在这种情况下是均匀的。上面的水平线是x的结构域的一部分。向上的箭头显示了映射x = G (z)如何将非均匀分布的Pg施加到转换后的样本上。G在高密度区域收缩,在Pg的低密度区域膨胀。

(a)考虑一个接近收敛的对抗对: Pg类似于Pdata,D是一个部分精确的分类器。

(b)在算法的内环中,D被训练来区分样本和数据,收敛到
D ∗ ( x ) = P   d a t a   ( x ) P   d a t a   ( x ) + P   g   ( x ) D^∗ (x) = \frac{P~data~ (x)}{P~data~ (x)+P~g~ (x)} D(x)=P data (x)+P g (x)P data (x)
(c ) 在G更新后,D的梯度引导G (z)流向更有可能被归类为数据的区域。

(d)经过几个步骤的训练,如果G和D有足够的容量,它们将达到一个两者都不能改善的点,因为Pg=Pdata。鉴别器无法区分两种分布,所以D(X)=0.5。

image-20230730165744995

基于梯度下降,先取m个噪音和m个真实样本更新判别器,再取m个噪音更新生成器

这里的k是一个超参数,太小更新不足,生成器更新缓慢;太大判别器更新过好,生成模型更新梯度消失

这里,回到一开始的例子,当警察的能力太弱,那很容易出现类似于鼠头鸭脖那样的事件,即使假钞一眼丁真,但还是能流入市场,造假者的制作工艺不会进步。

反之,如果警察的能力过强,当造假者团队还没来得及提升技术就被一锅端了,从根上断了,后面就不会有造假钞这一回事了。

一般来说,只有两者相爱相杀,才能共同进步,造假钞的技术才能提升,逐渐逼真,达到很好的效果。

1. Global Optimality of Pg = Pdata

作者首先考虑任意给定的生成器G的最优鉴别器D。

命题1:对于G是固定的,最优鉴别器D为

image-20230730170241581

证明:

image-20230730170305719

image-20230730170322213

2. Convergence of Algorithm 1

image-20230730180017826

事实上,算法一很难收敛,给后人留了个坑。

image-20230730170616081

表1: Parzen基于窗口的对数似然估计。在MNIST上报告的数字是在测试集上的样本的平均对数似然值,以及跨实例计算的平均值的标准误差。在TFD上,作者计算了数据集的折叠之间的标准误差,并使用每个折叠的验证集选择了不同的σ。在TFD上,σ对每个折叠进行交叉验证,并计算每个折叠的平均对数似然值。对于MNIST,作者将其与数据集的实值(而不是二进制)版本的其他模型进行了比较。

对数似然是一种用于衡量概率模型的拟合程度的指标。对数似然越大,意味着模型的拟合效果越好。显然,GAN的似然估计在MNIST和TFD数据集上要优于其他的几个模型。

实验

在一系列数据集的训练,包括MNIST、多伦多人脸数据库(TFD)和CIFAR-10 ,生成器使用线性激活和sigmod激活的混合,而鉴别器网使用maxout激活。采用dropout对鉴别网进行训练。虽然理论框架允许在生成器的中间层使用dropout和其他噪声,但作者只使用噪声作为生成器网络的最底层的输入。

实验结果在上述结论部分有所展示,不再赘述。

优缺点

  1. 缺点主要是没有明确的表示Pg (x),而D必须同步与G训练期间(特别是G不能训练太多,导致没有更新D)。简言之,就是k的超参数选取,G和D的关系很难平衡好。

  2. 优点

    • 不需要马尔可夫链,只使用反向传播来获得梯度,在学习过程中不需要推理,并且在模型中可以包含各种各样的函数。表2(文末)总结了生成对抗网络与其他生成建模方法的比较。

    • 对抗性模型也可以获得一些统计优势,因为生成器没有直接更新的数据示例(真正样本),而只有梯度流过鉴别器。这意味着输入的部分不会直接复制到生成器的参数中,导致过拟合。

    • 对抗性网络的另一个优点是,它们可以表示非常尖锐的,甚至是退化的分布,而基于马尔可夫链的方法要求分布有些模糊,以便链能够在模式之间混合。后期研究,发现也不完全是这样。

事实上,在GAN这篇论文发表之后,后人陆陆续续发现问题有很多。

诸如算法1很难收敛,训练G和D的度很难控制等,可以参考文章

结论和未来工作

  • 成果展示:

    • 在计算机视觉上的一些拓展应用,但是除了数字以外,图片的效果很差,分辨率很低
    • 不过,类似于黑白电视刚刚问世,这在当时也算是一个创新,令人震撼
  • 未来研究:

    • conditional GAN,在原有的基础上添加一些条件作为输入控制,例如:风格迁移
    • 学习到的近似推理可以通过训练一个辅助网络来预测给定的x来实现,与WS算法类似。
    • 来实现确定性MP-DBM的随机扩展(MP-DBM是一种概率图模型,用于建模复杂的数据分布)
    • 可用于半监督模型的拓展,提高分类器的性能
    • 效率提升:可以设计协调好G-D两者的关系或者确定更好的分布来加速训练。
  • 困难和挑战:

image-20230730180258232

是一种概率图模型,用于建模复杂的数据分布)

  • 可用于半监督模型的拓展,提高分类器的性能

  • 效率提升:可以设计协调好G-D两者的关系或者确定更好的分布来加速训练。

  • 困难和挑战:
    image-20230730180258232
    以上就是全部内容了,感兴趣的小伙伴可以深入了解一下,有帮助的记得点个赞呦~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值