专访Keras之父:关于深度学习、Keras的诞生和给初学者的建议

2019-05-14 12:39:39 浏览数 (1)

本文是对Keras的创造者、谷歌AI研究员Francois Chollet的专访,内容包括François从何开始对深度学习感兴趣、Keras的创建背后的动机,François对TensorFlow等其他框架的看法、给初学者的建议等。

本文作者Sanyam Bhutani专访了一系列他心目中的“AI英雄”,包括GAN的创造者Ian Goodfellow、最年轻的Kaggle Grandmasters等等。

这次,他的采访对象是机器学习社区最伟大的贡献者之一、Keras的创造者,也是最好的深度学习书籍的作者之一:Francois Chollet。

Francois Chollet目前是Google AI的研究员,也是Keras开发的核心人物。

Francois Chollet

Sanyam Bhutani:你好,François,非常感谢你抽出时间参加这次采访。能和你谈话真是我的荣幸。

Francois Chollet:谢谢你邀请我,我很乐意回答你的问题。

问:你现在在 Google AI Research工作,并且你创建了最受欢迎的深度学习库之一。你能告诉我们你是怎么开始的吗?是什么让你对深度学习开始感兴趣?

Francois Chollet:我研究人工智能已经有很长一段时间了,但在我还是学生时,我对学习视觉感知的层叠、模块化、层次化表示的这些具体问题很感兴趣。当时,Jeff Hawkins写了一本相当发人深省的书(书名是:On Intelligence),内容包括大脑中的分层信息处理,MIT的一些人一直在研究受人类视觉皮层启发的视觉感知层级模型,就是HMAX模型家族。

这些观点给我的印象非常深刻,并且我认为是正确的,所以我开始研究自己的算法。那时我没有使用神经网络,我开始使用基于矩阵分解的堆叠特征学习器。我想要学习的不仅仅是视觉特征的层次结构,而是视觉-时间特征的层次结构,我想找到视觉特征与时间的相关性,而不仅仅是与空间的相关性。2012年年中,当我在东京大学做研究时,我获得了一些初步的成功——我将我的设置应用到无监督的few-shot手势识别中,并取得了一些非常好的结果。几个月后,Hinton的实验室赢得了ImageNet竞赛冠军(我在东京大学的实验室也参加了这个竞赛),他们在GPU上训练深度卷积神经网络(deep convnet),因此我对这种方法很感兴趣。

这是人们现在已经忽略的东西,但是用反向传播训练的端到端可微模型只是学习感知的模块化层次表示问题的一种解决方案,还有其他途径尚未得到探索。这个问题本身只是AI领域的众多问题之一。

问:你能分享一下创建Keras的最初动机吗?你有没有想到它会变得如此受欢迎?

François Chollet:没有,我绝对没想到它会变得如此之大。我最初是希望它能在当时使用深度学习的一小群人中引起一些轰动,那是在2015年3月(做深度学习的可能有几千人),但当时没有人知道深度学习能在接下来的几年里变得如此热门。

我开始创建Keras是为了我自己。我当时在业余进行自然语言处理的研究,希望找到一个好的工具来使用RNNs。LSTM算法在当时基本上还不为人所知,但随着神经网络在机器学习领域日益突出,一些人开始研究LSTM在自然语言处理中的应用。据我所知,当时LSTM还没有可重用的开源实现,所以我用Theano做了一个。后来我做了更多的层。它就变成了一个框架。我把它命名为Keras,并且开源了它,一切是从那里发展起来的。

使它与众不同的原因是:与其他框架相比,它非常易于得到,也易于使用;它支持RNNs和convnets(我想它是第一个支持convnets的框架),并且它允许你通过Python代码而不是通过配置文件来定义模型(在这之前,通过配置文件来定义模型是最流行的方法,特别是对于Caffe和PyLearn2)。

问:你对Keras成为TensorFlow 2.0的默认API有何看法?你为什么觉得这是有必要的?

Francois Chollet:TensorFlow是一个非常强大的框架,但是它长期以来一直受到可用性问题的困扰,特别是它是一个庞大的、有时令人困惑的API。TensorFlow 2在很大程度上解决了这些问题。TensorFlow 2改进的核心是两件事:eager execution和Keras API。Eager execution为TensorFlow带来了一种命令式的编码风格,使其更直观、更易于调试。Keras API将使用模式整合到一个连贯的、真正高效且令人愉快的workflows中,适合于从研究到应用程序开发到部署的各种用户配置文件。我对即将发布的内容感到非常兴奋。你应该很快就会看到了!

问:除了TF和Keras之外,你认为还有哪些框架看起来很有前景?

Francois Chollet:我认为MXNet和它的高级API Gluon很有前景,它们都受到Keras和Chainer的启发。MXNet利用了许多与TensorFlow 2一致的想法—— eager execution和symbolic execution的混合。与TensorFlow一样,它是为数不多的具有实际生产级和可扩展性的框架。MXNet背后有很多工程力量——亚马逊有一个庞大的团队在做这件事。这是一个严肃的项目,有一些非常好的想法和可靠的执行力。

问:对于那些怀着有朝一日在谷歌工作的梦想而对深度学习感兴趣的读者和初学者,你有什么建议?

François Chollet:我认为你不应该把你的梦想和外在的身份标志联系在一起,比如为一家知名公司工作,或者赚一笔钱,或者获得某个特别的title。要弄清楚你生命的价值是什么,然后坚持你的价值观。永远不必为某一个决定后悔。

问:你能告诉我们你生命里的一天是什么样的吗?

Francois Chollet:不是很吸引人,主要是review代码,与人交谈,写设计文档,等等。我仍然编写大量的代码。

问:人们普遍认为,要在深度学习中取得重大成果,需要有大量资源。你认为一个人如果没有谷歌研究员可能拥有的资源,能够对这个领域做出重大贡献吗?

Francois Chollet:当然,有一些类型的问题需要行业规模的训练资源。但是,有很多问题只需要有一个GPU,就能取得重大进展。目前阻碍AI研究的主要原因不是缺乏硬件,而是缺乏多样化的思维。如果你的资源有限,那么不要把时间花在担心GPU上,而是担心你是否在处理正确的问题,是否在提出正确的问题。

问:你一直是“AI伦理”的倡导者。你能分享一些在构建“AI产品”时必须注意的方面吗?

Francois Chollet:其他人对机器学习的伦理问题的讨论比我好得多。比如Kate Crawford,还有Meredith Whittaker。我想对此感兴趣的人都应该看看他们的作品。

问:你觉得机器学习被过度炒作了吗?

François Chollet:在某种程度上,的确是。我认为机器学习在某种程度上既被高估了,也被低估了。一方面,人们往往过度高估了当前机器学习系统的智能和泛化能力,将机器学习视为一根魔杖,遇到任意问题只要挥挥魔杖,问题就能消失。当然,这在很大程度上是错误的,我们的算法中很少有真正的智能,它们的应用范围非常狭窄。

但与此同时,大多数人仍然低估了今天的相对粗糙的系统所能取得的成就,如果我们系统地将它们应用于它们可能解决的每一个问题的话。在某种程度上,机器学习是我们这个时代的蒸汽动力:这是一种非常基本的机制,但如果大规模使用,它仍有可能深刻地改变世界。

问:你认为博士或硕士学位的专业水平是必要的吗,还是一个人可以在不成为“专家”的情况下对深度学习领域做出贡献?

Francois Chollet:当今在深度学习领域很多重要贡献的人都没有博士学位。要想对一个领域做出有意义的贡献,无论是系统开发还是新研究,你必须要有一定水平的专业知识。但很明显,你不需要通过博士课程就能获得专业知识,而拥有博士学位并不能保证你在任何领域都能做出有意义的贡献——理论上应该是这样,但就我所知,现实与这个理论不太相符。

事实上,除非你的目标是成为一名学者,否则我认为获得博士学位并不是获得专业知识的最佳途径。最好的道路是能让你快速、开放地成长的道路。在团队合作和专家密切指导下开展各种项目,你能最快地学到知识。在实践中,典型的博士项目不是那样的。

问:在我们结束之前,对于那些对如何开启深度学习感到不知所措的初学者,你有什么建议吗?

François Chollet:10年后,你能买到一本教科书,上面会可以很好地总结2010年到2020年期间AI的进展。今天发布的大量内容可能看起来很重要,但其中大部分都是噪音。要专注于大问题。

Sanyam Bhutani:非常感谢你接受这个采访。

推荐阅读

一个关于AI编程的游戏

机器学习、深度学习思维导图

谁才是中国人工智能“最强高校”?

如何写出一个好的机器学习工具库

吴恩达深度学习课程笔记(手绘插画)

一张让你代码能力突飞猛进的速查表

《2019中国人工智能独角兽白皮书》发布

利用python分析权力的游戏五王之战数据

0 人点赞