深度学习工具概览

日期: 2018-11-19 作者:Adrian Bridgwater翻译:邹铮 来源:TechTarget中国 英文

目前科技行业正处于人工智能(AI)复兴时期。AI技术始于20世纪80年代左右,但由于当时AI技术平台的限制,该领域的初期工作远远无法展现其长期潜力。

因此,AI的第一个时代被屈辱地降级到电影层面,在电影中,我们看到会讲话的汽车、人形机器人和其他富有想象的产品。

而现在AI又重新复活,这主要得益于硬件方面进步,包括从处理到内存再到数据存储方面;而且我们现在有能力开发复杂算法结构,以运行这些新的超级动力骨干网。

随着IT部门开始将AI应用于企业软件堆栈,我们有必要往后退一步,探讨一下突触连接中实际发生的事情,如何使我们的AI“大脑”如此智能。

通过了解更多有关软件架构的知识,开发人员理论上可以更智能地将AI改进应用于未来应用程序。

谷歌TensorFlow

现在很多AI开发人员会了解到的关键 “工具”是TensorFlow。TensorFlow由Google构建以及开源化,它是一个符号型数学库,用于在Python编程语言中构建AI智能。例如,TensorFlow可以用于构建“分类器” – 即视觉图像扫描组件,可识别40行代码内的手写数字。

谷歌Brain部门TensorFlow工程总监Rajat Monga在介绍深度学习背后的原理时说:“深度学习是机器学习的一个分支,主要是受大脑本身工作方式的启发。我们专注于让人类更容易地使用他们周围的设备,我们认为,让TensorFlow成为开源工具可帮助并加快这种努力。”

TensorFlow被广泛用于谷歌的语音识别系统、最新的谷歌照片产品,甚至是谷歌的核心搜索功能中。它还用于在Gmail中提供最新的AI功能扩展-很多用户可能已经注意到Gmail中越来越多自动完成选项,这一开发被称为Smart Compose。

感知突破

在这个领域开发的工具集和库主要专注在所谓的“感知理解”方面。这是AI模型编码的分支,主要是让基于计算机的图像扫描仪被指向道路方向标志时,知道它正在看一块招牌,而不仅仅是墙上的字母。因此,对于这一AI元素,应用背景知识是关键。

另外,扩展也是很多这类AI和机器学习库的关键,因此它们需要能够同时在多个CPU、多个GPU甚至多个操作系统上运行。而TensorFlow很擅长于此,并且它是这里讨论的大部分代码的常见属性。

“现在大多数强大的深度学习团队都会使用比较主流的框架,我所说的是指Tensorflow、Keras、PyTorch、MXNet或Caffe等技术。”

Aidoc公司AI负责人Idan Bassuk解释说:“这些框架使软件工程师能够构建和训练他们的算法,并在AI内部创建‘大脑’。”Aidoc公司是一家使用AI检测放射学急性病例的专业公司。

除了上面提到的,还有几类工具可让深度学习工程师更快更有效地“完成”他们的工作。根据Bassuk的说法,例如,用于自动化DevOps相关围绕深度学习的任务(例如MissingLink.ai)的工具,以及用于加速算法训练的工具(例如Uber的Horovod和Run.ai)等。

其他主要竞争者

微软在AI领域的“作品”是Microsoft Cognitive Toolkit(以前被称为CNTK),这个库用于增强分离计算网络的模块化和维护。

此工具包可用于构建强化学习(RL)功能,以便AI随着时间的推移更好地逐步发展。它还可用于开发生成对抗网络(GAN),这是一种在无监督机器学习中发现的AI算法类别。

凭借其Watson品牌,IBM在这个领域拥有非常明显的地位。尽管该公司最近收购了Red Hat,但IBM的方法比某些方法更为专有,即该公司允许开发人员访问一系列表述性状态传递应用程序编程接口(Rest API)以及软件开发工具包(SDK),以利用Watson认知计算解决复杂问题。

AI和深度学习工具介绍

  • Caffe:Caffe是针对深度学习的开源框架,它支持各种类型的软件架构–这些架构在设计时已考虑图像分割和图像分类。
  • DeepLearning4J:DeepLearning4J是针对JVM的开源分布式深度学习库。该公司声称它非常适合训练分布式深度学习网络,并可在不影响速度的情况下处理大量数据。
  • IBM Watson:IBM将Watson定位为“针对业务的深度学习”。
  • Keras:Keras是以Python便携的开源神经网络库;
  • Microsoft Cognitive Toolkit:这是Microsoft Research开发的深度学习框架。Microsoft Cognitive Toolkit通过有向图将神经网络描述为一系列计算步骤。
  • MLflow:来自Databricks的工具,用于机器学习试验。
  • MXNet:Apache MXNet是可扩展训练和推理框架,提供简洁的API用于机器学习。
  • PyBrain:一个开源的模块化机器学习库。
  • Scikit-Learn:Scikit-learn是用于Python的开源机器学习框架,可用于数据挖掘、数据分析和数据可视化。
  • Tensorflow:这是用于高性能计算的开源库。它结合了多种机器学习和深度学习技术,以支持面部识别和手写识别等应用。
  • Theano:Theano是一个Python库,它通过利用计算机代数系统来定义、优化、操作和评估数学表达式。
  • Torch:Torch是用于科学计算的开源框架,支持机器学习算法。

Facebook也是人工智能和机器学习领域的知名企业。该社交网络公司非常热衷于AI功能(也许不足为奇),并以其PyTorch深度学习框架而闻名,该框架于2018年初开源化。PyTorch以Python运行,因此,它被视为TensorFlow的竞争对手。

今年Facebook还开源化了其Horizo​​n强化学习(RL)产品。根据Horizo​​n背后的开发团队称,“机器学习(ML)系统通常会产生预测,但随后需要工程师将这些预测转换为策略(即采取行动的策略)。而另一方面,RL创建的系统可作出决策、采取行动,然后根据其收到的反馈进行调整。”

其他值得注意的工具集

如果不提及其他一些关键库和工具集,任何对AI大脑中神经节点的探讨都是不完整的。 Caffe是一种深度学习的开源框架,可用于构建所谓的卷积神经网络(CNN),通常用于图像分类。由于支持各种不同类型的软件架构,Caffe深受开发人员的喜爱。

DeepLearning4J是AI开发人员工具箱中另一个有用的工具,它是用于Java虚拟机的开源分布式深度学习库。对于Python开发人员而言,还有Scikit–用于数据挖掘、数据分析和数据可视化等任务的机器学习框架。

还有Theano–用于定义和管理数学表达式的Python库,使开发人员能够执行涉及多个数学运算的数值运算。

在现实世界中(但仍然是AI世界),我们看到企业开发人员使用很多不同的工具集、库和代码方法来尝试构建他们所寻求的机器智能。

根据Databricks CIO调查显示,87%的企业平均投资于7种不同的机器学习工具-这当然会增加使用数据时的复杂性。

Databricks试图通过开源名为MLflow的项目来解决这部分挑战。MLflow的目标是帮助管理机器学习实验,并将它们置于有效生命周期中。他们还努力简化项目设置分享,以及更快将这些模型引入生产环境。

该公司坚持认为,如果我们希望AI随着时间的推移更容易部署和发展,我们需要更多标准化的方法来在一个地方管理工具、数据、库和工作流程。MLflow于2018年6月发布Alpha版。

未来的路

随着这些工具的发展,我们正在见证一些共同的主题的出现。这些软件功能的灵活性通常以性能或扩展能力为代价,或者两者兼而有之。如果工具集紧密耦合到一种语言或部署格式,通常更难重塑它以使其更大、更宽或更快。

但随着时间的推移,我们可能会看到,平台整合或更广泛的社区驱动,让我们迁移到最高效、最强大、最开放、最智能和最“可训练”的工具集。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

邹铮
邹铮

相关推荐