助你玩转机器学习技术的十三套框架

在今天的文章中,我们将共同了解十三款机器学习框架,这些框架中最值得关注的特性,在于它们正致力于通过简单而新颖的方式应对与机器学习相关的种种挑战。

过去几年以来,机器学习已经开始以前所未有的方式步入主流层面。这种趋势并非单纯由低成本云环境乃至极为强大的GPU硬件所推动; 除此之外,面向机器学习的可用框架也迎来了爆发式增长。此类框架全部为开源成果,但更重要的是它们在设计方面将最为复杂的部分从机器学习中抽象了出来,从而保证相关技术方案能够为更多开发人员服务。

在今天的文章中,我们将共同了解十三款机器学习框架,一部分去年刚刚发布、另一部分则在不久前进行了全部升级。而这些框架中最值得关注的特性,在于它们正致力于通过简单而新颖的方式应对与机器学习相关的种种挑战。

Apache Spark MLlib

Apache Spark可能算得上当前Hadoop家族当中最为耀眼的成员,但这套内存内数据处理框架在诞生之初实际与Hadoop并无关系,且凭借着自身出色的特性在Hadoop生态系统之外闯出一片天地。Spark目前已经成为一款即时可用的机器学习工具,这主要归功于其能够以高速将算法库应用至内存内数据当中。

Spark仍处于不断发展当中,而Spark当中的可用算法亦在持续增加及改进。去年的1.5版本添加了众多新算法,对现有算法做出改进,同时进一步通过持续流程恢复了MLlib中的Spark ML任务。

Apache Singa

这套“深层学习”框架能够支持多种高强度机器学习功能,具体包括自然语言处理与图像识别。Singa最近被纳入Apache孵化器项目,这套开源框架致力于降低大规模数据的深层学习模型训练难度。

Singa提供一套简单的编程模式,用于跨越一整套设备集群进行深层学习网络训练,同时支持多种常规训练任务类型; 卷积神经网络、受限玻尔兹曼机与复发性神经网络。各模型能够进行同步(一一)或者异步(并行)训练,具体取决于实际问题的具体需求。Singa还利用Apache Zookeeper对集群设置进行了简化。

Caffe

深层学习框架Caffe是一套“立足于表达、速度与模块化”的解决方案。其最初诞生于2013年,主要用于机器视觉项目。Caffe自出现之后就一直将多种其它应用囊括入自身,包括语音与多媒体。

由于优先考量速度需求,因此Caffe全部利用C++编写而成,同时支持CUDA加速机制。不过它也能够根据需要在CPU与GPU处理流程间往来切换。其发行版中包含一系列免费与开源参考模型,主要面向各类常规典型任务; 目前Caffe用户社区亦在积极开发其它模型。

微软Azure ML Studio

根据机器学习任务的实际数据规模与计算性能需求,云往往能够成为机器学习应用的一大理想运行环境。微软公司已经立足于Azure发布了其按需计费机器学习服务,即Azure ML Studio,其能够提供按月、按小时以及免费等分层版本。(微软公司的HowOldRobot项目亦利用这套系统创建而成。)

Azure ML Studio允许用户创建并训练模型,而后将其转化为能够由其它服务消费的API。每个用户账户能够为模型数据提供最高10 GB存储容量,不过大家也可以将自己的Azure存储资源连接至服务当中以承载规模更大的模型。目前可用算法已经相当可观,其分别由微软自身以及其它第三方所提供。大家甚至不需要账户即可体验这项服务; 用户可以匿名登录并最多使用八小时Azure ML Studio。

Amazon Machine Learning

Amazon的这套面向云服务的通用型方案遵循既定模式。其提供核心用户最为关注的运行基础,帮助他们立足于此寻求自身最需要的机器学习方案并加以交付。

Amazon Machine Learning同时也是云巨头首次尝试推出机器学习即服务方案。它能够接入被保存在Amazon S3、Redshift或者RDS当中的数据,并能够运行二进制分类、多类分类或者数据递归以创建模型。然而,该服务高度依赖于Amazon本身。除了要求数据必须被存储于Amazon之内之外,其结果模型也无法进行导入与导出,另外训练模型的数据库集亦不可超过100 GB。当然,这只是Amazon Machine Learning的起步成效,其也足以证明机器学习完全具备可行性——而非技术巨头的奢侈玩物。

微软分布式机器学习工具包

我们用于解决机器学习难题的设备数量越多,实际效果就越好——但将大量设备汇聚起来并开发出能够顺利跨越各设备运行的机器学习应用绝非易事。微软的DMTK(即分布式机器学习工具包)框架则能够轻松跨越一整套系统集群解决多种机器学习任务类型的分发难题。

DMTK的计费机制归属于框架而非完整的开箱即用解决方案,因此其中实际涉及的算法数量相对较小。不过DMTK在设计上允许用户进行后续扩展,同时发挥现有集群之内的有限资源。举例来说,集群中的每个节点都拥有一套本地缓存,其能够由中央服务器节点为当前任务提供参数,从而降低实际流量规模。

谷歌TensorFlow

与微软的DMTK类似,谷歌TensorFlow是一套专门面向多节点规模设计而成的机器学习框架。与谷歌的Kubernetes类似,TensorFlow最初也是为谷歌内部需求所量身打造,但谷歌公司最终决定将其以开源产品进行发布。

TensorFlow能够实现所谓数据流图谱,其中批量数据(即‘tensor’,意为张量)可通过一系列由图谱描述的算法进行处理。系统之内往来移动的数据被称为“流”,可由CPU或者GPU负责处理。谷歌公司的长期规划在于通过第三方贡献者推动TensorFlow项目的后续发展。

微软计算网络工具包

趁着DMTK的推出良机,微软公司还发布了另一套机器学习工具包,即计算网络工具包——或者简称CNTK。

CNTK与谷歌TensorFlow非常类似,因为它允许用户通过有向图的方式建立神经网络。另外,微软还将其视为可与Caffe、Theano以及Torch等项目相媲美的技术成果。它的主要亮点在于出色的速度表现,特别是以并行方式利用多CPU与多GPU的能力。微软公司宣称,其利用CNTK与Azure之上的GPU集群共同将Cortana语音识别服务训练的速度提升到了新的数量级。

最初作为微软语音识别项目组成部分开发而成的CNTK,最终于2015年4月以开源项目形式走向公众视野——但其随后以更为宽松的MIT类别许可在GitHub进行了重新发布。

Veles (三星)

Veles是一套面向深层学习应用程序的分布式平台,而且与TensorFlow与DMTK一样,它也由C++编写而成——不过它利用Python在不同节点之间执行自动化与协作任务。相关数据集可在被供给至该集群之前经过分析与自动标准化调整,另外其还具备REST API以允许将各已训练模型立即添加至生产环境当中(假设大家的硬件已经准备就绪)。

Veles并非单纯利用Python作为其粘合代码。IPython(如今已被更名为Jupyter)数据可视化与分析工具能够对来自Veles集群的结果进行可视化处理与发布。三星公司希望能够将该项目以开源形式发布,从而推进其进一步发展——例如面向Windows与Mac OS X。

Brainstorm

作为瑞士卢加诺博士生Klaus Greff于2015年开发的技术成果,Brainstorm项目的目标在于“帮助深层神经网络实现高速、灵活与趣味性。”目前其已经包含有一系列常见神经网络模型,例如LSTM。

Brainstorm采用Python代码以提供两套“hander”,或者称之为数据管理API——其一来自Numpy库以实现CPU计算,其二通过CUDA使用GPU资源。大部分工作由Python脚本完成,所以各位没办法指望其提供丰富的GUI前端——大家需要自己动手接入相关界面。不过从长期规划角度看,其能够使用“源自多种早期开源项目的学习经验”,同时利用“能够与多种平台及计算后端相兼容的新的设计元素。”

mlpack 2

mlpack这套基于C++的机器学习库最初诞生于2011年,其设计倾向为“可扩展性、速度性与易用性,”该库构建者们指出。用户可以通过命令行可执行缓存运行mlpack以实现快速运行、“黑盒”操作或者通过C++ API完成其它更为复杂的任务。

其2.0版本则拥有一系列重构与新特性,其中包括多种新算法,并对现有算法加以修改以提升运行速度或者缩小其体积。举例来说,它能够将Boost库的随机数生成器指向C++ 11的原生随机功能。

mlpack的固有劣势在于其缺乏除C++之外的任何其它语言绑定能力,这意味着从R语言到Python语言的各类其他用户都无法使用mlpack——除非其他开发者推出了自己的对应语言软件包。目前该项目正积极添加对MatLab的支持能力,不过此类项目一般更倾向于直接面向各承载机器学习任务的主流环境。

Marvin

作为另一套刚刚诞生的方案,Marvin神经网络框架为Princeton Vision集团的开发成果。它可谓“为hack而生”,因为项目开发者们在其说明文档当中直接做出这样的描述,且仅仅依赖于C++编写的数个文件及CUDA GPU框架即可运行。尽管其代码本身的体积非常小巧,但其中仍然存在相当一部分能够复用的部分,并可以将pull请求作为项目自身代码进行贡献。

Neon

Nervana公司专门构建自己的深层学习硬件与软件平台,其推出了一套名为Neon的深层学习框架,并将其作为开源项目。该项目利用可插拔模块以支持高强度负载在CPU、GPU或者Nervana自有定制化硬件上运行。

Neon主要由Python语言编写而成,C++为其编写了多条代码片段并带来可观的运行速度。这样的特性让Neon立即成为各Python开发之数据科学场景或者其它绑定Python之框架的理想解决方案。

时间: 2024-09-23 07:11:52

助你玩转机器学习技术的十三套框架的相关文章

机器学习的十三套框架

◆ ◆ ◆ 导读 过去几年以来,机器学习已经开始以前所未有的方式步入主流层面.这种趋势并非单纯由低成本云环境乃至极为强大的GPU硬件所推动; 除此之外,面向机器学习的可用框架也迎来了爆发式增长.此类框架全部为开源成果,但更重要的是它们在设计方面将最为复杂的部分从机器学习中抽象了出来,从而保证相关技术方案能够为更多开发人员服务. 在今天的文章中,我们将共同了解十三款机器学习框架,一部分去年刚刚发布.另一部分则在不久前进行了全部升级.而这些框架中最值得关注的特性,在于它们正致力于通过简单而新颖的方式

十大网络攻击可以利用机器学习技术进行有效防御

即使是瑟曦.兰尼斯特的阴谋诡计或者乔拉.莫尔蒙爵士父亲般的保护(译注:两者都是HBO剧集<权力的游戏>中的人物)也无法阻止攻击者攻破HBO的网络并窃取了1.5TB的数据(包括未播出的<权力的游戏>剧集).然而,机器学习可能已经为HBO的虚拟要塞提供了更好的防护. 人工智能(AI)和机器学习(ML)是众多辩论的主题,特别是在网络安全社区内更是如此.那么,机器学习会是下一个大的安全趋势吗?人工智能准备好了接受机器学习推动的攻击吗?总的来说,人工智能是否做好了使用的准备?无论你对于机器学

我是如何用机器学习技术帮助 HR 省时间的

引言 假设简历库中有 10000 份名为 "软件工程师" 的简历. 一位 HR 在搜索 "Android 工程师" 时仅关注名称为 "Android 工程师" 的简历,她将遗漏 912 份有可能匹配的简历:如果这位 HR 愿意花时间从头到尾通读每一份 "软件工程师" 的简历,将其中真正从事 Android 研发的简历筛选出来,那么她需要多阅读 9088 份无效的软件工程师简历.假设阅览一份简历需要 15 秒,这项工作将占据她

机器学习技术如何打击网络零售欺诈行为

Amazon Prime会员日取得了巨大的成功.据称今年的销售总额较2016年提升了60%,总收入达到近20亿美元,称其为成功确实并不为过. 但同样着眼于数字,很多朋友可能并不清楚,Amazon公司有近5%的收入因欺诈行为而损失,总额达1亿美元.对于企业来说,这绝不是笔小钱.而且不仅仅是Amazon Prime会员日,事实上每一家网络零售商在每一天的运营当中都面临着网络欺诈的威胁. 而圣诞节等标志性零售高潮期的到来则会令事情变得更糟.有鉴于此,我们该如何阻止此类状况?至顶网与Fraugster与

美国银行将 AI 应用于企业应收账款处理;联合国或将利用机器学习技术帮助救灾工作

8 月 24 日消息,据外媒报道,美国银行(Bank of America)与 Fintech 创业公司 High Radius达成合作,将人工智能应用于企业应收账款处理.该应用程序专为大型.复杂的公司管理大笔支付业务,因这些公司常常发生回款信息丢失或一方单独收到付款的情况. 美国银行全球应收账款负责人 Rodney Gardner 解释说,汇款信息的不完善导致协调过程非常艰巨并且昂贵. "我们的解决方案汇集了 AI,机器学习和光学字符识别(OCR),在应收账款对账和支付匹配中设置了一个新的条件

【问答集锦】人工智能/机器学习技术在电商场景下的应用

近年来阿里不断运用深度学习.强化学习等人工智能领域的相关知识优化自身电商平台的搜索引擎和推荐系统,让其从冷冰冰的系统不断成长为越来越懂用户的智能购物助手. 日前,<尽在双11>人工智能部分执笔人&阿里技术专家 乐田 与 仁重 就 "人工智能/机器学习技术在电商场景下的应用" 问题在OSCHINA与大家开展了问答活动. 本文整理了两位老师在开源中国高手问答中的精彩问答. 1 . 机器学习在电商方面除了广告推荐之类的方面外,还有其他的应用么?谢谢,还有学习这方面需要哪些

阿里专家问答丨人工智能/机器学习技术在电商场景下的应用

近年来阿里不断运用深度学习.强化学习等人工智能领域的相关知识优化自身电商平台的搜索引擎和推荐系统,让其从冷冰冰的系统不断成长为越来越懂用户的智能购物助手. 淘宝和天猫已经从以人工运营为主分配流量和资源位的方式成功转变为以大数据和人工智能为导向的新方式. 正如<尽在双11>一书中说的那样:"技术的创新与发展必将不断推动商业模式的升级与变革,在生活的方方面面影响我们每一个人." <尽在双11>人工智能部分执笔人&阿里技术专家 乐田 与 仁重 就 "

“60后”沃尔玛的潮范儿:如何用机器学习技术提升客户体验?

尽管沃尔玛是一个"60后"的老公司了,但其新兴技术实力却仍处于业界领先地位,广泛应用了机器学习.物联网和大数据技术来优化零售业务和客户体验.作为全球第二大在线零售商,沃尔玛的的专利申请量.在零售技术方面的投资和创新或多或少表明:作为全球顶尖的零售商之一,沃尔玛正充分发展技术优化业务并提供给客户更好的服务. 沃尔玛实验室患者体验部的副总裁Lauren Desegur说,"我们正在探索通过机器学习技术优化购物体验,并致力于沟通患者线上和线下购物体验." 相对于其竞争对手

谷歌公司利用机器学习技术帮助市场营销人员改善广告追踪能力与效果

这是每一家企业在市场营销方面面临着的重要问题.而在日前于旧金山举办的Marketing Next大会上,谷歌公司制定了新的目标,即通过一项新服务帮助营销人员了解其广告及其它营销性举措到底效果如何. 此次发布的新服务被谷歌公司命名为Google Attribution.尽管名称平淡无奇,但此项新服务承诺以更理想的方式对个人电脑.智能手机乃至从搜索到实体店面访问在内的多渠道状况进行追踪,从而准确把握宣传活动的具体成效. 作为一项免费服务,Attribtuion背后的基本思路在于着眼特定产品的买家在决