GAN之父在NIPS 2016上做的报告:两个竞争网络的对抗(含译文下载)

2024-02-01 10:59

本文主要是介绍GAN之父在NIPS 2016上做的报告:两个竞争网络的对抗(含译文下载),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GAN之父在NIPS 2016上做的报告:两个竞争网络的对抗


作者:Ian Goodfellow
翻译:七月在线DL翻译组
译者:范诗剑 汪识瀚 李亚楠
审校:管博士 寒小阳 加号
责编:翟惠良 July
声明:本译文仅供学习交流,有任何翻译不当之处,敬请留言指正。转载请注明出处。
下载:https://ask.julyedu.com/question/7664


前言

    今年春节前,萌生一个想法,深度学习越发火热,但一些开创性的论文多半来自国外,如果组织一些朋友把这些英文论文翻译成中文,是不是可以让信息流通的更快、更顺畅?

    说干就干。春节前两周组建好七月在线DL翻译组,然后翻译组的小伙伴们即开始翻译,有一组更是在春节期间翻译了GAN之父在NIPS 2016上做的长达60页的报告,当时着实震惊了一把。而且,这篇报告中的GAN也不过是2016年刚火起来,如此,本报告兼具经典和最新,值得好好学习一下。


    下面,我们就来看看GAN之父到底在这篇长达60页的论文当中说了些啥。

    事情回到2016年的NIPS上,Ian Goodfellow做了主题为《生成对抗网络(Generative Adversarial Networks)》的报告,当时他的报告包括以下主题:
  1. 为什么生成式模型是一个值得研究的课题
  2. 生成式模型的工作原理,以及与其他生成模型的对比
  3. 生成式对抗网络的原理细节
  4. GAN相关的研究前沿
  5. 目前结合GAN与其他方法的主流图像模型
关于原英文精辟演示文稿请点击——
PDF版:www.iangoodfellow.com/slides/2016-12-04-NIPS.pdf
KeyNote版:www.iangoodfellow.com/slides/2016-12-04-NIPS.key


一句话描述GAN——

    GAN之所以是对抗的,是因为GAN的内部是竞争关系,一方叫generator,它的主要工作是生成图片,并且尽量使得其看上去是来自于训练样本的。另一方是discriminator,其目标是判断输入图片是否属于 真实训练样本
    更直白的讲,将generator想象成假币制造商,而discriminator是警察。generator目的是尽可能把假币造的跟真的一样,从而能够骗过discriminator,即生成样本并使它看上去好像来自于真实训练样本一样。

如下图中的左右两个场景:


为什么要研究GAN

    你或许会这么以为:对于计算机视觉领域该模型虽然能提供更多的图像,但这恰恰是真实世界并不缺少的


GAN的基本原理

生成对抗网络是一种生成模型(Generative Model),其背后最基本的思想就是从训练库里获取很多的训练样本(Training Examples),从而学习这些训练案例生成的概率分布。
- 生成模型为高维分布的表示与处理提供了一个绝佳的测试机会——此类高维分布往往是工程应用中的重要研究对象;

- 生成式模型能以多种方式嵌入至强化学习中;

- 生成模型可以接受缺失训练数据,或者可以被用来预测缺失数据。生成对抗模型,使得机器学习可以处理复合式问题。


基于GAN的应用

——iGAN(交互式生成对抗网络)

    用户可以绘制一幅草稿,然后iGAN会使用GAN模型来生成最相似的合理图像。

——IAN(自省对抗网络)


——图对图变换

    将单幅卫星图像变为地图;将涂鸦转化为相片级别图像等;由于许多这样的转换都存在超过一种的正确输出,为保证模型训练的正确性,使用生成模型就有了必要性。


GAN之最大似然估计的模型


GAN的损失函数


DCGAN——深度的卷积GAN


GAN的tips和tricks——(下文简称t&t)

    很难具体的说哪些技巧更有效,实际情况是,它们可以在某些任务中提升效果,也可能在另一些任务中起相反作用。因此这些技巧可以拿来尝试,但不要把它们当成是某种最优方法。具体包括:使用标签参与训练;单边标签平滑;将batch normalization虚拟化;是否平衡G和D(小编理解:作者目前的观点是,GANs主要是估计两个概率密度分布的比值,而只有当鉴别器足够完美时才有可能正确估值。所以这里更应该强化D函数)。
关于怎样训练GAN模型,详见GitHub库:http://github.com/soumith/ganhacks

t&t1.使用标签参与训练

t&t2.单边标签平滑

    GAN的工作方式是让discriminator估算两个概率密度分布的比值,但是深度神经网络倾向于生成过高置信度的结果,容易走极端,这对模型是不利的。尤其是基于对抗生成的网络,它的分类器倾向线性推断并产生出置信度极高的结果。

t&t3.将batch normalization虚拟化



后记

  • 关于我们。七月在线DL翻译组是由一群热爱翻译、热爱DL、英语六级以上的研究生或博士组成,有七月在线的学员,也有非学员。本翻译组翻译的所有全部论文仅供学习交流,宗旨是:汇集顶级内容 帮助全球更多人。目前已经翻译数十篇顶级DL论文,详见:https://ask.julyedu.com/question/7612
  • 加入我们。如果你过了英语六级、是研究生或博士、且熟练DL、热爱翻译,欢迎加入我们翻译组,微博私信@研究者July
  • GAN课程。为了帮助更多人更好的了解、学习、入门GAN,今年上半年,我们七月在线亦会开《生成对抗网络班》,从头到尾详解GAN的原理及其实战应用,敬请期待。
    七月在线July、二零一七年三月七日。

这篇关于GAN之父在NIPS 2016上做的报告:两个竞争网络的对抗(含译文下载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/667062

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专