Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

张倩 刘晓坤编译

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

本文是关于 GAN 之父——Ian Goodfellow 的采访。在访谈中。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,还是对某些已知东西的错误理解。我确实认为动手做一个项目很重要,尽管深度学习有点像开飞机。你做大量的阅读,但你也需要获得动手实践的经验,以学习深度学习更加直观的层面。

原文链接:https://hackernoon.com/interview-with-deep-learning-researcher-and-the-ganfather-dr-ian-goodfellow-cd300863ecff

产业Ian GoodfellowGAN机器学习
5
相关数据
吴恩达人物

斯坦福大学教授,人工智能著名学者,机器学习教育者。2011年,吴恩达在谷歌创建了谷歌大脑项目,以通过分布式集群计算机开发超大规模的人工神经网络。2014年5月16日,吴恩达加入百度,负责“百度大脑”计划,并担任百度公司首席科学家。2017年3月20日,吴恩达宣布从百度辞职。2017年12月,吴恩达宣布成立人工智能公司Landing.ai,并担任公司的首席执行官。2018年1月,吴恩达成立了投资机构AI Fund。

所属机构
Ian Goodfellow人物

Ian Goodfellow 是机器学习领域备受关注的年轻学者之一,他在本科与硕士就读于斯坦福大学,师从吴恩达,博士阶段则跟随蒙特利尔大学的著名学者Yoshua Bengio研究机器学习。Goodfellow 最引人注目的成就是在2014年6月提出了生成对抗网络(GAN)。这一技术近年来已成为机器学习界最火热的讨论话题,特别是在最近几个月里,与GAN有关的论文不断涌现。GAN已成为众多学者的研究方向。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

玻尔兹曼机技术

玻尔兹曼机(Boltzmann machine)是随机神经网络和递归神经网络的一种,由杰弗里·辛顿(Geoffrey Hinton)和特里·谢泽诺斯基(Terry Sejnowski)在1985年发明。玻尔兹曼机可被视作随机过程的,可生成的相应的Hopfield神经网络。它是最早能够学习内部表达,并能表达和(给定充足的时间)解决复杂的组合优化问题的神经网络。但是,没有特定限制连接方式的玻尔兹曼机目前为止并未被证明对机器学习的实际问题有什么用。所以它目前只在理论上显得有趣。然而,由于局部性和训练算法的赫布性质(Hebbian nature),以及它们和简单物理过程相似的并行性,如果连接方式是受约束的(即受限玻尔兹曼机),学习方式在解决实际问题上将会足够高效。它由玻尔兹曼分布得名。该分布用于玻尔兹曼机的抽样函数。

对抗样本技术

对抗样本是一类被设计来混淆机器学习器的样本,它们看上去与真实样本的几乎相同(无法用肉眼分辨),但其中噪声的加入却会导致机器学习模型做出错误的分类判断。

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~