亚马逊AWS官方博客

Category: AI

介绍 Gluon 这一易于使用的灵活深度学习编程接口

原文链接 | 今天,AWS 和 Microsoft 发布了一项新规范,该规范旨在为所有开发人员改进机器学习技术的速度、灵活性和可访问性,而无论他们选择什么样的深度学习框架。这种合作的第一项成果是全新的 Gluon 接口,这是 Apache MXNet 中的一个开源库,让所有技能级别的开发人员都能够设计深度学习模型的原型、构建该模型以及开展训练。该接口极大地简化了创建深度学习模型的过程,而不会影响到训练速度。 下面是 Gluon 的四大优势以及演示这些优势的代码示例: (1) 简单、容易理解的代码 在 Gluon 中,您可以使用简单、清晰和简洁的代码定义神经网络。您将获得一整套即插即用的神经网络构建块,包括预定义的层、优化程序和初始化程序。利用这些构建块,您无需再纠缠于各种各样复杂的底层实施细节。下面的示例说明了如何使用短短几行代码定义一个简单的神经网络: # 第一步是初始化您的模型 net = gluon.nn.Sequential() # 接下来,定义您的模型架构 with net.name_scope(): net.add(gluon.nn.Dense(128, activation=”relu”)) # 第一层 – 128 个节点 net.add(gluon.nn.Dense(64, activation=”relu”)) # 第二层 – 64 个节点 net.add(gluon.nn.Dense(num_outputs)) # 输出层 下表说明了神经网络的体系结构: 有关更多信息,请转到本教程,了解如何使用 Gluon 神经网络构建块来构建一个称为多层感知器 (MLP) 的简单神经网络。对于更高级的使用案例来说,从头开始编写神经网络的各个部分也是非常容易的。使用 Gluon,您可以在神经网络中混用和匹配预定义组件和自定义组件。

Read More

Gluon 简介:AWS 和 Microsoft 合作推出的新机器学习库

作者:Matt Wood 博士 今天,AWS 和 Microsoft 联合发布了 Gluon – 一种新的开源深度学习接口,可帮助开发人员更轻松、更快速地构建机器学习模型,而不牺牲任何性能。Gluon 采用一系列预先构建并经过优化的神经网络组件,为定义机器学习模型提供清晰、简洁的 API。刚刚接触机器学习的开发人员会发现此接口更像传统代码,因为他们可以像使用任何其他数据结构那样定义和操作机器学习模型。经验丰富的数据科学家和科研人员也会发现它的宝贵价值:快速构建原型和利用动态神经网络图实现全新模型架构,而又不减缓训练进度。Gluon 现已在 Apache MXNet 中可用,日后将“进驻”Microsoft Cognitive Toolkit 及其他架构。 神经网络与开发人员 使用神经网络的机器学习 (包括“深度学习”) 包含三个主要部分:训练数据、神经网络模型和训练神经网络的算法。您可以将神经网络看成是一种有向图:它有一系列输入 (数据),通过一系列连接的层和权重连接到一系列输出 (预测)。在训练期间,算法根据网络输出中的错误调整网络中的权重。这就是网络学习的过程 – 一种可能需要持续数天时间的内存和计算密集型过程。Caffe2、Cognitive Toolkit、TensorFlow 以及 Apache MXNet 等深度学习框架能够部分解决“如何加快这一过程?”的难题。与数据库中的查询优化器一样,训练引擎越了解网络和算法,越能更好地优化训练过程 (例如,它可以根据其他部分的改变,推断需要重新计算图中的哪些部分并跳过不受影响的权重,从而加快训练进度)。此外,这些框架还提供并行功能,可通过分发计算过程来减少总体训练时间。但是,要实现上述优化,大多数框架要求开发人员完成一些额外工作:首先,提供网络图形式定义,然后“定图”并调整权重。网络定义可能极其庞大而复杂 (包含数百万个连接),通常必须手动构建。深度学习网络十分“笨重”,难以调试,因而很难在项目间复用代码。 这种复杂性可能会令初学者“无从下手”,对经验丰富的科研人员来说也是一项耗时的任务。AWS 在 MXNet 中尝试了一些更灵活易用的新方法定义和训练神经网络。Microsoft 也是开源项目 MXNet 的开发者,对部分新想法感兴趣。于是我们进行了沟通,结果发现双方抱持几乎相同的愿景:借助此类技术降低机器学习的复杂性,让更多的开发人员能够轻松发挥其强大威力。 Gluon 特点:动态图,快速迭代,可扩展训练 Gluon 包含四大创新。 友好的 API:可以使用简单、清晰、简洁的代码定义 Gluon 网络 – 相比某些更晦涩、更形式化的网络及相关加权评分函数定义方法,这更易于开发人员学习,理解难度大幅降低。 动态网络:Gluon 中的网络定义是动态的:它可以像任何其他数据结构一样“收缩和扩展”。这有别于更常见的形式化网络符号定义 (既深度学习框架要求必须保持网络定义不变,才能在训练期间有效地优化计算)。相比之下,动态网络更容易管理。借助 Gluon,开发人员可以在定义网络和算法时轻松混用快速的符号表示和更友好、动态的“命令式”定义。 […]

Read More

使用 Amazon Polly 提供实时家居监控警报

这是 Y-cam Solution 高级开发人员 Siva K. Syamala 撰写的客座博客文章。用她自己的话说,“Y-cam 是高质量安保视频解决方案提供商,我们的愿景是让智能家居安防系统变得简单,方便所有人使用。” | 原文链接 家居安防是家庭自动化和物联网的重要组成部分。Y-cam Solutions Limited 在 Amazon 的大力支持下,提供了一个智能安防系统,该系统可通过智能手机在世界任何地方进行监视和控制。为了改进警报、通知和系统控制方式,Y-cam 使用 Amazon Polly 提供一流的 AI 服务。利用该服务,用户可通过语音与安防系统进行交互。 我们的服务的工作方式 当触发报警时,我们通过 Twilio 以语音电话的方式通知客户。在建立呼叫后,Twilio 将逐步执行 TwiML 指令,并使用从 Amazon Polly 检索的合成语音开始向客户传送信息。电话接听方通过按手机键盘上的按钮 (DTMF 代码) 来做出回应。根据具体的 DTMF 代码,我们的服务会采取指定的操作,并返回从 Amazon Polly 检索的合成语音所对应的 TwiML 指令。为了让用户听起来像一个真实的对话,Amazon Polly 必须快速做出回应。延迟和等待会让人不满,并更有可能会导致接听方挂断电话。 下面是触发警报时向客户拨打的电话的示例音频剪辑。 架构   呼叫 Amazon Polly 以下 Java 代码说明了从 Amazon […]

Read More

在 AWS 上制造一辆无人驾驶车辆,并参加 re:Invent 机器人车拉力赛

在未来数年内,我们的道路上将会看到有许许多多的无人驾驶车辆在行驶。这归功于深度学习的发展及其在无人驾驶技术方面的应用。在本博客文章中 | 原文链接,我们将向您展示一个教程,介绍如何制造使用 Amazon AI 服务的遥控 (RC) 车辆。 通常,每个无人驾驶车辆上都会安装各种各样的传感器,这些传感器可提供充分的遥测数据。这些遥测数据可用于改善单个车辆的驾驶,而且还能帮助提升用户体验。一些改进示例包括智能驾驶路线确定、增加车辆可行驶里程、提高效率、增强安全性以及更好地报告碰撞情况。在 AWS 上,像 TuSimple 这样的客户已经使用 Apache MXNet 打造了一个尖端的无人驾驶平台。TuSimple 已于近期实现了 200 英里的无人驾驶里程。 为了在无人驾驶车辆的驾驶中提高深度学习意识,推动 AWS IoT 的运用以及凸显人工智能 (AI) 的作用,AWS 将在 re:Invent 2017 大会期间,举办一个研讨会形式的机器人车马拉松拉力赛。这是一系列博客文章和 Twitch 视频中的第一个,利用这些文章和视频,开发人员可以学习无人驾驶 AI 技术,并为这场马拉松赛做好准备。有关马拉松赛的更多详情,请参阅 2017 年机器人车拉力赛。 在本教程中,我们将利用一个称为 Donkey 的开源平台项目。如果您愿意的话,可以使用您自己的 1:10 比例的电动汽车进行试验。不过,我们将坚持使用 Donkey 项目中使用的 1:16 比例的电动汽车。 下面是一些视频,其中演示了我们使用后面教程在 AWS 中制造的其中两款汽车。 车辆制造过程 在此存储库中可以找到组装和配置无人驾驶车辆的过程。其中还包括一个完整的材料清单,并且提供了链接,说明在什么地方购买各种部件。主要车辆部件来自于 RC Car、Raspberry Pi、Pi Cam 和 Adafruit […]

Read More

使用 Amazon Lex 和 Amazon Alexa 创建问答自动程序

您的用户有疑问而您有答案,但您需要采取更好的方式,让用户可以提问并获得正确答案。用户经常打电话给帮助中心,或者发布到您的支持论坛,但随着时间的推移,这会给您的组织增加压力和成本。聊天自动程序可以为您的客户增加价值吗?有趣的是,最近的一项投票显示,44% 的人愿意跟聊天自动程序交流,而不是跟人交流! 在这篇文章中,我们提供了一个示例解决方案,称为“QnABot”(发音为“Q and A Bot”)。QnABot 使用 Amazon Lex 和 Amazon Alexa 为您的“问题和答案”提供对话接口。这可以让您的用户提问并快速获得贴切的答案。 Amazon Lex 让您可以将语音和文本聊天访问集成到现有应用程序中。Amazon Alexa 允许您使用 Amazon Echo 或任何启用 Alexa Voice Service 的设备为家庭或工作场所的用户提供免提语音接口。QnABot 能做到两全其美。 QnABot 使用 Amazon Elasticsearch Service (Amazon ES) 使您的问题和答案均可以搜索。当用户提问时,将在后台使用 Amazon ES 功能强大的全文搜索引擎,来找出与该问题最匹配的答案。 下面各部分介绍了如何执行以下操作: 将 QnABot 部署到您的 AWS 账户。本博客假定您已经是 AWS 客户。如果您希望创建账户,请选择 AWS 主页上的“Create an AWS Account”按钮。 使用 Content Designer UI 在 […]

Read More

用 Amazon Lex 和 Raspberry Pi 构建语音套件

在本文中,我们将介绍如何使用广泛可用的组件将 Amazon Lex 嵌入自定义硬件中。我们将演示如何构建基于语音的简单 AI 套件并将其连接至 Amazon Lex。我们将使用 Raspberry Pi 和一些现成的组件,总成本不足 60 USD。在本文结束时,您将拥有一个与 Amazon Lex PostContent API 集成的联网硬件设备。我们还会演示两个示例自动程序 – 一个语音控制的机器人和一个语音控制的节拍器。 组件概览 您需要使用以下组件来构建 Amazon Lex 硬件套件。 Raspberry PI 3 B 型号,~35 USD,来自 Amazon。 Kinobo – USB 2.0 迷你麦克风,~5 USD,来自 Amazon。 Adafruit I2S 3W Stereo Speaker Bonnet 和扬声器,~12 USD,来自 adafruit。 (可选) Qunqi 透明盒架,~20 USD,来自 Amazon。 物理构造 Raspberry […]

Read More

将 Amazon Lex 自动程序架构导出至 Alexa Skills Kit

您现在可以将 Amazon Lex 聊天自动程序架构导出到 Alexa Skills Kit 来简化创建 Alexa 技能的流程。 利用 Amazon Lex,您现在能够以 JSON 文件形式导出 Amazon Lex 聊天自动程序定义,以便能够将其添加到 Alexa Skills Kit (ASK)。在将该自动程序架构文件添加到 ASK 中后,您可以使用它构建 Alexa 技能,以便在 Amazon Echo、Amazon Dot、Amazon Look、Amazon Tap、Amazon Echo Show 和支持 Alexa 的第三方设备上使用。JSON 配置文件包含您的 Amazon Lex 聊天自动程序的结构,包括带表达、槽、提示和槽类型的目的架构。导出功能简化了通过 Amazon Lex 聊天自动程序创建 Alexa 技能的过程。 要创建 Alexa 技能,您可以从 ASK 门户中使用 Amazon Lex 自动程序定义文件,并执行以下步骤。 在 Amazon Lex […]

Read More

将 Amazon Lex 自动程序架构导出至 Alexa Skills Kit

您现在可以将 Amazon Lex 聊天自动程序架构导出到 Alexa Skills Kit 来简化创建 Alexa 技能的流程。 利用 Amazon Lex,您现在能够以 JSON 文件形式导出 Amazon Lex 聊天自动程序定义,以便能够将其添加到 Alexa Skills Kit (ASK)。在将该自动程序架构文件添加到 ASK 中后,您可以使用它构建 Alexa 技能,以便在 Amazon Echo、Amazon Dot、Amazon Look、Amazon Tap、Amazon Echo Show 和支持 Alexa 的第三方设备上使用。JSON 配置文件包含您的 Amazon Lex 聊天自动程序的结构,包括带表达、槽、提示和槽类型的目的架构。导出功能简化了通过 Amazon Lex 聊天自动程序创建 Alexa 技能的过程。 要创建 Alexa 技能,您可以从 ASK 门户中使用 Amazon Lex 自动程序定义文件,并执行以下步骤。 在 Amazon Lex […]

Read More

AWS Deep Learning AMI 现在包含 Apache MXNet 0.11 和 TensorFlow 1.3

AWS Deep Learning Amazon 系统映像 (AMI) 旨在帮助您在 AWS 上构建稳定、安全且可扩展的深度学习应用程序。AMI 预安装了常用的深度学习框架,具有 GPU 驱动程序和库,让您可以训练复杂的 AI 模型并在云中进行扩展。 最新版 AWS Deep Learning AMI 可用于 Ubuntu 和 Amazon Linux 平台。AMI 中包括多项更新,其中最引人注目的是支持 Keras 的 MXNet 0.11。MXNet 现可作为运行 Keras 1.2 的用户的后端选择。利用 MXNet,Keras 用户可以轻松设置多 GPU 以实现训练和近线性扩展的出色性能。要了解有关使用 MXNet 作为 Keras 后端的好处的更多信息,请参阅 NVIDIA 的博客。AMI 现在还可与最新版 TensorFlow (1.3.0 版) 一起运行。 使用 AMI 进行入门可谓轻松快捷。按照此分步指南 进行操作,在几分钟内便可开始深度学习。 以下是 AMI 上的深度学习框架和 […]

Read More

结合深度学习网络 (GAN 和 Siamese) 生成逼真的高品质图像

由于深度学习依靠用于训练它的数据的数量和质量,因此公司花费了大量资金来获得良好的图像数据。通常,公司会使用昂贵的人工注释或其他劳动密集型任务,如拍摄大量产品或人员照片。这种方法的成本高昂且不能扩展。训练计算机以生成高品质图像可大大降低成本并推动业务增长。 在这篇文章中,我用简单的术语解释由我的一些 Amazon 同事共同撰写的标题为“从语义上分解生成式对抗网络的潜在空间”的学术论文中介绍的概念。本文介绍了生成式对抗网络 (GAN)、Siamese 网络 (SN) 的实际应用,以便能够从语义上分解 GAN (SD-GAN)。 GAN 和 SN 是相对高级的深度学习符号,您可以单独使用 GAN 和 SN,也可以将其与其他深度学习符号结合使用来解决实际问题。通过将这些符号结合使用,AI 应用程序能够解决更多的难度更大且更复杂的业务问题。例如,面向 AI 的主要难题之一是缺少带注释或标记的数据。高品质的、带注释的数据的成本非常高,因此仅大型公司或资金充足的公司能够获得此类数据。通过使用深度学习方法 (如本文中介绍的那些方法),可让更多的公司从几个示例生成高品质数据。 我将说明作者如何使用 GAN、SN 和 SD-GAN 分析实际图像,并使用它们生成带同一人员或对象的受控变体的“假”图像。根据您设置的参数或“观察属性”,这些假图像可能看起来像是从不同的视角拍摄的、使用了不同的光照或具有更高的分辨率或其他类似变体。通过使用本文中介绍的图像分析方法,您可以创建出非常真实的图像,这些图像看起来像已使用 Photoshop 专门处理过或是使用 3D 模型创建的。 图 1:使用本文中介绍的方法生成的示例。每行均显示同一面部的变体。每列均使用相同的观察属性。 什么是生成式对抗网络? 生成式对抗网络 (GAN) 是适用于神经网络的相对较新的深度学习架构。它们是由蒙特利尔大学的 Ian Goodfellow 与其同事在 2014 年共同开发的。一个 GAN 训练两个不同的网络,二者彼此针对,因此它们具有对抗性。一个网络通过拍摄一个实际图像并尽可能多地修改该图像来生成图像 (或任何其他示例,如文本或语音)。另一个网络尝试预测图像是“假”还是“真”。第一个网络 (称为“G 网络”) 学会生成 更佳的图像。第二个网络 (称为“D 网络”) 学会辨别 真假图像。其辨别能力随时间的推移不断增强。

Read More