深度学习入门之工具综述

原文:Getting Started with Deep Learning: A REVIEW OF AVAILABLE TOOLS

作者: MATTHEW RUBASHKIN

翻译:冯斌

【摘要】本文评估了当前热门的深度学习工具,对于想进行深度学习开发的团队来说,可以参考一二。以下为译文:

在硅谷数据科学公司里,我们的研发团队调研了从图像识别到语音识别等不同的深度学习技术。建立了一套收集数据、创建模型,评估模型的技术路线。然而,当开发者研究什么技术可应用时,却找不到一个简明的可供参考的总结材料来开始一个新的深度学习研究项目。

回馈提供工具的开源社区的一个方法是帮助他人评估和选择工具。我们提供下面的图表,以及基于定制的各种标准的解释。

这些排名结合了我们对图像和语音识别应用技术的主观经验以及公开的基准研究。请注意这不是目前深度学习框架详尽的列表,在未来的几个月,我们将会评估DeepLearning4j, Paddle, Chainer, Apache Signa和Dynet等框架。对已经评估的框架的解释如下:

编程语言: 在开始深度学习时,最好使用熟悉的编程语言开发的框架。 例如,Caffe(C++)和Torth(Lua)的代码库都与Python绑定,但是如果你想使用这些技术,建议你分别熟悉C++或Lua。 相比之下,TensorFlow和MXNet有很好的多语言支持,即使你不精通C++也可以轻松使用。

注:我们没有机会测试Facebook人工智能研究所2017年1月发布的用Python包装后的Torch,PyTorch。该框架是为帮Python程序员利用Torch动态构建神经网络。

教程和培训材料: 深度学习技术的教程和入门材料在质量和数量上有很大的不同。 Theano,TensorFlow,Torch,和MXNet已经有文档齐全的教程,很容易理解和应用。 而微软的CNTK和英特尔的Nervana Neon虽然强大, 但缺乏入门等初级材料。 此外,GitHub社区参与量是一个强大的指标,不仅关乎工具的未来发展,同时也是一个问题或错误通过搜索或Git代码库问题列有多大的可能性或多快被解决的衡量标准。需要注意的是,TensorFlow的教程、培训材料、社区开发者及用户都是非常丰富的。

卷积神经网络建模能力:卷积神经网络(CNN)被用于图像识别,推荐引擎和自然语言处理。一个卷积神经网络由一组不同层组成,这些层把初始的数据输出为之前定义好的评分类别(更多的介绍,参考Eugenio Culurciello的神经网络架构综述)。卷积神经网络也能用于回归分析,例如在自动驾驶中输出转向角的模型。考虑一个技术框架的卷积神经网络的能力包含几个方面:定义模型的机会空间,预制层的可用性,连接这些层的工具和功能的可用性。其中Theano、Caffe、和MXNet有很好的CNN建模能力。也就是说,TensorFlow可以简单的建立在inceptionV3模型上,而Torch强大的CNN包含好用的时域卷积,这与CNN建模能力关联性并不强。

循环神经网络建模能力:循环神经网络(RNNs)被用于语音识别,时间序列预测,图像描述和其他需要处理时序信息的任务。已有的RNN模型没有CNNs那么多,所以如果你有一个RNN深度学习项目,考虑已经实现并且有开放源码的RNN模型是非常重要的。例如,Caffe的RNN资源最少,微软的CNTK和Torch有丰富的RNN教程和现成的模型。而TensorFlow有一些RNN资料,TFLearn和Keras有更多用TensorFlow实现RNN的例子。

架构:为了在特定的框架中创建和训练新模型,有一个易于使用和模块化的前端是非常重要的。TensorFlow, Torch和MXNet有一个简单的模块化的架构使得开发也非常简单。由于TensorFlow包含了TensorBoard网页界面,使得它在训练中和训练后特别易于调试和监控。

速度: Torch和Nervana在开源卷积神经网络基准测试中有最好的性能记录。TensorFlow的性能在大多数的测试里面表现不错,而Caffe和Theano则落在后面。 微软的CNTK声称拥有最短的RNN训练时间。 在另一个基于Torch、TensorFlow、Theano针对RNN的测试中,Theano的表现是最好的。

多GPU支持:大多数深度学习应用需要大量浮点运算。例如,百度的深度语音识别模型需要百亿亿次浮点运算进行训练,那是每秒大于10的18次方的运算啊。像NVIDIA公司Pascal架构的TitanX这样的主流GPU每秒能进行110亿次的浮点运算,在一个足够大的数据集上要用超过一周的时间来训练一个新的模型。为节省建立模型时间,需要多机多GPU。幸运的是,上面提到的大多数技术都提供了这种支持。据报道MXNet有一个最佳的多GPU引擎。

Keras兼容性:Keras是实现快速深度学习原型的一个高水平库。我们发现它是让数据科学家轻松使用深度学习的一个非常好的工具。Keras目前支持TensorFlow和Theano两个后端,将来会得到TensorFlow的官方支持。 鉴于Keras的作者最近表示Keras将继续做为可以支持多个后端的前端,Keras库仍是一个很好的选择。

如果你对深度学习感兴趣,建议你先评估团队成员的技术水平和项目需求。例如,对于一个使用Python开发图像识别应用的团队,建议使用文档丰富,性能不错,原型工具好的TensorFlow。一个以Lua为主的团队需要扩大RNN到生产中去,建议使用速度快和RNN建模能力强的Torch。

免责声明:本文系网络转载。版权归原作者所有。如涉及版权,请联系删除!

原文发布于微信公众号 - 智能算法(AI_Algorithm)

原文发表时间:2017-05-12

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量子位

六大你应该了解的人工智能和机器学习核心领域

到底什么是人工智能(AI)? 有些人把AI重新解释为“认知计算”或“机器智能”,而其他人错误的将AI与“机器学习”混淆起来。其实AI不是一种技术。它实际上是一个...

21550
来自专栏AI科技评论

学界 | 全景照片不怕歪!Facebook 用神经网络矫正扭曲的地平线

AI科技评论按:最近微博上的全景照片很火呀,相比各位都已经在自己的iPhone或者iPad上品鉴了多家IT公司的办公室、游玩了多个旅游胜地、享受了被小猫小狗环绕...

40570
来自专栏机器之心

学界 | Facebook「1小时训练ImageNet」论文与MXNet团队发生争议,相关研究介绍

机器之心报道 机器之心编辑部 近日,Facebook 公布了一篇研究论文《Accurate, Large Minibatch SGD: Training Ima...

42670
来自专栏机器之心

业界 | 人人都能用的深度学习:当前三大自动化深度学习平台简介

21340
来自专栏AI研习社

CVPR 2018摘要:第二部分

今天,我们继续推出最近的CVPR(计算机视觉和模式识别)会议系列,这是世界上计算机视觉的顶级会议。 Neuromation成功参加了DeepGlobe研讨会,现...

9920
来自专栏AI研习社

【AI听】Hinton:反向传播要被彻底放弃了!Unity推出Machine Learning,24分钟训练ImageNet……

主播 | 吴璇 选题 | 徐普 程炜 Heo 本周关键词 反向传播|Machine Learning Agents ImageNet|信息瓶颈 NO/1 Ge...

40570
来自专栏企鹅号快讯

深度学习的核心工作流程之一:如何训练数据!

-免费加入AI技术专家社群>> 今天我们将讨论深度学习中最核心的问题之一:训练数据。深度学习已经在现实世界得到了广泛运用,例如:无人驾驶汽车,收据识别,道路缺陷...

28850
来自专栏新智元

【AI 工厂】Facebook 计算机视觉 Lumos平台,内容理解之上的图像技术

【新智元导读】Facebook 官方博客最新发表文章,详细介绍其 AI 平台 FBLearner Flow 及建立在上面的专用于图像和视频理解任务的 Lumos...

32190
来自专栏新智元

深度学习框架大战:谁将夺取“深度学习工业标准”荣耀?

随着深度学习研究热潮的持续发酵,各种开源深度学习框架层出不穷,其中包括:Caffe、CNTK、MXNet、Neon、TensorFlow、Theano 和 To...

38460
来自专栏CSDN技术头条

深度学习入门之工具综述

【摘要】本文评估了当前热门的深度学习工具,对于想进行深度学习开发的团队来说,可以参考一二。以下为译文: 在硅谷数据科学公司里,我们的研发团队调研了从图像识别到语...

23460

扫码关注云+社区

领取腾讯云代金券