美文网首页
生成式对抗网络GAN(一)

生成式对抗网络GAN(一)

作者: 影醉阏轩窗 | 来源:发表于2018-07-26 22:27 被阅读0次
封面图

上面这张图很好的很好的阐述了生成式对抗网络的结构~~博弈论

2014年,来自蒙特利尔大学的Ian Goodfellow及其同事介绍了Generative Adversarial Networks(GAN)。这是一种学习数据底层分布的新方法,可以生成看起来与现实生活中的人造物体非常相似的人造物体。

GAN背后的想法非常简单。两个网络 - 一个发电机和一个鉴别器互相对战。生成器的目标是生成一个对象,比如一个人的图片,看起来像一个真实的对象。Discriminator的目标是能够分辨生成和真实图像之间的区别。

结构图

此图给出了生成性对抗网络的概述。目前最重要的是要理解GAN是使两个网络协同工作的一种方式 - 而Generator和Discriminator都有自己的架构。为了更好地理解这个想法的来源,我们需要回忆一些基本的代数并问自己 - 我们怎么能欺骗一个比大多数人更好地分类图像的神经网络?


对抗性的例子

这里是直接翻译过来的,未加更改,若果不理解就直接往下看~~

在我们详细描述GAN之前,让我们看一下类似的主题。给定一个训练有素的分类器,我们可以生成一个欺骗网络的样本吗?如果我们这样做,它会是什么样子?

事实证明,我们可以。

甚至更多 - 对于几乎任何给定的图像分类器,可以将图像变换为另一个图像,这将被高度置信地错误分类,同时在视觉上与原始图像无法区分!这种过程称为对抗性攻击,生成方法的简单性解释了很多关于GAN的内容。
精心计算的示例中的对抗性示例,其目的是错误分类。以下是此过程的说明。左边的熊猫与右边的熊猫无法区分 - 但它被归类为长臂猿。

例子

图像分类器本质上是高维空间中的复杂决策边界。当然,在对图像进行分类时,我们无法绘制这个边界。但我们可以安全地假设,当训练结束时,网络并不是针对所有图像进行推广的 - 仅针对我们在训练集中的那些图像。这种概括可能不是现实生活的良好近似。换句话说,它适用于我们的数据 - 我们将利用它。

让我们开始为图像添加随机噪声并使其非常接近零。我们可以通过控制噪声的L2范数来实现这一点。数学符号不应该让您担心 - 出于所有实际目的,您可以将L2范数视为向量的长度。这里的诀窍是你在图像中拥有的像素越多 - 它的平均L2范数就越大。因此,如果噪声的范数足够低,您可以预期它在视觉上难以察觉,而损坏的图像将远离矢量空间中的原始图像。

为什么?

好吧,如果HxW图像是矢量,那么我们添加到它的HxW噪声也是矢量。原始图像具有相当密集的各种颜色 - 这增加了L2规范。另一方面,噪声是一组视觉上混乱的相当苍白的像素 - 一个小范数的矢量。最后,我们将它们添加到一起,为损坏的图像获取新的矢量,这与原始图像相对接近 - 但却错误分类!

现在,如果原始类Dog的决策边界不是那么远(就L2范数而言),这种加性噪声将新图像置于决策边界之外。

您不需要成为世界级拓扑学家来理解某些类别的流形或决策边界。由于每个图像只是高维空间中的矢量,因此在其上训练的分类器将“所有猴子”定义为“由隐藏参数描述的该高维斑点中的所有图像矢量”。我们将该blob称为该类的决策边界。

好的,所以,你说我们可以通过添加随机噪声轻松欺骗网络。它与生成新图像有什么关系?


数学模型

现在我们假设有两个结构模型,相当于两个神经网络:

  • 设第一个网络名字叫Discriminate(简称D)
  • 设第二个网络名字叫Generater (简称G)
网络模型

这是关于判别网络D和生成网络G的价值函数(Value Function),训练网络D使得最大概率地分对训练样本的标签(最大化log D(x)),训练网络G最小化log(1 – D(G(z))),即最大化D的损失。训练过程中固定一方,更新另一个网络的参数,交替迭代,使得对方的错误最大化,最终,G 能估测出样本数据的分布。生成模型G隐式地定义了一个概率分布Pg,我们希望Pg 收敛到数据真实分布Pdata。论文证明了这个极小化极大博弈当且仅当Pg = Pdata时存在最优解,即达到纳什均衡,此时生成模型G恢复了训练数据的分布,判别模型D的准确率等于50%。

流程图 损失公式

<u>这里仅代表我个人立场,不知道对不对,错的地方麻烦您指正</u>

我们有没有发现一个问题?上面的网络结构不可控?

比如我想生成1000个1,这个就是一件麻烦的事情了。

怎么办呢?下面讲解。。。。。。

Conditional GAN

接着上面最后一个问题:怎么才能生成我指定的图像呢?

指定标签去训练

顾名思义就是把标签也带进公式,得到有条件的公式:

公式 模型图

具体怎么让CGAN更好的优化,这里不解释,就是平常的优化网络了。

DCGAN

反卷积GAN

这个网络很好理解,就是利用了反卷积的思想在里面,具体好在哪里我也不知道,反正结果是比上面的两个网络进行了改进。

如果有不理解的,可以先看一下我之前的文章,关于FCN和反卷积的。

参考文章:

本文大部分翻译此外文

通俗易懂

小博客的总结

唐宇迪大神

相关文章

网友评论

      本文标题:生成式对抗网络GAN(一)

      本文链接:https://www.haomeiwen.com/subject/rnpimftx.html