AI从业者该如何选择深度学习开源框架丨雷锋网公开课雷峰网

这两点对于初学者和从业人员都非常重要,我在后面详细讲述。

首先要恭喜MXNet近日获得了亚马逊的背书,MXNet平台本身非常优秀,具有很多优良的性质:例如多节点模型训练,目前是我知道最全面的多语言支持。此外,也有评测说MXNet性能方面可以高出同行平台很多,我们将会在后面的讨论中提到。现在进入正题,我们该如何选择深度学习开源平台,参考标准应该是什么样的?

今天主要探讨的平台(或者软件)包括:Caffe,Torch,MXNet,CNTK,Theano,TensorFlow,Keras。

如何选择一个深度学习平台?我总结出了下面的这些考量标准。因人而异,因项目而异。可能你是做图像处理,也可能是自然语言处理,或是数量金融,根据你不同的需求,对平台做出的选择可能会不同。

无论是学术研究还是工程开发,在上马深度学习课题之前一般都已积累不少开发经验和资源。可能你最喜欢的编程语言已经确立,或者你的数据已经以一定的形式储存完毕,或者对模型的要求(如延迟等)也不一样。标准1考量的是深度学习平台与现有资源整合的难易程度。这里我们将回答下面的问题:

我们做深度学习研究最后总离不开各种数据处理、可视化、统计推断等软件包。这里我们要回答问题:

上面我们提到的不少平台是专门为深度学习研究和应用进行开发的,不少平台对分布式计算、GPU等构架都有强大的优化,能否用这些平台/软件做其他事情?

比如有些深度学习软件是可以用来求解二次型优化;有些深度学习平台很容易被扩展,被运用在强化学习的应用中。哪些平台具备这样的特点?

这个问题可以涉及到现今深度学习平台的一个方面,就是图像计算和自动化求导。

当然,深度学习在不同应用场景的数据量是不一样的,这也就导致我们可能需要考虑分布式计算、多GPU计算的问题。例如,对计算机图像处理研究的人员往往需要将图像文件和计算任务分部到多台计算机节点上进行执行。

当下每个深度学习平台都在快速发展,每个平台对分布式计算等场景的支持也在不断演进。今天提到的部分内容可能在几个月后就不再适用。

成熟程度的考量是一个比较主观的考量因素,我个人考量的因素包括:社区的活跃程度;是否容易和开发人员进行交流;当前应用的势头。

讲了5个参考标准后,接下来我们用上面的这些标准对各个深度学习平台进行评价:

标准1考量的是深度学习平台与现有资源整合的难易程度。这里我们将回答下面的问题:是否需要专门为此学习一种新语言?是否能与当前已有的编程语言结合?

这一个问题的干货在下面这个表格。这里我们按照每个深度学习平台的底层语言和用户语言进行总结,可以得到下表。

其中Keras通过Theano,TensorFlow作为底层进行建模。

我们可以看到这样的趋势:

从格局上来说,Python作为深度学习建模的基本语言是可以确定的。如果你最喜欢编程语言是Python,恭喜您,大多数平台都可以和你的技术无缝衔接。如果是Java也不用担心,不少平台也具有Java支持,Deeplearning4J还是一个原生的Java深度学习平台。

完成深度学习建模等任务之后,和生态的整合也尤为重要。

我们可以发现,上面和Python,R,整合较为紧密,这里Keras生态(TensorFlow,Theano),CNTK,MXNet,Caffe等占有大量优势。

同时Caffe具有大量图像处理包,对数据观察也具有非常大的优势。

下图是本次公开课的核心:

CPU+GPU控制,通信:这一个最低的层次是深度学习计算的基本层面。

○包含各种激发函数(activationfunction),例如sigmoid,ReLU等。

○同时也包含求导模块

1.第一类是以Caffe,Torch,MXNet,CNTK为主的深度学习功能性平台。这类平台提供了非常完备的基本模块,可以让开发人员快速创建深度神经网络模型并且开始训练,可以解决现今深度学习中的大多数问题。但是这些模块很少将底层运算功能直接暴露给用户。

2.第二类是以Keras为主的深度学习抽象化平台。Keras本身并不具有底层运算协调的能力,Keras依托于TensorFlow或者Theano进行底层运算,而Keras自身提供神经网络模块抽象化和训练中的流程优化。可以让用户享受快速建模的同时,具有很方便的二次开发能力,加入自身喜欢的模块。

3.第三类是TensorFlow。TensorFlow吸取了已有平台的长处,既能让用户触碰底层数据,又具有现成的神经网络模块,可以让用户非常快速的实现建模。TensorFlow是非常优秀的跨界平台。

4.第四类是Theano,Theano是深度学习界最早的平台软件,专注底层基本的运算。

这里我介绍下深度学习的一些副产品,其中一个比较重要的功能就是符号求导。

图计算和符号求导:深度学习对开源社区的巨大贡献

大家可能会有疑问:我能训练出来深度学习模型就蛮好的了,为什么需要接触底层呢?

这里我先介绍下深度学习的一些副产品,其中一个比较重要的功能就是符号求导。符号求导英文是SymbolicDifferentiation,现在有很多有关的文献和教程可以使用。

符号求导是什么意思?

以前我们做机器学习等研究,如果要求导往往需要手动把目标函数的导数求出来。最近一些深度学习工具,如Theano,推出了自动化符号求导功能,这大大减少了开发人员的工作量。

当然,商业软件如MatLab,Mathematica在多年前就已具有符号计算的功能,但鉴于其商业软件的限制,符号计算并没有在机器学习应用中被大量采用。

深度学习由于其网络的复杂性,必须采用符号求导的方法才能解决目标函数过于复杂的问题。另外一些非深度学习问题,例如:二次型优化等问题,也都可以用这些深度学习工具来求解了。

更为优秀的是,Theano符号求导结果可以直接通过C程序编译,成为底层语言,高效运行。

这里我们给一个Theano的例子:

8

上面我们通过符号求导的方法,很容易的求出y关于x的导数在4这个点的数值。

对于多GPU支持和多服务器支持,我们上面提到的所有平台都声称自己能够完成任务。同时也有大量文献说某个平台的效果更为优秀。我们这里把具体平台的选择留给在座各位,提供下面这些信息:

首先想想你想要干什么。现在深度学习应用中,需要运用到多服务器训练模型的场景往往只有图像处理一个,如果是自然语言处理,其工作往往可以在一台配置优秀的服务器上面完成。如果数据量大,往往可以通过hadoop等工具进行数据预处理,将其缩小到单机可以处理的范围内。

本人是比较传统的人,从小就开始自己折腾各种科学计算软件的编译。现在主流的文献看到的结果是,单机使用GPU能比CPU效率提高数十倍左右。

但是其实有些问题,在Linux环境下,编译Numpy的时候将线性函数包换为IntelMLK往往也可以得到类似的提高。

当然现在很多评测,往往在不同硬件环境、网络配置情况下,都会得到不一样的结果。

就算在亚马逊云平台上面进行测试,也可能因为网络环境、配置等原因,造成完全不同的结果。所以对于各种测评,基于我的经验,给的建议是:takeitwithagrainofsalt,自己要留个心眼。前面我们提到的主要工具平台,现在都对多GPU、多节点模型训练有不同程度的支持,而且现在也都在快速的发展中,我们建议听众自己按照需求进行鉴别。

对于成熟程度的评判往往会比较主观,结论大多具有争议。我在这里也只列出数据,具体如何选择,大家自己判断。

这里我们通过Github上面几个比较受欢迎的数量来判断平台的活跃程度。这些数据获取于今天下午(2016-11-25)。我们用黑体标出了每个因子排名前三的平台:

THE END
1.OpenLMS:全面开源学习管理系统指南简介:OpenLMS 是一个开源的学习和课程内容管理平台,支持在线教学与互动学习环境。其核心优势在于代码开源,允许定制和共享。提供了包括课程管理、学生协作、评估反馈、用户管理、报告统计和扩展集成在内的多项功能。本指南将详细解读 OpenLMS 的架构、开发与更新过程,以及代码和数据目录结构,是教育从业者和技术开发者了解https://blog.csdn.net/weixin_35899324/article/details/144059668
2.百度为何开源深度机器学习平台?5月20日,百度在github上开源了其深度机器学习平台。此番发布的深度机器学习开源平台属于“深盟”的开源组织,其核心开发者来自百度深度学习研究院(IDL),微软亚洲研究院、华盛顿大学、纽约大学、香港科技大学,卡耐基·梅陇大学等知名公司和高校。 5月20日,百度在github上开源了其深度机器学习平台。此番发布的深度机器学习https://www.51cto.com/article/477831.html
3.飞桨PaddlePaddle飞桨致力于让深度学习技术的创新与应用更简单。具有以下特点:同时支持动态图和静态图,兼顾灵活性和效率;精选应用效果最佳算法模型并提供官方支持;真正源于产业实践,提供业界最强的超大规模并行深度学习能力;推理引擎一体化设计,提供训练到多端推理的无缝对接;唯一提https://www.paddlepaddle.org.cn/science
4.开放式在线学习平台edX全部开源开源软件2011年底,麻省理工学院发起一项开放式在线学习项目“MITx”,用于提供该学院的免费在线课程。去年5月份,哈佛大学也加入进来,与麻省理工学院一起推出了“edX”平台,该平台也提供哈佛大学的相关课程。 在edX平台宣布之初,曾承诺以开源软件的形式发布,以 MITx 为基础,其它感兴趣的大学和机构可自行托管其平台,或者帮助改进和https://www.iteye.com/news/27883
5.全国仅两家!曙光深度学习开源平台入列国家AI重大工程美通社PR曙光深度学习开源平台入列国家AI重大工程 曙光联合中科院计算技术研究所、北京市商汤科技开发、云宏信息科技、成都索贝数码科技申报的“面向深度学习应用的开源平台建设及应用”项目成功入选《2018年“互联网+”、人工智能创新发展和数字经济试点重大工程支持项目名单》。https://www.prnasia.com/story/203909-1.shtml
6.教育管理革命:一站式开源学习平台开源日报No.190教育管理革命:一站式开源学习平台 | 开源日报 No.190 ixahmedxi/noodlehttps://github.com/ixahmedxi/noodle Stars:10.4kLicense:AGPL-3.0 picture Noodle 是一个开源的教育平台,旨在重新思考学生的效率问题。 该项目具有以下核心优势和关键特性: 模块/科目管理https://cloud.tencent.com/developer/article/2390883
7.飞桨paddlepaddle开源深度学习平台飞桨PaddlePaddle 031 AI工具集合AI开发框架 开源深度学习平台 标签:AI开发框架 21-1+1+1+ 链接直达手机查看 开源深度学习平台 数据统计 相关导航https://laohouqi.cn/sites/1610.html
8.WLP在线学习平台WLP在线学习平台- WLP在线学习平台-开源版 --- 通过WLP在线学习平台获得线上学习能力,可辅助企业线下培训或将企业培训课件放置在系统中,方便用户随时随地在线学习。 每个课程可包含多个课时课件,课件支持PDF和mp4视频格式。 课程分类支持多级分类,灵活组织不同类型的http://wlp.wcpknow.com/
9.OSCHINAOSCHINA.NET 是目前领先的中文开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台https://www.oschina.net/
10.百度正式宣布推出深度学习开源平台PaddlePaddle芊雅企服百度近日正式对外宣布开放其深度学习开源平台PaddlePaddle,这也是继Google、Facebook、IBM后又一家将人工智能技术开源的公司。 PaddlePaddle的前身是百度于2013年自主研发的深度学习平台Paddle(Parallel Distributed Deep Learning,并行分布式深度学习),且一直为百度内部工程师研发使用。 https://www.kejianet.cn/paddlepaddle/
11.类脑认知智能引擎“智脉”:全脉冲神经网络的新一代人工智能开源平台据类脑认知智能引擎“智脉”开源平台负责人曾毅研究员介绍,脉冲神经网络(Spiking Neural Network, SNN)作为第三代神经网络,从编码方式、学习法则、信息传递和处理机制等多个角度模拟了生物脑,具有更强的生物可解释性,更加适合建模大脑的各项认知功能,另一方面,由于脉冲序列的稀疏表征,也使得脉冲神经网络具有潜在的低能耗https://aidc.shisu.edu.cn/77/db/c11041a161755/page.htm
12.立创开源硬件平台基于嘉立创EDA进行电路设计的硬件开源设计大本营,集嵌入式、电子模块、DIY设计、物联网、智能硬件、电子应用、电工电子等多种电路设计模块为一体的开源硬件平台https://www.oshwhub.com/
13.字节跳动破局联邦学习:开源Fedlearner框架,广告投放增效209%作为分布式的机器学习范式,联邦学习能够有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,挖掘数据价值。 近两年,联邦学习技术发展迅速,阿里、腾讯、百度、京东、蚂蚁金服、微众银行等一众互联网大厂、金融科技公司皆涉足其中。前不久,字节跳动联邦学习技术团队也开源了自研的联邦学习平台 Fedlearner 。 https://maimai.cn/article/detail?fid=1550604028&efid=zqj9rqK7Yf_Us-lu-0Wnmg
14.[开源]教学实训云平台小程序:满足教学实训学习测评于一体一、开源项目简介 教学实训云平台小程序端:满足教学、实训、学习、测评于一体,随时随地开展实训和学习。 二、开源协议 使用Apache-2.0开源协议 三、界面展示 部分功能截图 四、功能概述 功能列表 首页: 我教的课:显示老师的课程(未开始、进行中、已结束) https://code.exmay.com/detail/1351
15.上海人工智能实验室发布开源平台体系OpenXLab开源是推动人工智能技术进步的重要力量。7月8日,上海人工智能实验室在2021世界人工智能大会的开幕式和科学前沿全体会议上发布其开源平台体系OpenXLab,首发阵容包括两大开源平台:新一代OpenMMLab以及全新发布的OpenDILab。 作为深度学习时代计算机视觉领域最具影响力的开源算法平台, OpenMMLab升级后将涵盖更广泛的算法领域和应https://finance.eastmoney.com/a/202107081989632720.html
16.关于本站学习网站这是一个关于learnsite学习的站点,域名是openlearnsite。用意:1、是希望大家开启learnsite学习,用于信息技术学科教学;2、open意味着开源,希望大家能了解learnsite是“温州水乡”老师编写的一个开源的学习平台。正如“温州水乡”在平台说明中描述的:learnsite学习平台为自由免费软件(仅对平台优化有帮助者提供开发源码)。感谢为http://www.openlearnsite.com/about-site/
17.GitHubFastBee开源物联网平台,简单易用,更适合中小企业和个人学习使用。适用于智能家居、智慧办公、智慧社区、农业监测、水利监测、工业控制等。 系统后端采用Spring boot;前端采用Vue;消息服务器采用EMQX;移动端支持微信小程序、安卓、苹果和H5采用Uniapp;数据库采用Mysql、TDengine和Redis;设备端支持ESP32、ESP8266、树莓派、https://github.com/vsrising/FastBee/
18.大模型为什么是深度学习的未来?人工智能蓝海大脑GPU一、开源开发框架,深度学习平台的基础核心 开源开发框架作为深度学习平台的基础核心,结合编程范式、大规模分布式等关键技术,打造易用、高效、可扩展的框架引擎,解决了工业应用中的广泛问题。培训、软件适配和硬件 ,专注于提高人工智能产品以及软硬件解决方案的开发效率和易用性。 https://xie.infoq.cn/article/d2563c7ce0c59b6c51ef774b8
19.自动化所开放“及第”多智能体开源开放平台科研方面,“及第”平台紧跟智能体博弈决策智能前沿学术研究,建设以单智能体、多智能体强化学习算法为主的决策智能开源算法“秘籍”库,并提供算法在不同环境中的可复现结果,方便智能体博弈研究者直接引用,减少重复性的实验。 应用方面,“及第”平台积极对接决策智能领域的实际应用场景,并将实际问题按照统一接口封装,以“https://www.cas.cn/syky/202110/t20211011_4808510.shtml