深度学习入门之工具综述

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

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

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

这些排名结合了我们对图像和语音识别应用技术的主观经验以及公开的基准研究。请注意这不是目前深度学习框架详尽的列表,更多的框架可以在这里找到。在未来的几个月,我们将会评估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。

原文发布于微信公众号 - CSDN技术头条(CSDN_Tech)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

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

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

37960
来自专栏新智元

Facebook宣布机器翻译全面采用神经网络,现每日处理45亿次翻译

【新智元导读】Facebook 今天宣布,从使用基于短语的机器翻译模型改为使用神经网络系统来处理其社交网络后端每天的翻译请求,每天翻译超过 45 亿次。与基于短...

35880
来自专栏AI科技评论

有史以来最精彩的自问自答:OpenAI 转方块的机械手

AI 科技评论按:今年 2 月,OpenAI 发起了一组机械手挑战,他们在基于 MuJoCo 物理模拟器的 Gym 环境中新设计了含有机械臂末端控制、机械手拿取...

12630
来自专栏企鹅号快讯

深度学习的核心:掌握训练数据的方法

Hello World! 今天我们将讨论深度学习中最核心的问题之一:训练数据。深度学习已经在现实世界得到了广泛运用,例如:无人驾驶汽车,收据识别,道路缺陷自动检...

23180
来自专栏AI科技评论

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

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

39670
来自专栏AI研习社

CVPR 2018摘要:第二部分

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

9720
来自专栏AI研习社

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

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

38970
来自专栏机器人网

三个自动化深度学习平台比较和盘点

数据科学领域有一部分研究者和开发者已经选择学习这些新技术了,但在预测性和规范性建模的问题类型和技术方面(我们 90% 的工作就是这些),学习深度学习技术却与我们...

18020
来自专栏IT派

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

数据科学领域有一部分研究者和开发者已经选择学习这些新技术了,但在预测性和规范性建模的问题类型和技术方面(我们 90% 的工作就是这些),学习深度学习技术却与我们...

14630
来自专栏企鹅号快讯

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

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

28150

扫码关注云+社区

领取腾讯云代金券