财富:亚马逊采用 MXNet ,巨头间深度学习框架之争白热化

  • 时间:
  • 浏览:2

  后起之秀:TensorFlow

缺点: 实现统一的辅助函数和提供整体优化都很困难。

即便没办法 ,Theano 在你這個你這個方面仍然比 TensorFlow 快,而且支持更多样的操作。

看起来很容易,是吧?原困 想快速实现,Keras 是十分理想的库。但它最大的缺点是不支持并行训练的多 GPU 环境。

而且,MXNet 支持超过 7 种不同的语言的优势弥补了你這個点,哪些语言包括 C++、Python、R、Javascrip,甚至 Matlab。

MXNet 是真正的多语通,对使用不同的语言共享模型的团队工作来说,它是不二之选。

类式,Lasagne 和 Keras 还会基于 Theano 的。就其核心来说,Theano 是为使用多维数组进行数学计算的库,它的下行速率 非常快,而且使用 GPU 进行优化(比 CPU 快 140倍)。换句话说,它是神经网络的“构建块”。

为了实现 AI 的终极目标,亚马逊及其竞争对手也在追求尽原困 大的数据集。

大伙儿授予 Theano “导师”称号,原困 它让引导大伙儿认识并喜欢上你這個的深度1学习库。

根据大伙儿的经验,很少有人会直接写 Theano 代码。通常须要使用更高级的包装器(wrapper),除非你须要的是低级的定制。

优点: 语义上容易理解,灵活,可不须要精确控制行为。通常可不须要无缝地和主语言交互,方便地利用主语言的各类算法,工具包,debug和性能调试器。

首先,Keras 是1个 允许在后端使用 Theano 或 TensorFlow 的包装器。这原困 开发者可不须要根据各自 的应用进程池池轻松在1个 库之间切换,。

Theano 是1个 专用于高效计算的低级库。原困 你须要细粒度的定制和灵活性,可不须要直接使用你這個库。

命令式编程:

TensorFlow 和 CNTK 框架分别是谷歌和微软开发的,Caffe 则来自加州大学伯克利分校的伯克利人工智能研究实验室。

八个主要 Python 深度1学习库的比较

最后,Keras 拥有常见的网络价值形式的开箱即用的实现。它能快速、轻易地运行卷积神经网络。

Vogels 表示,AWS 将为 MXNet 及支持其生态系统的你這個公司提供软件代码、文档和开发资金。并不一定他一块儿表明,该公司也支持你這個深度1学习框架,包括 Caffe、CNTK、TensorFlow 和 Torch,但显然在 MXNet 加入后,你這個哪些框架会被插进偏离 位置。

一方面,使用 MXNet 构建网络比用 Keras 须要花更多功夫。原困 教程少,学习的难度更大。

你這個你這個,原困 你想知道亚马逊、微软、苹果苹果苹果手机以及谷歌公司分别从 Alexa、Cortana、Siri 和 Google Home 中得到了哪些,记住你這個点:所有使用哪些智能设备和应用的人还会向哪些公司提供非常有价值的数据,应用于哪些面向未来的项目。

下面是1个 超快的序列模型的例子:

MXNet是之后 类式 Keras 的高级库。它提供了多种语言的绑定,而且支持分布式计算。

Lasagne 是 Theano 的1个 轻量级包装器。Lasagne 允许使用 Theano 的优化计算来构建并训练神经网络。而轻量级是指,在 Lasagne 中,你仍然须要获取相当的低级,而且声明网络的每个层。在 Theano 之外,它只提供模块化的构建块。

优点:在真正结束了了计算的事先原困 拿到了整个计算图,你這個你這個大伙儿可不须要做一系列优化来提升性能。实现辅助函数也容易,类式对任何计算图都提供forward和backward函数,对计算图进行可视化,将图保存到硬盘和从硬盘读取。

怎样才能执行 a=b+1: 须要b原困 被赋值。立即执行加法,将结果保存在a中。

结果在等你的代码会变得十分冗长,但我能 用 NN 价值形式而非多维数组进行编程。

对于1个 优秀的深度1学习系统,原困 更广来说优秀的科学计算系统,最重要的是编程接口的设计。大伙儿都采用将1个 领域特定语言(domain specific language)嵌入到1个 主语言中。类式numpy将矩阵运算嵌入到python中。类式嵌入一般分为本身,其中本身嵌入的较浅,其中每个一段话都按之后 的意思执行,且通常采用命令式编程(imperative programming),其中numpy和Torch之后属于你這個。而另本身则用本身深的嵌入办法,提供一整套针对具体应用的迷你语言。你這個种通常使用声明式语言(declarative programming),既用户只须要声明要做哪些,而具体执行则由系统完成。类式系统包括Caffe,theano和刚提前大选的TensorFlow。

MXNet 的之后 明显的优势是支持分布式计算。这原困 原困 你须要在多个 CPU 或 GPU 上训练模型以提高下行速率 ,MXNet 是很好的选择。.

在所有 Python 深度1学习库中,Keras 是最受欢迎的。原困 有三:

第二,它有很漂亮的指导原则:模块性、极简主义、易扩展性,以及与 Python 媒体协作。这使得 Keras 的实际使用非常简单愉快。

Keras 是基于 Theano 或 TensorFlow 高层神经网络库。它具有极错综复杂、模块化的优点,而且在实验中非常快速。这是深度1学习的最受欢迎的库,也是初学者的最佳入门库。

声明式编程:

《财富》今年 9 月的一篇深度1长文回溯了深度1学习推动的人工智能在整个计算生态系统引发的革命,如文章所述,深度1学习是 AI 的1个 子集,饱含神经网络的使用。神经网络在算法(而非人类进程池池员)的帮助下通过补救少许数据来学习并补救哪些的大问题。

MXNet 同 Keras 一样是高级库,但它的优势在另外的方面。

TensorFlow是之后 低级库,比 Theano 须要不心智心智心智性性心智性心智旺盛期 图片 图片 期。但它是 Google 支持的库,并提供了开箱即用的分布式计算。

本文转自d1net(转载)

半机械人(Cyborg):Keras

MXNet 设计和实现简介

而且,TensorFlow 最大的优势是它支持开箱即用的分布式计算,这使得在多 GPU 上训练深度1神经网络更简单。

  几种主要深度1学习框架的比较

类式,下面是1个 用 Theano 写的逻辑激活函数

这本身办法各有利弊,总结如下:

怎样才能执行 a=b+1: 返回对应的计算图(computation graph),大伙儿可不须要事先对b进行赋值,而且再执行加法运算

MXNet 的消息恰在亚马逊云服务的年度 AWS RE:Invent 大会前一周发布,亚马逊的高管将在大会上讨论人工智能带来的原困 ,以及大伙儿将亚马逊的各自 助理 Alexa 的工具开放给 AWS 开发者的计划。

随着人工智能的发展,现代科技公司的终极目标是构建不让人类介入、都都能不能自我思考的 AI 软件。

Lasagne是 Theano 中的1个 轻量级库。原困 你要我 Theano 的灵活性,但要我 老会 从头结束了了编写神经网络的层,可不须要选择 Lasagne。

轻量:Lasagne

神经网络本质上是本身语言,大伙儿通过它来表达对应用哪些的大问题的理解。类式大伙儿用卷积层来表达空间相关性,RNN来表达时间连续性。根据哪些的大问题的错综错综复杂和信息怎样才能从输入到输出一步步提取,大伙儿将不同大小的层按一定原则连接起来。近年来随着数据的激增和计算能力的大幅提升,神经网络也变得没办法 深和大。类式最近有几块imagnet竞赛的冠军都使用有数十至百层的网络。对于你這個类神经网络大伙儿通常称之为深度1学习。从应用的深度1而言,对深度1学习最重要的是怎样才能方便地表述神经网络,以及怎样才能快速训练得到模型。

缺点:你這個你這個主语言的价值形式都用不上。你這個在主语言中实现简单,但在这里却老会 麻烦,类式if-else一段话 。debug之后容易,类式监视1个 错综复杂的计算图中的某个节点的里面结果暂且简单。

目前现有的系统大偏离 都采用上本身编程模式的本身。与它们不同的是,MXNet 尝试将本身模式无缝的结合起来。在命令式编程上 MXNet 提供张量运算,而声明式编程中 MXNet 支持符号表达式。用户可不须要自由的混合它们来快速实现各自 的想法。类式大伙儿可不须要用声明式编程来描述神经网络,并利用系统提供的自动求导来训练模型。各自 便,模型的迭代训练和更新模型法则中原困 涉及少许的控制逻辑,而且大伙儿可不须要用命令式编程来实现。一块儿大伙儿用它来进行方便地调式和与主语言交互数据。

TensorFlow 是“后起之秀”,而且它很受欢迎。

亚马逊首席技术官 Werner Vogels 在周二的一篇博客文章中表示,亚马逊网络服务公司(AWS)事先选择 MXNet 作为其最主要的深度1学习框架。

Lasagne 可不须要视为 Theano 的灵活性 和 Keras 的简单性之间的折衷选择。

TensorFlow 是 Google 各自 的 AI 团队开发的,而且最近开源了。TensorFlow 允许使用数据流图进行高效的数值计算。它从 Theano 的经验中学习了你這個你這個,而且被称作是全新的 Theano 2.0 版本。Google 的强力支持也使得它格外有前景。

多语通(Polyglot):MXNet

导师(Mentor):Theano