GAN入门教程|从0开始,手把手教你学会最火的神经网络(学习笔记)

1.知乎中文链接:https://zhuanlan.zhihu.com/p/27440393
2.英文原文链接(可以直接在页面上点“Run”看代码效果):
https://www.oreilly.com/learning/generative-adversarial-networks-for-beginners
3.概要:
GAN中包含两个模型:生成模型(Generative Model)和判别模型(Discriminative Model)。
这里写图片描述
判别模型是一个分类器,它判断给定的图片到底是来自数据集的真实图像,还是人工创建的假图像。这基本上就是一个表现为卷积神经网络(CNN)形式的二元分类器。

生成模型通过反卷积神经网络将随机输入值转化为图像。

在数次训练迭代的历程中,判别器和生成器的的权重和偏差都是通过反向传播训练的。判别器学习从一堆生成器生成的假数字图像中,找出真正的数字图像。与此同时,生成器通过判别器的反馈学习如何生成具有欺骗性的图片,防止被判别器识别出来。

构建和调试GAN就复杂在它有两个损失函数:一个鼓励生成器创造出更好的图像,另一个鼓励判别器区分哪个是真图像,哪个是生成器生成的。

我们同时训练生成器和判别器,当判别器能够很好区分图像来自哪里时,生成器也能更好地调整它的权重和偏差来生成更以假乱真的图像。

需要制定两个优化器,我们一般选择Adam优化算法

训练中容易出现的问题:
(1)判别器压制了生成器,肯定地把生成图像定义为假的。当判别器以绝对肯定时,会使生成器无梯度可降。这就是为什么我们建立判别器来产生未缩放的输出,而不是通过一个sigmoid函数将其输出推到0或1。
(2)模式崩溃,生成器发现并利用了判别器中的一些弱点,如果它不顾生成器输入的变量,生成了很多相似图像,你是可以识别出这种模式崩溃的。模式崩溃有时可以通过“强化”鉴别器来修正,例如通过调整其训练速率或重新配置它的层。

生成对抗(GAN)网络学习汇总list: https://blog.csdn.net/yunyi4367/article/details/80489962

猜你喜欢

转载自blog.csdn.net/yunyi4367/article/details/80492656