深入浅出GAN:生成对抗网络基础教程(一)

更新:11-09 现代故事 我要投稿 纠错 投诉

GAN原理

生成对抗网络包含两个子网络:生成网络(Generator,G)和鉴别器网络(Discriminator,D)。生成网络负责学习样本的真实分布,判别器网络负责将生成网络采样的样本与真实样本进行比较。区分。

GAN架构图

GAN网络结构

生成网络 G()生成网络G具有与自动编码器的Decoder类似的功能。它从先验分布中采样隐藏变量,通过生成网络G的参数化分布得到生成样本,如下图。隐藏变量的先验分布可以假设属于某个已知分布,例如多元均匀分布。

生成网络可以用深度神经网络参数化,如下图所示,隐藏变量是从均匀分布中采样的,从多层参数化的分布中采样的转置卷积层网络样本已发布。

由转置卷积组成的生成网络判别网络 D()与普通二分类网络具有类似的功能。它接受输入样本,包括从真实数据分布中采样得到的样本,也包括采样自生成网络的假样本、和共同构成了训练数据判别网络的集合。判别网络的输出是属于真实样本的概率。我们将所有真实样本的标签标记为1,将生成网络生成的样本标记为0。通过最小化判别网络的预测值和标签之间的误差来优化判别式网络参数。

生成网络和判别网络

GAN的损失函数

我们的目标很明确,不仅要不断提高判别器区分真假图像样本的能力,还要不断改进生成器以生成更真实的图像,让判别器越来越难判别器来区分。

对于判别网络 D,其目标是能够区分真样本和假样本。即最小化图片的预测值与真实值之间的交叉熵损失函数:

其中,表示真实样本在判别网络中的输出,是判别网络的参数集,是生成样本010-6的输出9509 在判别网络,01 0-69527是的标签是,因为真实样本被标记为true。是生成样本的的标签。由于生成的样本被标记为false,因此为。基于二分类问题的交叉熵损失函数定义:

因此判别网络的优化目标为:

去掉中的负号,将问题转换为问题,并按照预期的形式写出:

对于生成网络G(),我们希望能够很好地欺骗判别网络,假样本在判别网络的输出中尽可能接近真实标签,越好。也就是说,在训练生成网络时,我们希望判别网络的输出尽可能接近1。此时的交叉熵损失函数为:

将问题转换为问题,并按照预期的形式编写:

然后等价转换为:

GAN的优化过程并不像寻找损失函数的最小值,而是保持生成和判别两种力量的动态平衡。因此,它的训练过程比一般的神经网络要困难得多。

统一损失代价函数

将判别网络的目标和生成网络的目标结合起来,写成min-max形式:

最初的GAN论文中:

G)=mathbb{E}_{boldsymbol{x} sim p_{text {data }}(boldsymbol{x})}[log D(boldsymbol{x})]+mathbb{E}_{boldsymbol{z} sim p_{boldsymbol{z}}(boldsymbol{z})}[log (1-D(G(boldsymbol{z})))]" />这里为了好理解,把各个符号梳理的更清晰了,注意符号和网络参数的对应。理想情况下,会有更精确的鉴别真伪数据的能力,经过大量次数的迭代训练会使尽可能模拟出以假乱真的样本, 最终整个GAN会达到所谓的纳什均衡, 即对于生成样本和真实样本鉴别结果为正确率和错误率各占50%。下面具体从理论层面来推导。

纳什均衡

现在从理论层面进行分析, 通过博弈学习的训练方式,生成器 G 和判别器 D 分别会达到什么状态。 具体地,来看以下 2 个问题:问题1:固定生成器, 判别器会收敛到什么最优状态?问题2:在 鉴别器达到最优状态后,会收敛到什么状态?首先我们通过一维正态分布的例子给出一个直观的解释,如下图所示,黑色虚线曲线代表了真实数据的分布, 为某正态分布, 绿色实线代表了生成网络学习到的分布, 蓝色虚线代表了判别器的决策边界曲线, 图中(a)(b)(c)(d)分别代表了生成网络的学习轨迹。在初始状态,如图 (a)所示,分布与差异较大,判别器可以很轻松地学习到决策边界,即图(a)中的蓝色虚线,将来自的采样点判定为 0,中的采样点判定为 1。 随着生成网络的分布越来越逼近真实分布,判别器越来越困难将真假样本区分开,如图 (b)(c)所示。 最后,生成网络性能达到最佳,学习到的分布,此时从生成网络中采样的样本非常逼真, 判别器无法区分,即判定为真假样本的概率均等,如图(d)所示。 直观解释

问题1:判别器D状态

固定生成器G的参数,判别器D最佳能达到的状态:证明:对于给定的生成器G,要让判别器D达到最优,我们的目标是最大化损失函数,其积分形式为:对于给定的,真实分布始终是固定的,所以和都是定值,于是对于判别器D,要找出的最大值,其中是判别器网络参数,对于函数,不难得到在处取得极大值且是最大值。因此可得的极值点也为故判别器能达到的最佳状态为定理中给出的式子。

问题2:生成器G状态

现在考虑第二个问题。JS 散度(Jensen–Shannon divergence)对于KL散度,,是不对称的。但JS散度是对称的。 当达到时,考虑此时和的散度:考虑到判别网络到达时,此时的损失函数为:于是我们可以得到:对于生成网络而言,目标是最小化损失函数,由于,因此取得最小值仅在时(此时),取得最小值:此时生成网络达到状态是:即的学到的分布与真实分布一致,网络达到纳什均衡点,此时:即对于生成器生成的图像有0.5的概率被判定为真,也有0.5的概率被判定为假。

GAN训练过程

算法过程

参考资料

GoodfellowIan, Pouget-AbadieJean, MirzaMehdi, XuBing, Warde-FarleyDavid, OzairSherjil, . . . BengioYoshua. (2014). Generative Adversarial Nets Radford, Alec, Luke Metz, and Soumith Chintala. (2015).Unsupervised representation learning with deep convolutional generative adversarial networks. https://www.jianshu.com/p/058fd15cfa52 https://zhuanlan.zhihu.com/p/83476792

用户评论

久爱不厌

听起来很有意思,一直想了解一下GAN!

    有19位网友表示赞同!

熟悉看不清

终于有机会学习一下GAN了,感觉这个技术领域很火爆。

    有9位网友表示赞同!

青衫故人

对生成对抗网络还是挺好奇的,这篇文章能给我一些入门知识吗?

    有12位网友表示赞同!

赋流云

想要进一步了解GAN的原理和应用场景,期待这篇文章能让我有所收获。

    有8位网友表示赞同!

弃我者亡

这篇文章能从基础讲解到高级应用吗?

    有18位网友表示赞同!

花海

我一直对AI生成图片的事情很感兴趣,想看看GAN如何实现这个效果。

    有13位网友表示赞同!

情如薄纱

学习GAN可以帮我更好地理解深度学习吧?

    有10位网友表示赞同!

爱你心口难开

我听说GAN在图像处理和视频制作方面有很好的应用,这篇文章能解释一下吗?

    有7位网友表示赞同!

凝残月

看了标题就知道肯定要深入了解GAN了!

    有10位网友表示赞同!

墨城烟柳

希望这篇文章能够用通俗易懂的语言讲解GAN的概念。

    有12位网友表示赞同!

暖瞳

终于有机会学习下这个厉害的技术了!

    有12位网友表示赞同!

服从

GAN的发展历程是怎么样的?我想了解一下它的历史和发展趋势。

    有15位网友表示赞同!

柠夏初开

期待作者能分享一些使用GAN项目成功的案例!

    有14位网友表示赞同!

巷陌繁花丶

这篇文章能不能教我怎么自己搭建一个简单的GAN模型呢?

    有17位网友表示赞同!

寂莫

最想知道的就是GAN的局限性是什么,这篇文章能讲清楚吗?

    有6位网友表示赞同!

残留の笑颜

GAN在未来有什么发展方向呢? 期待作者展望一下未来的应用场景。

    有15位网友表示赞同!

坠入深海i

GAN虽然厉害,但是它会不会带来一些伦理问题呢?

    有12位网友表示赞同!

夏日倾情

看到标题就想起了一些用GAN生成图片作品的感觉了!

    有16位网友表示赞同!

你与清晨阳光

我想尝试用GAN进行创作,这篇文章能给我一些实践建议吗?

    有17位网友表示赞同!

呆檬

学习GAN的过程一定很有挑战性吧!期待作者的分享。

    有9位网友表示赞同!

【深入浅出GAN:生成对抗网络基础教程(一)】相关文章:

1.动物故事精选:寓教于乐的儿童故事宝库

2.《寓教于乐:精选动物故事助力儿童成长》

3.探索动物旅行的奇幻冒险:专为儿童打造的童话故事

4.《趣味动物刷牙小故事》

5.探索坚韧之旅:小蜗牛的勇敢冒险

6.传统风味烤小猪,美食探索之旅

7.探索奇幻故事:大熊的精彩篇章

8.狮子与猫咪的奇妙邂逅:一场跨界的友谊故事

9.揭秘情感的力量:如何影响我们的生活与决策

10.跨越两岸:探索彼此的独特世界

上一篇:探索科学前沿:顶级期刊Nature子刊、JACS、Angew等计算与实验研究综述 下一篇:《金刚般若波罗蜜经》第一卷:文字智慧与心灵修养之道