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

来源:CSDN

作者:EDD WILDER-JAMES 

翻译:雁惊寒

本文长度为1100字,建议阅读4分钟

本文介绍人工智能在深度学习方面一些重要的可选项,包括每个工具包的主要优缺点以及行业中各自的支持者。



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


机器学习和深度学习


当代人工智能技术可分为两类:机器学习和深度学习。目前绝大多数使用的都是前一种,即机器学习。这其中包含了一些数据科学家最常用的算法:线性模型、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上,开源的代码对于想要研究深度学习的人来说是一个很好的消息。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值