200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 叫板谷歌 亚马逊微软推出深度学习库 训练神经网络更加简单

叫板谷歌 亚马逊微软推出深度学习库 训练神经网络更加简单

时间:2020-01-18 04:05:10

相关推荐

叫板谷歌 亚马逊微软推出深度学习库 训练神经网络更加简单

据报道,亚马逊和微软合力推出全新的深度学习库,名字叫Gluon。此举被认为是在云计算市场上与谷歌叫板,谷歌曾通过AI生态系统发力云计算,强调自身产品对深度学习的强大支持。Gluon可以让训练神经网络像开发APP一样简单,简洁的代码构建神经网络,而不需要牺牲性能。

近日,AWS和微软共同宣布了推出一个新的深度学习库:Gluon。Gluon允许所有技能水平的开发者设计原型、创建和训练深度学习模型,部署在云端、终端设备或手机APP。

Gluon接口目前与Apache MXNet兼容,并将在即将发布的版本中支持微软认知工具包(CNTK)。使用Gluon接口,开发人员可以使用简单的Python API和一系列预构建、优化的神经网络组件来构建机器学习模型。这使得开发者更容易使用简单、简洁的代码构建神经网络,而不需要牺牲性能。

AWS和微软发布了Gluon的参考规范,因此其他深度学习引擎可以与该接口集成。

美国媒体CNBC在对这一新的深度学习库进行报道时提到,这是亚马逊和微软两大巨头近日在人工智能上宣布的第二项重大合作,和此前一样,谷歌被排除在合作之外(当然,也可能是谷歌自身对这样的合作也不感兴趣,谷歌自己的深度学习开源框架TensorFlow目前已经是开源社区Githu上同类框架中最受欢迎的,用户量在不断攀升)。

亚马逊和微软此举被认为是与谷歌在云计算市场上展开争夺的重要举措。谷歌以来通过强大的AI生态系统,在云计算上持续发力,尤其强调自身产品对AI和深度学习的强大支持能力。

微软在联盟上的动作最近非常频繁,9月7号微软联手Facebook推出了开放神经网络交换Open Neural Network Exchange (ONNX) 格式。这是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。10月11日,AMD、ARM、华为、 IBM、英特尔、Qualcomm都宣布将支持ONNX。

机器学习的潜力只有在所有开发者都能访问的情况下才能实现。今天的现实是,构建和训练机器学习模型需要大量繁重的工作和专门的专业知识, 亚马逊副总裁Swami Sivasubramanian说, 我们创建了Gluon接口,使得构建神经网络和训练模型就像开发APP一样简单。我们期待与微软的合作,为让机器学习更容易使用的目标继续开发Gluon接口。

微软人工智能和研究副总裁Eric Boyd说: 我们认为,对于整个行业来说,合作并集中资源来打造造福广大社区的技术是很重要的。这就是微软与AWS合作开发Gluon接口的原因,并支持开放的AI生态系统,让开发者可以自由选择。机器学习有能力改变我们工作、互动和交流的方式。为了实现这一目标,我们需要将正确的工具放在正确的位置,而Gluon接口则是朝着这个方向迈出的一步。

下面是Gluon的要点和代码示例: 简单、易于理解的代码

在Gluon中,你可以使用简单、清晰、简洁的代码来定义神经网络。你可以得到一套完整的即插即用的神经网络构建块,包括预定义的层、优化器和初始化器。这些把许多复杂的底层实现细节提取出来。下面的例子展示了如何用几行代码定义一个简单的神经网络:

下图展示了这个神经网络的结构:

要了解更多信息,请到对应教程学习如何构建一个多层感知器(MLP)的简单神经网络,并使用Gluon神经网络构建块。对于更高级的用例,从头开始编写神经网络的一些部分也是很容易的。Gluon允许在你的神经网络中混合和匹配预定义和自定义组件。

灵活的结构

训练神经网络模型在计算上是非常密集的,在某些情况下,可能需要几天甚至几周的时间。许多深度学习框架通过严格定义模型和将其与训练算法分离开来,从而减少训练时间。这种严格的方法大大增加了复杂性,也使调试变得困难。

Gluon方法不同。它将训练算法和神经网络模型结合在一起,从而在不牺牲性能的前提下为开发过程提供了灵活性。这种方法的核心是Gluon trainer,它用于训练模型。

trainer方法依赖 MXNet autograd 库,它用于自动计算导数(即,梯度)。导数是一个用来测量变量变化速率的数学计算。它是训练算法的必要输入。autograd库可以有效地实现这些数学计算,这对于Gluon提供的灵活性至关重要。现在你可以定义一个训练算法,它由一个简单的嵌套for循环组成,通过合并autograd和trainer。

这种灵活的结构使代码直观、易于调试,并为更高级的模型打开了大门。你可以使用熟悉的、原生的Python语言结构,比如for循环或神经网络中的if语句,或作为算法的一部分。通过将模型和算法组合在一起,就可以执行模型中的每一行代码,从而更容易地识别出导致bug的特定代码行。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。