Ian Goodfellow专访:我为什么可以在一夜之间创建GAN

选自hackernoon,机器之心编译,作者:Sanyam Bhutani,参与:张倩、刘晓坤。

本文是关于 GAN 之父——Ian Goodfellow 的采访。在访谈中。Goodfellow 分享了自己创建 GAN 的历程、学习和研究的心得、对机器学习现状的看法以及在谷歌工作的经历,还给深度学习的入门者提出了一些建议。

Ian Goodfellow专访:我为什么可以在一夜之间创建GAN

Sanyam Bhutani:您好,GAN 之父,感谢您接受此次采访。

Ian Goodfellow:不客气!非常感谢您来采访我,也感谢您撰写采访博客为其他学生提供帮助。

Sanyam Bhutani:您现在是谷歌的研究科学家,还发明了深度学习领域最令人振奋的工具——GAN。您能不能谈谈您是怎么开始的?是什么激发了您对深度学习的兴趣?

Ian Goodfellow:那时候我还是一名人工智能专业的本科生,当时机器学习主要是支持向量机(SVM)、增强树等。此外,我还是一名业余游戏程序员,用 OpenGL 着色器语言制作一些业余项目。我在 Zoox 工作的朋友 Ethan Dreyfuss 告诉我两件事情,一是 Geoff Hinton 在谷歌关于深度信念网络的科技演讲,二是当时新出的 CUDA GPU。

显然,当时的深度学习可以在很大程度上消除我对 SVM 的抱怨。用 SVM 设计模型自由度很低。扔给 SVM 更多资源也无法轻易让它变得很聪明。但深度神经网络却有越大越好用的发展趋势。同时,CUDA GPU 可以帮助我们训练更大的神经网络,而且由于做游戏编程,我已经学会了写 GPU 代码。

寒假期间,我和 Ethan 在斯坦福创建了第一个 CUDA 机(据我所知是第一个),那时我开始训练玻尔兹曼机。

Sanyam Bhutani:您刚刚提到,您在一夜之间就编写了第一个 GAN 模型,但取得研究突破通常需要耗费数年,或至少几个月的时间。您能否谈谈是什么帮助您在那么短的时间就实现那么大的突破呢?

Ian Goodfellow:如果你有良好的相关编程基础,那么快速实现自己的想法将变得非常简单。几年来,我和我的同事一直在致力于软件库的开发,我曾用这些软件库来创建第一个 GAN、Theano 和 Pylearn2。第一个 GAN 几乎是复制-粘贴我们早先的一篇论文《Maxout Networks》中的 MNIST 分类器。即使是 Maxout 论文中的超参数对 GAN 也相当有效,所以我不需要做太多的新工作。而且,MNIST 模型训练非常快。我记得第一个 MNIST GAN 只花了我一个小时左右的时间。

Sanyam Bhutani:自创建以来,GAN 已经取得了显著进展,您对哪个最感兴趣?

Ian Goodfellow:很难选。Emily Denton 和 Soumith Chintala 的 LAPGAN 让我第一次知道 GAN 在往「大」的方向发展。当然,LAPGAN 只走出了一小步。

Sanyam Bhutani:除了 GAN,您认为深度学习研究还有哪个领域比较有前景?

Ian Goodfellow:我多数时间都在研究对抗样本的鲁棒性。我认为这点对于在安全性要求比较高的场景中使用深度学习非常重要。我还希望它能够帮助我们更好地理解深度学习。

Sanyam Bhutani:对于那些希望有一天在谷歌工作并且对深度学习研究感兴趣的读者和初学者,您有什么建议吗?

Ian Goodfellow:开始阶段要扎实地打好基础:编程、调试、线性代数、概率论。与了解非常前沿的工作相比,大多数前沿研究项目更需要扎实的基础知识和技能。例如,今天我正在解决一个妨碍我运行一个实验的内存泄露问题,同时试图加速一个软件库的单元测试,以更快地尝试更多的研究 idea。我在本科和博士早期阶段曾经多次向吴恩达寻求建议,他经常告诉我要彻底精通这些基础知识和技能。我曾经觉得这实在很无聊,并希望他能建议我去学习超实数或类似的东西。但几年以后,我发现当初那些建议实在太正确了。

Sanyam Bhutani:您能告诉我们在谷歌研究所的一天是什么样子的吗?

Ian Goodfellow:这因人而异,甚至对于同一个人而言在生涯的不同时刻也是不同的。我有一段时间几乎只在写代码,跑实验,读文献。还有一段时间几乎只在写《深度学习》这本书。我有一段时间几乎只是每天跑几个会议,办理登记手续,这些会议都是关于很多不同的项目。如今,我正尝试按 6:4 的比例分配时间,即 6 成的时间用于监督其它的项目,4 成的时间用于直接开发我自己的项目。

Sanyam Bhutani:人们普遍认为需要大量的资源才能在深度学习中得到效果显著的结果。您认为某个不能拥有和在谷歌工作的人一样的资源条件的人,是否能对这个领域做出杰出的贡献?

Ian Goodfellow:无疑可以的,但你需要恰当地选择你的研究项目。例如,证明一个有趣的理论结果可能不需要任何计算资源。设计一个可以从极端小量数据泛化得很好的新算法可能需要一些资源,但不会像在大规模数据集上训练那么多。尽管如此,如果没有大量的并行计算资源,尝试开发全世界最快的 ImageNet 分类器可能不是个好主意。

Sanyam Bhutani:在深度学习的学术领域突飞猛进的今天,您如何保持不落后于研究前沿?

Ian Goodfellow:不久之前,我总是紧跟深度学习研究的任何新进展,尤其是在我写那本《深度学习》的时候。如今看来似乎已经不可行了,我基本上只关注那些和我自己的研究相关的课题。我甚至不知道 GAN 领域发生的 everything。

Sanyam Bhutani:您是否认为机器学习已经被过度炒作?

Ian Goodfellow:从 ML 的长期潜力来看,实际上我认为机器学习仍然没被过度炒作。因为从某个角度看来,在技术行业之外的人们谈论机器学习的热度并没有我想象的那么高。但我也认为机器学习经常被「错误炒作」:人们经常夸大如今已有的技术水平,或夸大某个项目的进步意义,等等。

Sanyam Bhutani:您认为博士或硕士学位对做深度学习研究是否有必要,或者非专业人员是否可能在这个领域做出成绩?

Ian Goodfellow:我确实认为发展专业技能是很重要的,但我不认为博士学位是获得这种专业技能的唯一方式。最优秀的 PhD 学生通常是非常自我导向型的学习者,只要有足够的学习时间和自由,就能在任何工作中进行这种学习。

Sanyam Bhutani:在我们结束之前,您能给那些对如何入门深度学习感到不知所措的初学者提一些建议吗?

Ian Goodfellow:从简单的项目开始,并且只复现那些你已经知道应该可行的项目,例如 CIFAR-10 分类器。很多人想在一开始就直接做出新的东西来,但这样其实很难弄清楚导致项目不可行的原因究竟是你的 idea,还是对某些已知东西的错误理解。我确实认为动手做一个项目很重要,尽管深度学习有点像开飞机。你做大量的阅读,但你也需要获得动手实践的经验,以学习深度学习更加直观的层面。

gan

相关推荐