农企新闻网

Ian Goodfellow:生成对立网络 GAN 就是强化学习

发布者:王夕远
导读大众号/新智元明天,Ian Goodfellow展开了一场有关生成对立网络(GAN)的最新AMA问答,从他小时分如何学习编程,如何想出GAN这个idea,到详细的技术和使用,Goodfellow都作出了专业而且诚实的答复。Goodfellow以为不止是GAN,胶囊网络、强化学习、半监视学习等等办法都很重要,也值得更多人注重。关于GAN:想法来自酒后与同行的争论问:有传言说你是在一家小酒馆里想出了G

大众号/新智元

明天,Ian Goodfellow展开了一场有关生成对立网络(GAN)的最新AMA问答,从他小时分如何学习编程,如何想出GAN这个idea,到详细的技术和使用,Goodfellow都作出了专业而且诚实的答复。Goodfellow以为不止是GAN,胶囊网络、强化学习、半监视学习等等办法都很重要,也值得更多人注重。

关于GAN:想法来自酒后与同行的争论

Ian Goodfellow:生成对抗网络 GAN 就是强化学习

问:有传言说你是在一家小酒馆里想出了GAN的idea,是这样吗?

Ian Goodfellow : 这是真事,不只仅是传言。我之前在好几次采访中都讲过这个故事了。

参考:专访 Ian Goodfellow:欲在谷歌打造 GAN 团队,用假数据训练真模型

问:在训练GAN方面似乎有两三个阵营(camp),你和在OpenAI、谷歌的人,Mescheder, Sebastian Nowozin和微软研讨院的人,以及其他。在这些阵营中你有看到什么类似点吗?

Ian Goodfellow: 实践上有更多阵营。FAIR/NYU也是重镇, 实践上是FAIR/NYU最先把GAN带进了我们的视野 (LAPGAN)。那是第一次GAN生成了逼真的高清图像,也是第一次GAN失掉媒体曝光,等等。另外一个重要阵营是伯克利+英伟达,他们专注超高清逼真图像和视频,无监视翻译,等等。我不太清楚你用“阵营”(camps)想表达什么,假如是说用不同的思绪和办法在研讨GAN,那么的确如此。但“阵营”普通多指互相友好的团队,在这里并不适用。

要从基本上重新思索运用的战略,现有神经元难以抵挡对立攻击

问:问个有点偏的成绩——有人以为重新考虑深度学习模型中“神经元”的任务方式,是应对对立样本的独一办法,你怎样看?在以前的演讲中你提到过,这种通用样本的存在是由于这些模型的“线性”(对应之后人们说的“非线性”)。持续采用运用了这些神经元的模型,在方向性上说会不会是错误的?或许说,好好选择激活函数,做好数据加强/进攻,能从全体上处理这个成绩?

Ian Goodfellow: 我不以为这个成绩有点偏,由于GAN的判别器需求具有鲁棒性,应对生成器的对立攻击。同时,我的确以为我们以后运用的神经元,很难在应对对立样本方面具有鲁棒性。但我并不以为这是独一有成绩的中央。一些最新的任务,比方(https://arxiv.org/abs/1801.02774)标明, 要让图像分类平安牢靠,我们真的需求从基本上重新思索我们运用的战略,而不只仅是训练的模型。

胶囊网络(Capsule networks)能比普通模型更好的应对对立攻击 (https://openreview.net/forum?id=HJWLfGWRb)。目前还不清楚这是不是最好的进攻办法——我还没看到有运用最先进的攻击办法来一对一测试模型牢靠性的任务。

问:定量评价GAN的目标是什么?

Ian Goodfellow: 这取决于你想用GAN来做什么。假如你想将其用于半监视式学习,请运用测试集精度作为评价目标,假如你想运用它来生成高质量的图像(例如超分辨率),那么能够需求运用人类评分员来评价。假如你只是想失掉一个通用的自动化的质量得分,那么我以为Frechet Inception Distance(https://arxiv.org/abs/1706.08500)能够是最好的,尤其是关于class-specific(https://arxiv.org/pdf/1802.05957.pdf)的模型来说。这些目标自身如今仍是一个正在停止的重要的研讨范畴。

问:有没有方法将潜变量(latent variables)映射到fake image的局部?换句话说,能否可以这样说:这2个变量改动图像的背景颜色,这些x变量修正了外形,等等?

Ian Goodfellow: 这不是总是可行的,但你可以训练模型这样表现。例如InfoGAN:https://arxiv.org/abs/1606.03657

ArXiv让人绕过同行评议,降低深度学习论文质量

问:1)如何在GAN和其他生成模型,比方VAE和FVBN(NADE, MADE, PixelCNN)之间选择?选择的时分有什么比拟规范吗?2)像Librarian/Fermat’s Library这样的在线文库关于ML/DL论文来说重要吗?如今ML/DL论文普通都是直接宣布在arXiv。

Ian Goodfellow: 我在Fermat’s Library这里做AMA,就是为了推行这些工具,我以为它们很重要,也值得更多人注重。 ArXiv如今根本成了绕过同行评议的捷径,让深度学习论文的信噪比骤降。 如今依然有很多优秀的深度学习研讨在停止,但异样也存在少量的低质量任务。如今就连最好的那些任务也是好坏掺半——有很好的想法,但却用宣传推行的套路在写,跟其他任务的比拟也不精确,等等。这都是由于这些论文没有经过同行评议。

至于办法选择,假如你想生成延续变量的真实样本,做无监视翻译(例如GycleGAN),或许做半监视学习,那么你很能够用得着GAN。假如你想生成的是团圆标志(token),你或许还用不着GAN,但我们也在不时改良。假如你想要的是最大似然,就不要用GAN了。

关于GAN和其他办法:GAN根本上可以说就是强化学习

问:GAN与强化学习(RL)准绳之间有什么类似之处(假如有的话)?我对这两者都不是专家(只要十分根本的理解),我觉得GAN的“generator – discriminator”的想法和RL的“agent – environment interaction”有着严密的联络。是这样吗?

Ian Goodfellow: 我也不是RL的专家,但我以为 GAN是运用RL来处理生成建模成绩的一种方式 。GAN的不同之处在于,奖励函数对行为是完全已知和可微分的,奖励是非固定的,以及奖励是agent的战略的一个函数。但我以为GAN根本上可以说就是RL。

问:有测试生成模型可迁移性的论文或研讨吗?例如我有一个生成狗或许猫的模型,之后想用早一些的层生成狼和老虎。

Ian Goodfellow: 我不晓得,但一定有。关于生成器来说,能够偏前期的层(接近输入的)更容易共享。

关于GAN的使用:GAN适用于半监视学习成绩

问:GAN能用于话题建模(Topic Modeling)吗?除了生成建模(目前次要用于图像),还有其他范畴运用GAN框架吗?

Ian Goodfellow: 我猜应该有,但我不晓得详细的。文档是团圆token,比方文字、单词,而GAN需求计算生成器的输入的梯度,因而在有延续输入的中央才干很好的任务。或许你可以用对立自编码器,或许AVB,在这里生成器实践上是编码器,可以输入延续的代码。这关于文档建模有很大协助,由于能对topics给出一个散布式表示。

问:GAN在基因组学里有什么使用?

Ian Goodfellow: 我不太理解基因组学,但我以为GAN这类的模型可以用于半监视学习。我想在基因组学中,未标志的数据应该比有标志的更多,应用少量的未标志数据从大批标志数据中学习的话,半监视学习会很有协助。这方面Tim Salimans提出了一些办法,在MNIST、SVHN等基准上特别好用:https://arxiv.org/abs/1606.03498

但需求留意,我们发现其他半监视办法实践上并不怎样好用(https://openreview.net/forum?id=ByCZsFyPf ),但半监视GAN并没有承受这些测试。

11岁学会编程,10篇最好的GAN论文引荐

问:您最近在Twitter上罗列了你觉得最好的10论文GAN论文。你可以写一篇博客文章,引见从GAN的初学者到GAN专家都合适的一切论文和其他资源吗?

Ian Goodfellow: 我能够没有工夫做这件事情,而且就算写一篇这样的文章,它会很快就过时。

我在2016年12月写了关于GAN的长文教程:NIPS 2016 Tutorial: Generative Adversarial Networks (https://arxiv.org/abs/1701.00160)

外面的许多想法在明天依然有价值,虽然这个教程没有包括2017年以来的最新模型,例如Progressive GANs,spectrally normalized GANs, GANs with projection discriminator等等。

问:你是怎样进步你的编程技巧,以便疾速尝试各种疯狂的想法,例如GANs?有没有引荐的编程技艺的书?以及请引荐一些TensorFlow学习或深度学习框架的书籍。谢谢。

Ian Goodfellow:

答复引荐书籍: 我本人学习古代深度学习编程的途径是相当直接的(在我开端运用Python之前,我曾经学会了各种C,assembly,web等编程言语),因而我不晓得关于明天的学习者来说最好的办法是什么。

在编程才能方面,对我来说一个十分重要的转机点是在 斯坦福大学Jerry Cain开的CS107课程 ,我记得是在2006年春季学习了这门课程。在那之前,我只是一名编程喜好者,零碎任务的时分我感到兴奋,但很多时分,零碎宕机时我只能感到困惑,不晓得是什么中央错了。学完这门课后,我就再没有由于软件开发方面的任何事情困惑过。你可以在YouTube或iTunes U之类的网站上找到这门课的讲座。

答复“你怎样进步编程技艺,以便疾速尝试各种疯狂的想法,比方GANs”:

我编程的工夫很长!我在11岁就学会了编程,中学时我们的数学课有图形计算器,有人在下面用 TI-BASIC编了一个游戏。为了理解这个游戏的任务原理,我从图书馆复制了一本“MacFroggy Teaches Basic ”来学习BASIC言语。

我入坑deep learning的局部缘由是我不断在出于喜好做游戏编程 。我不断在运用OpenGL Shading Language(GLslang)来编写通用的GPU顺序。当CUDA推出时,应用GPU停止CUDA编程实践上比试图将数学成绩转换为专为图形设计的言语要容易得多。在Geoff Hinton的关于deep belief nets的论文宣布后不久,我的冤家Ethan Dreyfuss就给我讲了有关深度学习的内容,然后我和Ethan一同搭建了斯坦福大学的第一台用于深度学习的CUDA机器。我最后编写的深度学习顺序是在CUDA中完成RBM。与我编写GAN时所做的努力相比,这要困难得多。在写GAN时,我曾经有很多很好的工具,例如Theano,LISA lab等等。

编写GAN代码很容易,局部缘由是我有一个很好的代码库,可以从晚期的项目开端。我的整个博士学位时期都在搞深度学习,有很多相似的代码可以随时待命。我的第一个GAN完成次要是从MNIST分类器(https://arxiv.org/pdf/1302.4389.pdf)的代码中复制粘贴来的。

Ian Goodfellow关于GAN的材料大全

Invited Talks

Adversarial Examples and Adversarial Training

  • “Defending Against Adversarial Examples”. NIPS 2017 Workshop on Machine Learning and Security. [slides(pdf)] [slides(key)]
  • “Thermometer Encoding: One hot way to resist adversarial examples,” 2017-11-15, Stanford University [slides(pdf)] [slides(key)]
  • “Adversarial Examples and Adversarial Training,” 2017-05-30, CS231n, Stanford University [slides(pdf)] [slides(key)]
  • “Adversarial Examples and Adversarial Training,” 2017-01-17, Security Seminar, Stanford University [slides(pdf)] [slides(key)]
  • “Adversarial Examples and Adversarial Training,” 2016-12-9, NIPS Workshop on Reliable ML in the Wild [slides(pdf)] [slides(key)]
  • “Adversarial Examples and Adversarial Training,” presentation at Uber, October 2016. [slides(pdf)]
  • “Physical Adversarial Examples,” presentation and live demo at GeekPwn 2016 with Alex Kurakan. [slides(pdf)]
  • “Adversarial Examples and Adversarial Training,” guest lecture for CS 294-131 at UC Berkeley. [slides(pdf)] [slides(key)]
  • “Exploring vision-based security challenges for AI-driven scene understanding,” joint presentation with Nicolas Papernot at AutoSens, September 2016, in Brussels. Access to the slides and video may be purchased at the conference website. They will be freely available after six months.
  • “Adversarial Examples and Adversarial Training” at HORSE 2016. [slides(pdf)] [youtube]
  • “Adversarial Examples and Adversarial Training” at San Francisco AI Meetup, 2016. [slides(pdf)]
  • “Adversarial Examples and Adversarial Training” at Quora, Mountain View, 2016. [slides(pdf)]
  • “Adversarial Examples” at the Montreal Deep Learning Summer School, 2015. [slides(pdf)]
  • “Do statistical models understand the world?” Big Tech Day, Munich, 2015. [youtube]
  • “Adversarial Examples” Re-Work Deep Learning Summit, 2015. [youtube]

Generative Adversarial Networks

  • “Overcoming Limited Data with GANs”. NIPS 2017 Workshop on Limited Labeled Data. [slides(pdf)] [slides(key)]
  • “Bridging theory and practice of GANs”. NIPS 2017 Workshop on Bridging Theory and Practice of Deep Learning. [slides(pdf)] [slides(key)]
  • “GANs for Creativity and Design”. NIPS 2017 Workshop on Creativity and Design. [slides(pdf)] [slides(key)]
  • “Giving artificial intelligence imagination using game theory”. 35 under 35 talk at EmTech 2017. [slides(pdf)][slides(key)]
  • “Generative Adversarial Networks”. Introduction to ICCV Tutorial on Generative Adversarial Networks, 2017. [slides(pdf)] [slides(key)]
  • “Generative Adversarial Networks”. NVIDIA Distinguished Lecture Series, USC, September 2017. [slides(pdf)] [slides(key)]
  • “Generative Adversarial Networks”. Adobe Research Seminar, San Jose 2017. [slides(pdf)] [slides(keynote)]
  • “Generative Adversarial Networks”. GPU Technology Conference, San Jose 2017. [slides(pdf)] [slides(keynote)]
  • “Generative Adversarial Networks”. Re-Work Deep Learning Summit, San Francisco 2017. [slides(pdf)] [slides(keynote)]
  • Panel discussion at the NIPS 2016 Workshop on Adversarial Training: Facebook video
  • “Introduction to Generative Adversarial Networks,” NIPS 2016 Workshop on Adversarial Training. [slides(keynote)] [slides(pdf)]
  • “Generative Adversarial Networks,” NIPS 2016 tutorial. [slides(keynote)] [slides(pdf)][tech report(arxiv)]
  • “Generative Adversarial Networks,” a guest lecture for John Canny’s COMPSCI 294 at UC Berkeley. Oct 2016. [slides(keynote)] [slides(pdf)] [youtube]
  • “Generative Adversarial Networks” at AI With the Best (online conference), September 2016. [slides(pdf)]
  • “Generative Adversarial Networks” keynote at MLSLP, September 2016, San Francisco. [slides]
  • “Generative Adversarial Networks” at Berkeley AI Lab, August 2016. [slides(pdf)]
  • “Generative Adversarial Networks” at NVIDIA GTC, April 2016. [slides(pdf)]
  • “Generative Adversarial Networks” at ICML Deep Learning Workshop, Lille, 2015. [slides(pdf)]
  • “Generative Adversarial Networks” at NIPS Workshop on Perturbation, Optimization, and Statistics, Montreal, 2014. [slides(pdf)]

Other Subjects

  • “Adversarial Robustness for Aligned AI”. NIPS 2017 Workshop on Aligned AI. [slides(pdf)] [slides(key)]
  • “Defense Against the Dark Arts: Machine Learning Security and Privacy,” BayLearn, 2017-10-19. [slides(pdf)]
  • “Adversarial Machine Learning for Security and Privacy,” Army Research Organization workshop, Stanford, 2017-09-14. [slides(pdf)]
  • “Generative Models I,” 2017-06-27, MILA Deep Learning Summer School. [slides(pdf)] [slides(key)]
  • “Adversarial Approaches to Bayesian Learning and Bayesian Approaches to Adversarial Robustness,” 2016-12-10, NIPS Workshop on Bayesian Deep Learning [slides(pdf)] [slides(key)]
  • “Design Philosophy of Optimization for Deep Learning” at Stanford CS department, March 2016. [slides(pdf)]
  • “Tutorial on Optimization for Deep Networks” Re-Work Deep Learning Summit, 2016. [slides(keynote)] [slides(pdf)]
  • “Tutorial on Neural Network Optimization Problems” at the Montreal Deep Learning Summer School, 2015. [slides(pdf)]
  • “Practical Methodology for Deploying Machine Learning” Learn AI With the Best, 2015. [slides(pdf)] [youtube]

Contributed Talks

  • “Qualitatively characterizing neural network optimization problems” at ICLR 2015. [slides(pdf)]
  • “Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks” with Yaroslav Bulatov and Julian Ibarz at ICLR 2014. [youtube]
  • “Maxout Networks” at ICML 2013.
  • “Joint Training Deep Boltzmann Machines for Classification” at ICLR 2013 (workshop track).

Miscellaneous

  • I’ve made several presentations for the Deep Learning textbook, and presented some of them at a study group for the book.
  • PhD thesis defense. [youtube] [slides]

Ian Goodfellow GAN材料地址:http://www.iangoodfellow.com/slides

Ian Goodfellow 关于GAN的最新AMA地址:https://fermatslibrary.com/arxiv_comments?url=https%3A%2F%2Farxiv.org%2Fpdf%2F1406.2661.pdf