【人工智能行业大师访谈3】吴恩达采访 Ian Goodfellow

来源:Coursera吴恩达深度学习课程

 作为deeplearning.ai课程的一部分,Andrew希望除了教授技术理念之外,同时介绍一些深度学习的先驱给大家认识。在这个视频中,Andrew也希望问问这些先驱们,能不能给一些工作上的建议,关于如何入门深度学习,如何做课题研究或者如何在深度学习领域找一份工作。【人工智能行业大师访谈2】吴恩达采访 Pieter Abbeel很荣幸采访了Pieter Abbeel。接下来,采访 Ian Goodfellow,文章末尾有总结。

吴恩达:嗨,Ian,感谢你今天接受采访。

 Ian:谢谢你邀请我,Andrew,我很高兴来到这里。

吴恩达:今天你也许是世界上最知名的深度学习研究员之一,让我们来听听你的心路历程(personal story)吧,你是怎样一步步进入这行的呢?

Ian:好,这是个好想法。我想我是在遇到你之后才开始对机器学习感兴趣的,我之前一直从事的是神经科学研究(neuroscience),我的本科时代导师(undergraduate advisor斯坦福大学的Jerry Cain鼓励我去上你的AI

吴恩达:啊,这我不知道呢。

Ian:好,所以我一直觉得AI是个好东西。但在实践中,主要我想做出的是类似游戏AI的成果,这之中有很多人工编码的规则(hard-coded rules),让游戏中的非玩家角色(non-player characters),在不同的时间点说出不同的脚本对话。然后,当我在上你的AI入门课程时,你讲到的话题:线性回归(linear regression)和线性回归中误差的偏差和方差分解(bias and variance decomposition),我开始意识到这可以是真正的科学,我实际上可以在AI领域从事科学研究而非神经科学。

吴恩达:我知道了,很好,那接下来呢?

Ian:然后我就回来当你的课程助教了呀。

吴恩达:原来如此,当我的助教。

Ian:其实我人生的一大转折点,就是在当那门课助教的时候,其中一名学生,我的朋友Ethan DreifussGeoff Hinton的深度信念网络论文(deep belief net paper)很感兴趣。

吴恩达:我知道了。

Ian:我们两个后来一起在斯坦福大学搭建了世界第一台GPU CUDA机器,专门用来跑玻尔兹曼机(Boltzmann machines),就在那年寒假的业余时间里。

吴恩达:我知道了。

Ian:在那时候,我开始有一个非常强烈的直觉深度学习才是未来,那时我们接触了很多其他算法,比如支持向量机(support vector machines),它们的渐进性质不太靠谱,当你输入更多训练数据时,它们却在变慢;或者对于相同数量的训练数据,改变其他设置并没有改善它们的表现,从那开始,我就专注于深度学习了。

吴恩达:我记得Richard Reyna有一篇很老的GPU文章,提到你做了很多早期的工作。

Ian:是的,那篇文章用的就是我们搭建的一些机器。我的第一台相关机器就是Ethan和我建立的,用我们自己的钱在Ethan妈妈的房子里搭的。之后,我们用实验室经费在斯坦福实验室搭了两三台。

吴恩达:哇,太神奇了,我还不知道这事,太好了。那么,今天真正以风暴席卷深度学习世界的,是你发明的生成式对抗网络(GAN),那么你怎么想出来的呢?

 Ian:我持续研究生成模型(generative models)很久了。GAN是其中一种生成模型,你有很多训练数据,你希望学会制造更多类似它们的数据,但它们都是虚构的,网络还没见过这种形式的虚构数据,还有几种办法可以做生成模型,在我们想出GAN之前还流行了几年。在我读博的时候,我一直在研究其他各种方法,我非常了解所有其他框架的优缺点:玻尔兹曼机器(Boltzmann machines)和稀疏编码(sparse coding),还有其他多年来一直很受欢迎的方法。我那时正在寻找某个可以同时避免所有方法缺点的东西。最后,当我在一个酒吧里和朋友争论生成模型的时候,灵感来了,我开始告诉他们,你需要这么做,这么做我保证管用……我的朋友不相信会管用,我本来还在写一本深度学习的教科书。

吴恩达:我知道了。

Ian:但是我强烈相信,这个想法是靠谱的,我马上回家,当天晚上就调试成功了。

吴恩达:所以只花了一晚上就调试成功第一个GAN了?

Ian:我大概在午夜做完的,就从我朋友在酒吧的离职派对离开回到家之后。

吴恩达:我知道了。

Ian:而它的第一个版本是有效的,这是非常非常幸运的,我没有搜索超参数(search for hyperparameters)或任何东西。

吴恩达:我在某个地方读过一个故事,就是你有一次涉死体验,让你对AI的信仰更坚定了,给我讲讲那个故事。

Ian:我其实没有涉死啦,但有那么一瞬间我觉得要死了,我头很痛很痛,一些医生认为我可能有脑出血,在我等待我的MRI结果,看看有没有脑出血时。我意识到,我的大部分想法都是,要确定有其他人继续尝试我当时的研究思路。

吴恩达:我懂了,我懂了。

Ian:回想起来,那些都是非常愚蠢的研究思路。

吴恩达:我懂了。

Ian:但在这一点上,我意识到这实际上是我生活中优先级最高的事,就是做机器学习研究。

吴恩达:我懂了,是啊,那很棒,当你以为你快要死的时候,你还是想如何完成研究。

Ian:是的。

吴恩达:是,这真的是信仰(commitment)。

Ian:是的。

吴恩达:是啊,是啊,所以今天你仍然处于GAN研究的风暴中心,就是这个生成性对抗网络,可以告诉我怎么看GAN的未来吗

Ian:现在GANs应用在很多场合里,比如半监督学习(semi-supervised learning),生成其他模型的训练数据,甚至模拟科学实验。原则上这些东西都可以用其他生成模型来做,所以我认为GAN现在在一个重要的十字路口,现在它们有时候效果很好,但要把它们的潜力真正发挥出来,更像是艺术而不是科学。10年前人们对深度学习的感觉或多或少也是如此,当时我们正在使用以波尔兹曼机器为基础的深层信念网络。它们非常非常挑剔(指DBN难训练)。随着时间的推移,我们尝试了修正线性单元(ReLu)和批量归一化(Batch Normalization),深度学习变得更加可靠。如果我们可以把GAN变得像深度学习一样可靠,那么我想我们会继续看到GAN在当今的应用领域里获得更大的成功;如果我们弄不清楚如何稳定GAN,那么我想它对深度学习历史的贡献就是向人们展示了如何完成这些涉及到生成模型的全部任务。最终,我们将用其他形式的生成模型来代替它们,所以我花了大约40%的时间试图稳定GAN

吴恩达:我懂了,很酷,我想就像很多人大约10年前进入深度学校领域一样,比如你自己,最后变成了领域的先驱者,也许今天加入GAN的人,如果它确实管用,那么最后可能也会成为先驱。

Ian:是啊,很多人已经是GAN的早期先驱,如果你想描述GAN的历史,你真的需要提到比如Indico等其他组织,还有Facebook和伯克利(Berkeley),那些小组完成的各种工作

吴恩达:所以除了你的研究,你还合著了一本关于深度学习的书,可以说说吗?

Ian:没错,我和Yoshua BengioAaron Courville合著的,他们是我的博士导师,我们写了一本现代版深度学习教科书,一直很受欢迎,英文版和中文版都很受欢迎,我们已经售出了我想两种语言加起来有70000本吧,而且我从学生那里得到了很多反馈他们说获益良多。我们有件事做得和其他教材不同,我们一开始就介绍深度学习需要用到的数学知识。我从斯坦福大学课程中得到的一件事是,线性代数(linear algebra)和概率论(probability)非常重要。人们对机器学习算法感到兴奋,但如果你想成为一名非常优秀的从业者(excellent practitioner),你必须掌握基本数学(basic math),这是整个算法的基础,所以我们确保一开始,集中讨论需要的数学基础。这样,你就不需要重头开始学习线性代数,你可以得到一个短期训练课程,了解对深度学习最有用的线性代数。

吴恩达:所以即使有些学生数学基础不好或者有几年没接触过数学,你就可以从教材的开始,学到进入深度学习的所有背景知识。

Ian:你需要知道的所有事实都在那里,当然,你肯定需要集中精神去掌握其中一些概念。

吴恩达:是的,是的,很好。

Ian:如果有人真的害怕数学,这经历可能还会有点痛苦。但如果你准备好去学习的话,我相信你一定可以掌握的,你们需要的所有工具都在哪了。

吴恩达:作为在深度学习领域工作了很长时间的研究员,我很好奇,如果你回头看看这几年,可以告诉我你的一些想法吗?AI和深度学习在这些年是如何逐渐演变的

Ian:十年前,我觉得,作为一个社区,机器学习中最大的挑战就是:如何让它可以处理AI相关的任务,对于更简单的任务,我们那时有很好的工具,比如我们想要通过提取特征(extract features)来识别规律(recognize patterns),人类设计师可以做很多事情——他们设计出这些功能,然后交给计算机去做。这种做法对很多任务效果都很好,比如预测用户会不会点开广告,或者不同的基本科学分析。但当我们要处理几百万像素的图片时,就很困难了;或者处理音频波形,其中系统必须从零开始学到所有知识。五年前我们开始跨越了这个障碍。现在我们来到了一个时代。如果你想从事AI事业,有太多不同的道路可以走,也许他们面临的最难的问题是应该选择哪条路走下去,你希望让强化学习(reinforcement learning)和监督学习(supervised learning)的效果一样好吗?你希望让无监督学习(unsupervised learning)和监督学习效果一样好吗?你希望机器学习算法是不偏不倚,不会带上我们的偏见,尽量避免这些偏见。你想确保和AI有关的社会问题得到妥善解决,如何确保AI可以让所有人获益,而不是造成社会动荡和大规模失业(rather than causing social upheaval and trouble with loss of jobs)?我想现在,真的可以做出很多不同的东西,可以避开AI的所有缺点,同时利用它能提供的所有优点(there’s just really an amazing amount of different things that can be done, both to prevent downsides from AI but also to make sure that we leverage all of the upsides that it offers us.

吴恩达:今天有很多人想进入AI领域,你对这些人有什么建议?

Ian:我想很多想要进入AI领域的人,一开始想,他们绝对需要获得博士学位或者这样那样的证书,我觉得实际上这已经不是必要条件了其中一种获得注意的方式是,在GitHub上写很好的代码(One way that you could get a lot of attention is to write good code and put it on GitHub。如果你有一个很好玩的项目,解决了某人在前沿希望解决的问题,一旦他们找到了你的GitHub代码,他们会直接找到你,让你到他们那工作。我雇的很多人,去年在OpenAI或今年在谷歌招聘的人,我一开始想很他们合作,因为我见到他们在互联网开源论坛上发表的一些代码段。写文章并发表到arXiv上也是可以的(Writing papers and putting them on arXiv can also be good.)。很多时候要将一个东西打磨完美而成为对科学文献的新贡献是很难的,但在这之前你可能已经能开发出一个有用的软件产品了。

吴恩达:所以读读你的教材,在各种材料上练习然后把代码发布到GitHub 或者arXiv上。

Ian:如果你要用那本教材学习,那么同时开始做一个项目是很重要的。总之要选择某种方式,将机器学习应用到你兴趣的领域(choose some way of applying machine learning to an area that you are already interested in)。比如,如果你是一名田野生物学家,你想利用深度学习,也许你可以用它来识别鸟类。或者如果你不知道想用机器学习做什么,你可以去做街景门牌号码分类器,这里所有数据集都设立好了,你直接可以用,这样你就可以练习一下教材介绍到的所有基本技能。或者当你看给你解释概念的Coursera视频时,直接去练习。

吴恩达:所以在过去的几年里,我看到你做的一些对抗性样本的工作,请介绍一下。

Ian:是,我想对抗性样本就是我称为机器学习安全(machine learning security)的新领域。过去,我们看到计算机安全问题(computer security issues),攻击者可能会骗计算机跑错误的代码,这就是所谓的应用级安全性(application-level security以前有些攻击方式是人类可以骗过一台计算机,让它相信网络上的消息来自某个可信任的人,但其实不是真的,这就是所谓的网络级安全性(network-level security。现在我们开始看到,你也可以骗到机器学习算法,让它们去做不应该做的事情,即使运行机器学习算法的程序运行的代码完全正确,即使运行机器学习算法的程序知道网络上所有消息的来源,也会被骗到。我认为在新技术开发初期,考虑加入安全性非常重要。我们发现把一个系统建立起来以后,再引入安全性是很难的,所以我对现在要研究的想法非常激动,如果我们现在开始预见机器学习的安全问题,就可以从一开始确保这些算法的安全性,而不是过几年再回头打补丁(instead of trying to patch it in retroactively years later)。

吴恩达:谢谢,那太棒了,你的故事有很多神奇的地方,尽管已经认识你很多年了,我实际上并不知道,所以感谢你分享这一切。

Ian:你太客气了,谢谢你邀请我,这是很好的机会。

吴恩达:好的,谢谢。

Ian:非常感谢!

总结:(1)线性代数(linear algebra)和概率论(probability)非常重要如果你想成为一名非常优秀的从业者(excellent practitioner),你必须掌握基本数学(basic math),这是整个算法的基础

(2)对于想要进入AI领域的人的建议:也许一开始想要获得博士学位或者这样那样的证书,但Ian觉得实际上这已经不是必要条件了其中一种获得注意的方式是,在GitHub上写很好的代码(One way that you could get a lot of attention is to write good code and put it on GitHub。如果你有一个很好玩的项目,解决了别人在前沿希望解决的问题,一旦他们找到了你的GitHub代码,他们会直接找到你,给你提供工作。写文章并发表到arXiv上也是可以的(Writing papers and putting them on arXiv can also be good.)

(3)总之要选择某种方式,将机器学习应用到你兴趣的领域(choose some way of applying machine learning to an area that you are already interested in)。

说明:记录学习笔记,如果错误欢迎指正!写文章不易,转载请联系我。

猜你喜欢

转载自blog.csdn.net/csdn_xmj/article/details/119788989