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上做的报告:两个竞争网络的对抗(含译文下载)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/v_JULY_v/article/details/60618425
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/667062

相关文章

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义