码迷,mamicode.com
首页 > 其他好文 > 详细

【干货】通俗理解生成对抗网络GAN(一)基本理论

时间:2020-11-30 15:55:42      阅读:6      评论:0      收藏:0      [点我收藏+]

标签:生成器   集中   ini   min   详细   解释   ann   思想   src   

主要内容:通俗理解对抗网络GAN

1

引言

自2014年Ian Goodfellow提出了GAN(Generative Adversarial Network)以来,对GAN的研究可谓如火如荼。各种GAN的变体不断涌现,下图是GAN相关论文的发表情况:
技术图片
大牛Yann LeCun甚至评价GAN为 “adversarial training is the coolest thing since sliced bread”。

那么到底什么是GAN呢?它又好在哪里?下面我们开始进行介绍。

2

GAN的基本思想

GAN全称对抗生成网络,顾名思义是生成模型的一种,而他的训练则是处于一种对抗博弈状态中的。下面举例来解释一下GAN的基本思想。
技术图片
假如你是一名篮球运动员,你想在下次比赛中得到上场机会。
于是在每一次训练赛之后你跟教练进行沟通:

你:教练,我想打球
教练:(评估你的训练赛表现之后)... 算了吧
(你通过跟其他人比较,发现自己的运球很差,于是你苦练了一段时间)

你:教练,我想打球
教练:... 嗯 还不行
(你发现大家投篮都很准,于是你苦练了一段时间的投篮)

你:教练,我想打球
教练: ... 嗯 还有所欠缺
(你发现你的身体不够壮,被人一碰就倒,于是你去泡健身房)

......

通过这样不断的努力和被拒绝,你最终在某一次训练赛之后得到教练的赞赏,获得了上场的机会。
值得一提的是在这个过程中,所有的候选球员都在不断地进步和提升。因而教练也要不断地通过对比场上球员和候补球员来学习分辨哪些球员是真正可以上场的,并且要“观察”得比球员更频繁。随着大家的成长教练也会会变得越来越严格。

现在大家对于GAN的思想应该有了感性的认识了,下面开始进一步窥探GAN的结构和思想。

3

GAN浅析

3.1 GAN的基本结构

GAN的主要结构包括一个生成器G(Generator)和一个判别器D(Discriminator)。

在上面的例子中的球员就相当于生成器,我们需要他在球场上能有好的表现。而球员一开始都是初学者,这个时候就需要一个教练员来指导他们训练,告诉他们训练得怎么样,直到真的能够达到上场的标准。而这个教练就相当于判别器。

下面我们举另外一个手写字的例子来进行进一步窥探GAN的结构。

技术图片

我们现在拥有大量的手写数字的数据集,我们希望通过GAN生成一些能够以假乱真的手写字图片。主要由如下两个部分组成:

  1. 定义一个模型来作为生成器(图三中蓝色部分Generator),能够输出一个向量,输出手写数字大小的像素图像。
  2. 定义一个分类器来作为判别器(图三中红色部分Discriminator)用来判别图片是真的还是假的(或者说是来自数据集中的还是生成器中生成的),输入为手写图片,输出为判别图片的标签。
    其余的内容在下篇讲解,包括GAN如何进行训练,生成器,判别器的详细解释。

技术图片

推荐阅读:

【干货】人人都能看懂的GRU
【干货】人人都能看懂的LSTM
【基础数学知识】带你理解泰勒展开式本质?

      欢迎关注公众号学习交流~         

技术图片

【干货】通俗理解生成对抗网络GAN(一)基本理论

标签:生成器   集中   ini   min   详细   解释   ann   思想   src   

原文地址:https://blog.51cto.com/15009309/2554170

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!