想做AI,怎么选开发工具?这份上手指南送给你

作者: 佚名 2017-10-23 16:28:33

想做AI,怎么选开发工具?这份上手指南送给你

现代人工智能给企业带来了很多好处,同时也大大提升了机器的认知能力。作为计算机科学领域里的一项重要技术,人工智能正以前所未有的速度迅速发展。一项研究成果从学术论文转化为实际的产品仅需几个月的时间。然而,过快的发展速度对于该领域中的新手来说则是一场灾难。除了熟悉人工智能技术之外,从业人员还必须正确选择技术平台。本文重点介绍了人工智能在深度学习方面一些重要的可选项,包括每个工具包的主要优缺点以及行业中各自的支持者。

机器学习和深度学习

当代人工智能技术可分为两类:机器学习和深度学习。目前绝大多数使用的都是前一种,即机器学习。这其中包含了一些数据科学家最常用的算法:线性模型、k均值聚类、决策树等等。虽然我们现在将它们作为人工智能的一部分,但这是数据科学家长期研究的成果。

在过去两年里,人工智能的第二种技术受到了更多的关注和炒作:它是机器学习技术的一种专业化表现,即神经网络,也被称为深度学习。深度学习正吸引着人们对人工智能或“认知”技术的关注,包括图像识别、语音识别、自动玩游戏、自动驾驶车辆以及其他自主车辆。通常,这些应用需要大量的数据来馈送和训练复杂的神经网络。

机器学习的可选项

处理机器学习的工具包在每个常用的统计数据包中都有。常见的商业产品有SAS、SPSS和MATLAB。常用的开源工具有R和Python。大数据平台Apache Spark和Hadoop也有自己的并行机器学习工具(Spark的MLLIB和Apache Mahout)。目前,由于存在类似于scikit-learn和Anaconda这样的项目,Python正在成为行业数据科学最流行的编程语言。

深度学习的可选项

深度学习工具包的发展非常迅速。学术界和数据巨头,如Google、百度、Facebook,已经在深度学习投入了很多年,他们拥有数套强大的可选方案。因此,新手们面对的选择有很多!每个选择都有着各自不同的优势和生态系统。

  • TensorFlow:来自谷歌,用户最多。它是由早期的框架构建而成的“第二代”深度学习库。TensorFlow用的是Python语言,它还包含了TensorBoard,这个工具在调试和检查网络方面有很大的优势。 XLA编译工具提供了模型的最佳执行,而TensorFlow Mobile则为低功耗的移动设备提供了机器学习支持。
  • MXNet:由Amazon Web Services牵头开发,使用用户很多,支持许多种编程语言。 MXNet已被纳入Apache Incubator,正式进入成为顶级Apache项目的快车道。
  • Deeplearning4J:商业支持的深度学习框架,在Java环境中性能强大,对企业应用具有一定的吸引力。
  • Torch:一个功能强大的框架,在Facebook和Twitter等公司中使用,但只能用Lua编写,对其他编程语言的支持较少。
  • PyTorch:派生自Torch,PyTorch将Torch带入了热门的Python数据科学生态系统之中。 发布于2017年,它的支持者中包括Facebook和Twitter。 PyTorch支持动态计算图,这在TensorFlow中目前暂不不支持。
  • CTNK:Microsoft在深度学习领域的产品,拥有Python和C++ API(Java API尚在实验中)。
  • Caffe:重点在计算机视觉应用领域。核心编程语言是C++,有Python接口。
  • Theano:用Python编写的最古老的深度学习框架之一。在学术界的使用很广泛,但不适合生产使用。(译者注,目前已停止更新)

这其中很多的深度学习框架的级别都比较低,开发人员使用起来并不方便,而高级库对用户更加友好,更受开发者的青睐。其中最重要的库是Keras,它是用Python开发的,可创建能在TensorFlow、Theano、CNTK或Deeplearning4j上运行的深度学习应用程序。

苹果公司在机器学习方面的贡献也值得一提。与上述工具包不同,苹果公司仅为模型提供了执行框架。开发人员必须使用Caffe、Keras或scikit-learn等工具来训练他们的模型,并进行转换,这样才能让应用程序通过苹果公司的CoreML来使用它们。

从哪里着手?

TensorFlow Github Star数量, 2017年2月。

如果你没有明确的理由要选择哪种方案,那么根据绝大多数开发人员的经验,以及谷歌在人工智能领域中的声誉以及Python生态系统的重要性,Keras和TensorFlow组合当仁不让地成为最强大的默认选择。 TensorFlow快速增长的人气值使其可以在短期内与大量的数据工具相兼容。例如,你可以参阅Databricks最近有关在Spark中TensorFlow和Keras对深度学习支持的公告。

同时,亚马逊网络服务公司对MXNet的强大支持,以及MXNet自身的增长速度和成为Apache项目,使其成为重要的备选方案之一。而微软对Azure的强大支持使得CNTK成为该公司重要的成果。

深度学习是一个快速发展的领域,每个云提供商都将机器学习视为战略目标。幸运的是,他们都选择了开放源代码。随着深度学习的计算资源越来越集中在云和GPU上,开源的代码对于想要研究深度学习的人来说是一个很好的消息。

人工智能 深度学习 开发工具
上一篇:轻松入门机器学习排序LTR之:线性模型 下一篇:自学3天的阿法元完爆阿法狗,GitHub2017年度报告见证人工智能有多火!
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

11个主流AI聊天机器人平台,你绝不能错过 精选

人工智能聊天机器人掀起了一场用户体验革命。只要用户需要,机器人就能提供有用的信息。一些企业应用AI聊天机器人为客户提供积极有益的帮助,企业也因此得到了长足的发展。

读芯术 ·  1天前
5G自动驾驶什么样?韩国测试得出这样的结果

自动驾驶与5G的产业发展备受关注,而两者结合会有什么样的效果,韩国企业近日进行了一番探索。韩媒报道称,10月10日,LG U+自动驾驶汽车在首尔麻谷LG科学园一带的普通公路上进行了测试。

佚名 ·  1天前
全球十大AI训练芯片大盘点

AI芯片哪家强?现在,有直接的对比与参考了。英国一名资深芯片工程师James W. Hanlon,盘点了当前十大AI训练芯片。

乾明 ·  1天前
模型仅1MB,更轻量的人脸检测模型开源,效果不弱于主流算法

AI模型越来越小,需要的算力也也来越弱,但精度依旧有保障。最新代表,是一个刚在GitHub上开源的中文项目:一款超轻量级通用人脸检测模型。

乾明 ·  1天前
人工智能遇冷,自动驾驶受阻?

2016到2019,人工智能经历了梦幻般的三年,但人工智能的历史规律告诉我们:高潮过后可能会引来新的一波沉寂,人工智能助推下的自动驾驶也会受到波及。

佚名 ·  1天前
非监督学习最强攻略

本次主要讲解的内容是机器学习里的非监督学习经典原理与算法,非监督,也就是没有target(标签)的算法模型。

SAMshare ·  1天前
PyTorch终于能用上谷歌云TPU,推理性能提升4倍,该如何薅羊毛?

Facebook在PyTorch开发者大会上正式推出了PyTorch 1.3,并宣布了对谷歌云TPU的全面支持,而且还可以在Colab中调用云TPU。

晓查 ·  1天前
500亿参数,支持103种语言:谷歌推出「全球文字翻译」模型

由于缺乏平行数据,小语种的翻译一直是一大难题。来自谷歌的研究者提出了一种能够翻译 103 种语言的大规模多语言神经机器翻译模型,在数据丰富和匮乏的语种翻译中都实现了显著的性能提升。

机器之心 ·  3天前
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载