几种深度学习工具比较
摘要自AlphaGO打败人类顶尖职业围棋手李世石以来,人工智能和深度学习一直是学术界、工业界的热点。
本文针对目前市场上存在的多种深度学习工具特点进行了比较,最后提出了相关的使用建议,能够为相关的从业人员提供一定的参考。
关键词深度学习;工具;特点
前言
自AlphaGO打败人类顶尖职业围棋手李世石以来,国内外各大科技公司(谷歌、亚马孙、百度、阿里、腾讯、小米)纷纷将人工智能、深度学习定为未来的发展重心[1]。
目前市面上主流的开源学习框架有Caffe、TensorFlow、Deeplearning4j等,通过深度学习框架开发人员可以不用去关注底层实现,不用去重复造轮子,专注于业务本身,能够大大提高工作效率。
下面首先了解一下各个深度学习框架的特点。
1 深度学习工具比较
主流深度学习框架[2]如下:
Brainstorm:由瑞士人工智能实验室IDSIA维护,支持语言有C++、python,支持系统有Linux、Windows。
Caffe:由加州伯克利分校视觉与学习中心维护,支持语言有C++、python、Matlab,支持系统有Linux、Mac OS X、Windows。
Chainer:由日本Preferred Networks公司維护,支持语言为python,支持系统有Linux、Windows。
ConvNetJS:由斯坦福大学博士生Karpathy维护,支持语言有Java、JavaScript、python,支持系统有Linux、Windows。
Deeplearning4j:由Skymind 公司维护,支持语言有Java、Scale、Clojure,支持系统有Linux、Mac OS X、Windows、Android。
Microsoft Cognitive Toolkit(CNTK):由微软研究院维护,支持语言有C++、python、BrainScript ,支持系统有Linux、Windows。
Marvin:由普林斯顿大学视觉工作组维护,支持语言有C++、python,支持系统有Linux、Windows。
MXNet:由CXXNet项目组维护,支持语言有C++、python,支持系统有Linux、Windows、Android、ios、Mac OS X。
Neon:由Nervana Systems公司维护,支持语言为python,支持系统有Linux、Windows。
PaddlePaddle:由百度公司维护,支持语言有C++、python,支持系统有Linux、Mac OS X。
TensorFlow:由谷歌公司维护,支持语言有C++、python、R、Java、Swift,支持系统有Linux、Mac OS X、Android、ios。
Theano:由蒙特利尔大学理工学院维护,支持语言为python,支持系统有Linux、Windows、Mac OS X。
Torch:由FaceBook公司维护,支持语言有Lua、C,支持系统有Linux、Windows、Mac OS X、Android、ios。
笔者认为比较各类语言不能仅仅看其支持的语言类型、支持的操作系统多
少,更要关注其发展趋势、开源社区的活跃程度,只有活跃度比较高的工具才能适应深度学习的发展。
图1表示了Github论坛上活跃讨论帖排行前8的工具以及提交代码排行前八的工具。
从图中可以看出不论是受关注程度还是社区代码贡献率TensorFlow都远远超过其他工具。
2 TensorFlow特点及应用
TensorFlow相对于第一代DisBelief大大简化,计算速度更快、计算模型更加通用、支持的算法更广、系统更加稳定。
谷歌提供了大量的可运行的实例、训练数据、教程。
TensorFlow部署非常方便,可以在Android、iOS等客户端,完成图像识别、人脸检测等任务[3]。
目前TensorFlow在谷歌的语音助手、广告、电商、图片标注、谷歌翻译、新闻推送、谷歌地图、谷歌支付等已经得到了广泛的应用。
基于TensorFlow的排序系统,相比于传统的排序算法,更加满足用户的要求。
基于TensorFlow的AlphaGo更是在弈城、野狐等平台横扫中日韩围棋高手。
基于TensorFlow的音乐和艺术生成项目Project Magenta已经可以谱出非常优美的曲子。
大量的个人/企业开发者加上谷歌公司的鼎力支持,相信TensorFlow在未来应用会越来越广泛。
3 结束语
本文首先对目前市场上流行的深度学习框架进行了比较,其次对其中最受欢迎的TensorFlow工具的特点及应用做了简要介绍,可以为相关的深度学习开发者提供一定的借鉴。
参考文献
[1] 郑泽宇,顾思宇.TensorFlow实战Google深度学习框架[M].北京:电子工业出版社,2017:6-18.
[2] 尹宝才,王文通.深度学习研究综述[J].北京工业大学学报,2015,(1):48-59.
[3] 郭丽丽,丁世飞.深度学习研究进展[J].计算机科学,2015,42(5):28-33.。