开发 | Theano停止更新之后,开发者们怎么说?

关于深度学习的框架之争一直都没停止过,每隔一阵大家就要进行一次框架大讨论:

  • TensorFlow的使用者虽多,又有谷歌的背书,但真的很!难!用!
  • Pytorch虽然入门简单、上手快,但因为开源时间不长,关于它的文档和代码相对较少。
  • Keras作为TensorFlow的高级KPI,一旦有什么想法需要快速建模验证时很方便,但相较tf功能还是没那么全。
  • Caffe虽然方便部署,但是C++的框架,在编程上会比较难。
  • ……

每个框架都各有优劣,而针对于此的讨论也一直没有停息。

近日,Yoshua Bengio教授的一封邮件又让对框架的讨论迅速升温,在邮件中,他表示, 他们将会停止对Theano的更新,接下来,会以最低成本对Theano进行为期一年的维护,之后就将彻底与Theano告别。

这意味着,开发者又要与一个深度学习框架说再见了。

深度学习框架祖师爷Theano

早在今年一月份AI科技评论进行框架大盘点时,就曾详述过Theano 。详情可以参见【盘点四大民间机器学习开源框架:Theano、Caffe、Torch 和 SciKit-learn

Theano基于 Python,是一个擅长处理多维数组的库(这方面类似于 NumPy),它的设计初衷是执行深度学习中大规模神经网络算法的运算。Theano早期的开发者有Yoshua Bengio和Ian Goodfellow,由于出身学界,它最初是为学术研究而设计。当它与其他深度学习库结合起来之后,会非常适合于数据探索。

Theano可以被更好地理解为一个数学表达式的编译器:用符号式语言定义你想要的结果,该框架会对你的程序进行编译,来高效运行于 GPU 或 CPU。

在过去的很长一段时间内,Theano都是是深度学习开发与研究的行业标准。比起深度学习库,它更像是一个研究平台,你需要从底层开始做许多工作,来创建自己需要的模型,这就意味着它的灵活性很强。

再怎么优秀的工具都有退出历史舞台的一天,曾经深得学界青睐的Theano也不例外。

作为深度学习框架中祖师级的存在,从 2007的推出到2017的落幕,到现在刚好历经十年。

Theano已完成历史使命,功成身退

针对Theano的落幕,AI科技评论与众多开发者进行了交流,大家的看法出奇一致:

——对于这件事情并不吃惊,很正常的更新换代。

——以前用 Theano的人大都已经换成其他框架,Theano已完成了它的历史使命,退出舞台是必然的。

为什么说Theano的落幕是历史必然?针对于此,AI科技评论联系了几个曾经接触过Theano的开发者进行了采访:

  • KDD Cup 2017的双料冠军胡可对AI科技评论表示 ,虽然在KDD Cup比赛时用了Theano,但平时在其他任务上一般用的是TensorFlow或者CNTK。“Theano完成了它的历史使命,它比较适合实验室的toy data,不太适合当前工业界‘大数据’的需求。”正如胡可所言,生于学界的Theano,必然有其应用局限性——比较适合做小规模的短期实验,而在近两年数据量剧增且优秀框架层出不穷的当下,就不再那么得人心了。
  • 曾经接触过Theano的一位开发者表示,Theano的速度在当时来说,与同期的Torch相比并不算快,更比不上现在新出的框架。此外,在代码实现上,比起其他框架,Theano也不是很直接。

2015年,一个关于机器学习的博客fastML就将Torch与Theano进行了对比:

图中红色柱状图指Torch,绿色柱状图指Theano,可以看到Torch在大多数情况下性能都要优于Theano。

而对于使用Theano的原因,卡内基梅隆大学(CMU)语言技术研究所(LTI)博士研究生王赟对AI科技评论表示,他是2015年初开始做深度学习的,那时候还没有Tensorflow,而同时期的Torch又是基于他不会的Lua语言,所以最终选择了Theano。“才短短两年多,就已经天翻地覆”,他感慨道。确实如此,短短两年的时间,TensorFlow的用户量就遥遥领先,亚马逊开始为Mxnet背书,微软和 Facebook 也牵手发布ONNX,而Theano则黯然退出历史舞台。

Theano并非完全消失

那么,就像之前媒体所报道的那样,Theano已死?并非如此。

Bengio在他的公开邮件上这样写道,“多年以来,我们都以 Theano 的创新深感自豪,其创新也正被其他框架继承和优化。比如,把模型表达为数学表达式、重写计算图以获得更优性能和内存使用、GPU 上的透明执行、更高阶的自动微分,正在全部成为主流。”

正如Bengio所言,从现在的主流模型之中,我们仍然可以看到Theano的影子。它并没有死,而是影响着许许多多的模型。

事实上,Theano的很多开发人员都去谷歌参与TensorFlow的开发了,其中包括早期开发成员Ian Goodfellow。而后起之秀Tensorflow在功能上与Theano十分相似,它也是一个偏底层的框架,相比Theano,性能也更加优化。

上图为TensorFlow系统架构。

AWS工程师张帜对AI科技评论表示:新老交替,这一天总会来的。基本上所有的轮子都参考过Theano,它也不算彻底消失。

知乎网友mileistone 也如此评价Theano:Theano开启了基于符号运算的机器学习框架的先河,然后随着tf和pytorch的崛起,完成自己的历史任务。

下一步

Bengio在他的邮件中表示,目前支持深度学习研究的软件生态系统快速进化,还有很多别的优秀的深度学习框架可供选择。

而随着对「Theano停止更新」的缅怀结束,似乎话题又要转向另一个方向了,那就是,究竟下一步该选择什么框架呢?

讨论虽多,每家各执一言,但有个不争的事实:TensorFlow的忠实拥护者一直处于遥遥领先状态,有利于快速建模验证的Keras也颇得人心,后起之秀PyTorch的粉丝数日益增多,背靠亚马逊的MxNet、背靠微软的CNTK更新也一直稳定。

不过对框架的选择也许并不是重点,有网友评价,框架就是刻刀,而开发者是雕刻家。虽说刻刀的选择很重要,但雕出来的东西好不好,更多是取决于个人。

CMU LTI博士研究生王赟也对AI科技评论这样说道:

其实这么多年我看着各种库的起起落落,还有一种感慨是研究者不能始终抱着一个大腿,要与时俱进。但是时代的潮流在哪里也不是随时都能看出来的,也没法时刻保持自己在前沿,但好在掌握了一个库之后再换另一个库并不是很费劲。

相信这也是千千万万开发者的观点,框架的选择并没有「那么」重要,更重要的是研究者自身的与时俱进。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-10-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【荐读】Michael Nielsen《神经网络和深度学习》:智能可以用简单的算法表示吗?

【新智元导读】本文选自量子物理学家、著名科普作家 Michael Nielsen《神经网络和深度学习》最后一章,探讨智能能否用简单算法来表示。Nielsen 从...

36416
来自专栏AI科技评论

专访Jeff Dean:我们要推动机器学习再上一层楼

AI 科技评论按:Jeff Dean是谷歌研究院的高级研究员,也是谷歌的人工智能团队谷歌大脑(Google Brain)的负责人。身披华盛顿大学博士、美国工程院...

3709
来自专栏牛客网

Keep算法岗娱乐面面经

之前看到牛客有人发Keep内推贴,因为一直对Keep比较有好感于是马上内推了一波,笔试只a了1题居然进了面试,本来约的上周四,我说没时间可不可以周末,电话对面说...

1481
来自专栏镁客网

黑科技 | 拓扑学与物理学结合,量子计算机正在成为现实

1320
来自专栏java一日一条

糟糕的程序员面试

“谷歌式”面试真心是让人又爱又恨,它糟糕透了:好的应聘者落选,坏的应聘者背背答案就能通过,呵呵。

872
来自专栏数据科学与人工智能

【陆勤践行】数据挖掘从入门到进阶

做数据挖掘也有些年头了,写这篇文一方面是写篇文,给有个朋友作为数据挖掘方面的参考,另一方面也是有抛砖引玉之意,希望能够和一些大牛交流,相互促进,让大家见笑了。 ...

2405
来自专栏PPV课数据科学社区

【数据分析】互联网和金融,在数据挖掘上究竟存在什么区别?

一、数据挖掘的层次 一直想整理下对数据挖掘不同层次的理解,这也是这两年多的时间里面,和很多金融领域、互联网做数据相关工作的小伙伴,聊天交流的一些整理和归纳。大概...

3759
来自专栏腾讯大讲堂的专栏

净推荐值的方法论在互联网产品应用探讨

编者注:净推荐值(Net Promoter Score,NPS)原为针对企业良性收益与真实增长所提出的用户忠诚度概念,它是最流行的顾客忠诚度分析指标,在传统行业...

2208
来自专栏大数据文摘

众说纷纭,机器学习究竟是什么

1876
来自专栏AI科技大本营的专栏

美团大脑:知识图谱的建模方法及其应用 | 公开课笔记

作为人工智能时代最重要的知识表示方式之一,知识图谱能够打破不同场景下的数据隔离,为搜索、推荐、问答、解释与决策等应用提供基础支撑。

1872

扫码关注云+社区