GAN网络的通俗理解

2018-08-22  本文已影响0人  lishuoshi1996

本文浅显理解通俗的GAN模型

核心思想

GAN的核心思想在于博弈,GAN有两部分模型构成,一个是生成模型(G),一个是判别模型(D)。生成模型用于生成一个逼真的样本,判别模型用于判断模型的输入是真是假。通俗来讲,就是生成模型要不断提升自己的造假本领,最终达到骗过判别模型的目的。而判别模型则不断提升自己的判别能力,达到辨别真假的目的,这也就形成了博弈,也就是对抗。

设计者的目的是什么

由上文的分析可以发现,两个网络处于一个矛盾的关系,那么对抗的结果究竟是什么,这个要取决于我们的目的是什么,比如说,我们的目的是生成逼真的人脸图像,那么自然就设计生成网络博弈获胜了。

GAN是如何实现的

在理解GAN网络的一些基本思想后,我们应该如何根据这一思想去设计实现GAN呢?

首先,我们有两个网络模型,生成网络与判别网络,这两个网络是相对独立的,我们要找到的,是如何实现这个博弈的过程,也就是如何对模型进行训练。

这里,我们采用的大方法叫做单独交替迭代训练。

单独交替迭代训练

1.首先,我们有一个简单的生成网络模型(当然未训练时效果很差),那么我们给这个模型一个随机的输入,便会输出得到一个假的样本集,而真的样本集我们本身就有,所以我们得到了真假数据集。

2.在得到真假数据集之后,我们开始对判别模型进行训练,训练过程就是一个有监督的二分类问题,即给定一个样本,能判断出其是真实存在的(真样本),还是利用生成网络生成的(假样本)。

3.在完成判定模型的训练之后,我们要提升生成模型的造假能力,我们将生成网络与训练好的判定网络串接,我们的目标是生成可以迷惑判定模型的图像,所以我们给生成网络一个随机输入,损失函数是判定网络的输出是否为真(是否达到迷惑的效果),根据损失函数,对生成网络的参数进行更新,(注意:这里判定网络的参数是不改变的,因为判定网络是用来评价生成网络的造假能力,计算损失的)

4.完成生成网络的训练之后,再次给定随机输入,得到新的假的数据集,将最新得到真假样本输入给判定网络进行训练,从而完成对判定网络的再一次训练。

5.不断重复上述过程,直到满足设计者设定的训练次数。

至此,就基本实现了一个传统的GAN网络了

上一篇下一篇

猜你喜欢

热点阅读