首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发 | Theano停止更新之后,开发者们怎么说?

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

作者头像
AI科技评论
发布2018-03-14 11:21:28
1K0
发布2018-03-14 11:21:28
举报
文章被收录于专栏:AI科技评论AI科技评论

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

  • 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科技评论这样说道:

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档