# 12

# 云上的人工智能

在本章中，我们将学习有关云和云上的人工智能工作负载的信息。 我们将讨论将 AI 项目迁移到云的好处和风险。 我们还将了解主要云提供商所提供的产品。 我们将了解他们提供的服务和功能，并希望了解为什么这些提供商是市场领导者。

在本章结束时，您将对以下内容有更好的理解：

*   迁移到云的好处，风险和成本
*   基本云概念（例如弹性）
*   顶级云提供商
*   亚马逊网络服务：
    *   亚马逊 SageMaker
    *   Alexa，Lex 和 Polly –对话代理
    *   Amazon Comprehend –自然语言处理
    *   Amazon Rekognition –图片和视频
    *   亚马逊翻译
    *   亚马逊机器学习
    *   亚马逊转录–转录
    *   Amazon Textract –文档分析
*   Microsoft Azure：
    *   机器学习工作室
    *   Azure 机器学习交互式工作区
    *   Azure 认知服务
*   Google AI 及其机器学习产品：
    *   AI 中心
    *   人工智能构建块

# 为什么公司要迁移到云？

如今，很难在不被“云”一词影响的情况下转向任何地方。 我们当今的社会已经达到了一个临界点，无论大小企业都看到将工作负载转移到云中所带来的好处超过了成本和风险。 例如，截至 2019 年，美国国防部正在选择一家云提供商并授予 10 年 100 亿美元的合同。 将您的系统迁移到云具有许多优势，但是公司迁移到云的主要原因之一是其弹性功能。

在本地环境中部署新项目时，我们总是从容量规划开始。 容量规划是企业进行的一项练习，以确定为使新系统有效运行所需的硬件数量。 根据项目的规模，这种硬件的成本可能高达数百万美元。 因此，可能需要几个月的时间才能完成该过程。 可能需要很长时间的原因之一是，可能需要许多批准才能完成购买。 我们不能责怪企业对此类决策如此迟钝和明智。

尽管可能需要进行周密的计划和考虑，但购买少于所需数量的设备或购买动力不足的设备并不少见。 也许就像经常那样，购买了过多的设备或对眼前的项目而言过高的设备。 发生这种情况的原因是，在许多情况下，很难先验确定需求。

此外，即使我们在一开始就获得了适当的容量要求，需求可能仍会继续增长，并迫使我们重新进行供应流程。 否则需求可能会变化。 例如，我们的网站白天可能会吸引大量流量，但晚上的需求却下降了。 在这种情况下，当使用本地环境时，我们别无选择，只能考虑最坏的情况并购买足够的资源，以便我们可以处理需求高峰期，但是当需求在缓慢时期减少时，资源将被浪费。

所有这些问题在云环境中都不存在。 所有主要的云提供商都以不同的方式提供弹性的环境。 我们不仅可以轻松扩展，而且可以轻松扩展。

如果我们有一个流量可变的网站，则可以将处理流量的服务器放在负载均衡器后面，并设置警报，以自动添加更多服务器以处理流量高峰，并在风暴过后自动添加其他警报以终止服务器。

# 顶级云提供商

鉴于云是海啸，许多供应商都在争相降低对云服务的需求。 但是，就像在技术市场中经常发生的那样，只有极少数公司冒顶并占据主导地位。 在本节中，我们将分析排名靠前的参与者。

**亚马逊网络服务（AWS）**

Amazon Web Services 是云计算的先驱之一。 自 2006 年推出以来，AWS 在愿景和执行力方面一直在备受推崇的 Gartner 的 Magic 象限中排名很高。 自成立以来，AWS 占据了很大的云市场份额。 对于传统参与者和初创企业而言，AWS 都是一个有吸引力的选择。 根据 Gartner：

> “ AWS 是战略性，全组织范围采用的最常用的提供商”

AWS 还拥有一支由顾问组成的大军，致力于帮助其客户部署 AWS 服务，并教他们如何最佳利用可用服务。 综上所述，可以肯定地说，AWS 是最成熟，最先进的云提供商，在客户成功方面拥有良好的往绩，并且在 AWS Marketplace 中拥有强大的合作伙伴。

另一方面，由于 AWS 是领导者并且他们知道，因此它们并非总是最便宜的选择。 AWS 的另一个问题是，由于他们非常珍视将新服务和功能首先推向市场，因此他们似乎愿意迅速推出可能尚未完全成熟和功能完善的服务，并在发布后立即解决问题 。 公平地说，这不是 AWS 独有的策略，其他云提供商也发布了其服务的 Beta 版本。 此外，由于亚马逊在云计算以外的市场竞争，因此一些潜在客户与其他提供商合作以免“喂食野兽”并不少见。 例如，沃尔玛以避免不惜一切代价使用 AWS 而闻名，因为它们在电子商务领域竞争激烈。

**Microsoft Azure**

在过去的几年中，Microsoft Azure 在 Gartner 魔力象限中排名第二，仅次于 AWS，其执行能力要远远优于 AWS。 但是好消息是，它们仅落后于 AWS，而且排名第二。

微软的解决方案吸引托管旧式工作负载以及全新的云部署的客户，但出于不同的原因。

传统的工作负载通常由传统上是 Microsoft 客户的客户在 Azure 上运行，并试图利用他们以前在该技术堆栈中的投资。

对于新的云部署，由于 Microsoft 为应用程序开发提供了强大的产品，专业的**平台即服务**（ **PaaS** ）功能，数据存储，机器，Azure 云服务之所以吸引人 ]学习和**物联网**（ **IoT** ）服务。

在战略上致力于 Microsoft 技术堆栈的企业已经能够在生产中部署许多大型应用程序。 当开发人员完全致力于 Microsoft 产品套件（例如.NET 应用程序），然后将其部署在 Azure 上时，Azure 尤其有用。 微软之所以能够深入市场，是因为其经验丰富的销售人员和广泛的合作伙伴网络。

此外，微软意识到，下一轮技术战将不会围绕操作系统展开，而是会围绕云进行，因此它们已越来越多地接受采用非微软操作系统。 为了证明这一点，到目前为止，大约一半的 Azure 工作负载运行在 Linux 或其他开源操作系统和技术堆栈上。

Gartner 的一份报告指出：“ *微软对未来具有独特的愿景，涉及通过本机的第一方产品（例如来自 VMware，NetApp，Red Hat，Cray 和 Databricks 的产品）引入技术合作伙伴。*”

不利的一面是，有一些关于可靠性，停机时间和服务中断的报告，还有一些客户对 Microsoft 技术支持的质量表示怀疑。

**Google 云平台（GCP）**

在 2018 年，Google 通过其 GCP 产品将打破了享誉全球的 Gartner 领导者象限，仅加入了 AWS 和 Azure 的独家俱乐部。 在 2019 年，GCP 与两个激烈的竞争对手保持在同一象限。 但是，就市场份额而言，GCP 仅排在第三位。

他们最近加强了销售人员，他们有足够的财力，并且有强烈的动机要不落伍，所以不要打折扣。

Google 作为机器学习领导者的声誉无可争议，因此 GCP 拥有强大的大数据和机器学习产品也就不足为奇了。 但是 GCP 也在取得进展，吸引了较大的企业，这些企业希望托管诸如 SAP 和其他传统**客户关系管理**（ **CRM** ）系统之类的传统工作负载。

Google 在机器学习，自动化，容器和网络方面的内部创新以及 TensorFlow 和 Kubernetes 等产品具有先进的云开发能力。 GPS 的技术围绕着对开源的贡献。

但是，请注意将云策略专门围绕 GCP 集中。 Gartner 在最近的一份报告中宣称：

> “谷歌在处理企业账户时表现出不成熟的流程和程序，这有时会使公司难以交易。”

和：

> “与本魔力象限中的其他供应商相比，谷歌拥有的经验丰富的托管服务提供商（MSP）和以基础架构为中心的专业服务合作伙伴要少得多。”

但是，Gartner 还指出：

> “ Google 正积极针对这些缺点。”

Gartner 还指出，谷歌的渠道需要发展。

**阿里云**

阿里云于 2017 年首次出现在 Gartner 的魔力象限中，而于 2019 年首次出现在 Gartner 的魔力象限中。

Gartner 仅评估了总部位于新加坡的公司的国际服务。

阿里云是中国市场的领导者，使用阿里巴巴作为云提供商，为许多中国企业以及中国政府提供了良好的服务。 但是，如果中国决定取消对其他国际云供应商的某些限制，则可能会放弃这一市场份额领导地位的很大一部分。

该公司在中国为构建混合云提供支持。 但是，在中国以外，它主要用于以云为中心的工作负载。 2018 年，它与 VMware 和 SAP 建立了合作伙伴关系。

阿里巴巴拥有一套服务，其范围可与其他全球提供商的服务组合相媲美。

该公司与阿里巴巴集团的紧密关系帮助云服务成为希望在中国开展业务的国际公司和中国公司在中国以外的公司的桥梁。

阿里巴巴似乎还没有拥有竞争对手[AWS]，Azure 和 GCP 等等竞争对手的服务和功能。 在许多地区，服务仅可用于特定的计算实例。 他们还需要加强其 MSP 生态系统，第三方企业软件集成和操作工具。

**Oracle 云基础架构（OCI）**

在 2017 年，Oracle 的云产品在 Gartner 的 Magic 象限象限中首次亮相。 但是在 2018 年，由于 Gartner 评估标准的变更，甲骨文被提升为 Niche Player 地位。 截至 2019 年，它一直在那里。

Oracle 云基础架构（OCI）是于 2016 年推出的第二代服务，旨在淘汰旧版产品（现称为 Oracle Cloud Infrastructure Classic）。

OCI 同时提供虚拟服务器和裸机服务器，并一键式安装和配置 Oracle 数据库和容器服务。

OCI 吸引具有 Oracle 工作负载的客户，这些工作负载只需要基本的**基础架构即服务**（ **IaaS** ）功能。

Oracle 的云战略依赖于其应用程序，数据库和中间件。

Oracle 在吸引其他云提供商的人才以增强其产品方面取得了一些进展。 它还在赢得新业务和使现有的 Oracle 客户转移到 OCI 云方面取得了一些进展。 但是，Oracle 在赶上三巨头之前还有很长的路要走。

**IBM Cloud**

在大型机时代，IBM 是无可争议的计算之王。 当我们开始脱离大型机，而个人计算机无处不在时，它就失去了这个头衔。 IBM 再次试图在这一新的范式转变中重新占据领导地位。 IBM Cloud 是 IBM 应对这一挑战的答案。

该公司的多元化云服务包括容器平台，无服务器服务和 PaaS 产品。 IBM Cloud Private 为混合架构提供了补充。

像其他一些较低层的云提供商一样，IBM 吸引了其现有客户，这些客户非常愿意从 Big Blue（IBM 的昵称）购买大部分技术。

这些现有客户通常具有传统的工作负载。 IBM 还利用这些长期的合作关系，将这些客户转变为新兴的 IBM 解决方案，例如 Watson 的人工智能。

IBM 从运行关键生产服务的大量现有客户中受益，而这些客户刚刚开始对采用云感到满意。 现有的客户群使 IBM 处于有利位置，可以在这些客户拥抱云并开始其转型之旅时为其提供协助。

像甲骨文一样，IBM 也在艰难地争取从 AWS，Azure 和 Google 获得市场份额。

# 亚马逊网络服务（AWS）

现在，我们将重点关注前三名云提供商。 您可能已经知道，云提供商提供的不仅仅是人工服务，还包括准系统计算和存储服务，一直到非常复杂的高级服务。 与本书中的所有其他内容一样，我们将从 AWS 开始专门研究云提供商提供的人工智能和机器学习服务。

## Amazon SageMaker

Amazon SageMaker 在 2017 年在内华达州拉斯维加斯举行的 Amazon 年度 re：Invent 会议上启动。SageMaker 是一个机器学习平台，使开发人员和数据科学家可以在云中创建，训练和部署机器学习（ML）模型。 。

数据科学家在日常工作中使用的通用工具是 Jupyter Notebook。 这些笔记本是包含计算机代码（例如 Python）和富文本元素（例如段落，方程式，图形和 URL）的组合的文档。 Jupyter 笔记本很容易为人类所理解，因为它们包含分析，描述和结果（图，图形，表格等），它们也是可以在线或在笔记本电脑上处理的可执行程序。

您可以将 Amazon SageMaker 视为*类固醇*上的 Jupyter 笔记本。 与传统的 Jupyter 笔记本相比，这些是 SageMaker 的一些优势。 换句话说，这些是不同的类固醇口味：

*   像 Amazon 提供的许多机器学习服务一样，SageMaker 是一项完全托管的机器学习服务，因此您不必担心升级操作系统或安装驱动程序。
*   Amazon SageMaker 提供了一些最常见的机器学习模型的实现，但是这些实现是经过高度优化的，在某些情况下，其运行速度是同一算法的其他实现的 10 倍。 此外，如果 SageMaker 没有开箱即用来提供机器学习模型*，则可以引入自己的算法。*
*   Amazon SageMaker 可为各种工作负载提供适量的肌肉。 可以从 Amazon 提供的多种机器类型中选择可以用来训练或部署算法的机器类型。 如果您只是在尝试使用 SageMaker，则可能会决定使用 *ml.t2.medium* 计算机，这是可与 SageMaker 一起使用的最小计算机之一。 如果需要一些有功功率，则可以加速其计算机实例，例如 *ml.p3dn.24xlarge* 计算机。 这样的实例所提供的功能相当于几年前被认为是超级计算机的功能，将花费数百万美元来购买。

Amazon SageMaker 使开发人员可以在整个机器学习管道中提高生产力，包括：

**数据准备** – Amazon SageMaker 可以与许多其他 AWS 服务无缝集成，包括 S3，RDS，DynamoDB 和 Lambda，从而使其易于提取和准备数据以供机器学习算法使用。

**算法选择和培训** –开箱即用，Amazon SageMaker 具有各种针对速度和准确性进行了优化的高性能，可扩展机器学习算法。 这些算法可以对 PB 级数据集执行训练，并且可以将性能提高多达类似实现的 10 倍。 这些是 SageMaker 随附的一些算法：

*   炽热的文字
*   DeepAR 预测
*   分解机
*   K 均值
*   随机砍伐森林（RCF）
*   物体检测
*   图片分类
*   神经主题模型（NTM）
*   IP 洞察
*   K 最近邻居（k-NN）
*   潜在狄利克雷分配（LDA）
*   线性学习者
*   Object2Vec
*   主成分分析（PCA）
*   语义分割
*   序列到序列
*   XGBoost

**算法调整和优化** – Amazon SageMaker 提供自动模型调整，也称为超参数调整。 调整通过在指定的超参数范围内使用相同的输入数据集和相同的算法运行多个迭代来找到模型的最佳参数集。 随着培训工作的进行，计分卡将保留该模型的最佳性能版本。 “最佳”的定义基于预定义的指标。

例如，假设我们正在尝试解决二进制分类问题。 目标是通过训练 XGBoost 算法模型，最大化算法的曲线（ **AUC** ）度量下的面积。 我们可以为该算法调整以下超参数：

*   `alpha`
*   `eta`
*   `min_child_weight`
*   `max_depth`

为了找到这些超参数的最佳值，我们可以为超参数调整指定一个值范围。 将开始一系列培训工作，并且将根据提供最高 AUC 的版本存储最佳的超参数集。

Amazon SageMaker 的自动模型调整可以与 SageMaker 的内置算法以及自定义算法一起使用。

**算法部署** –在 Amazon SageMaker 中部署模型是一个两步过程：

1.  创建一个端点配置，指定用于部署模型的 ML 计算实例。

1.  启动一个或多个 ML 计算实例以部署模型，并公开 URI 进行调用，这将允许用户进行预测。

端点配置 API 接受 ML 实例类型和实例的初始计数。 在神经网络的情况下，配置可以包括 GPU 支持的实例的类型。 端点 API 提供了上一步中定义的基础结构。

SageMaker 部署支持一次性和批量预测。 批次预测对可以存储在 Amazon S3 或其他 AWS 存储解决方案中的数据集进行预测。

**集成和调用** – Amazon SageMaker 提供了多种与服务交互的方式和界面：

*   **Web API** – Sagemaker 具有 Web API，可用于控制和调用 SageMaker 服务器实例。
*   **SageMaker API** –与其他服务一样，Amazon 具有适用于 SageMaker 的 API，该 API 支持以下编程语言列表：
    *   走
    *   C ++
    *   爪哇
    *   的 JavaScript
    *   蟒蛇
    *   的 PHP
    *   红宝石
    *   爪哇
*   **Web 界面** –如果您对 Jupyter Notebook 熟悉，，由于与 SageMaker 进行交互的 Web 界面是 Jupyter Notebook，您将对 Amazon SageMaker 感到宾至如归。
*   **AWS CLI** -AWS 命令行界面（CLI）。

## Alexa，Lex 和 Polly –会话绅士

在前面的章节中，我们讨论了 Alexa 及其在家庭中越来越普遍的存在。 现在，我们将深入研究为 Alexa 提供支持的技术，并允许您创建自己的对话机器人。

Amazon Lex 是用于建立对话代理的服务。 Amazon Lex 和其他聊天机器人是我们这一代人的尝试通过图灵测试，我们在前面的章节中已经进行了讨论。 任何人将与 Alexa 的对话与人类对话混淆都需要一段时间。 但是，亚马逊和其他公司在使这些对话越来越自然的过程中不断取得进步。 Amazon Lex，使用与 Amazon Alexa 相同的技术，使开发人员可以快速构建复杂的自然语言，会话代理或*聊天机器人*。 对于简单的情况，无需任何编程就可以构建其中的一些聊天机器人。 但是，可以使用 AWS Lambda 作为集成技术将 Lex 与 AWS 堆栈中的其他服务集成。

稍后，我们将整整一章专门介绍如何创建聊天机器人，因此我们将在本节中简短介绍。

## Amazon Comprehend –自然语言处理

Amazon Comprehend 是 AWS 提供的**自然语言处理**（ **NLP** ）服务。 它使用机器学习来分析内容，执行实体识别以及发现隐式和显式关系。 公司开始意识到他们每天产生的大量数据中都有有价值的信息。 可以从客户的电子邮件，支持通知单，产品评论，呼叫中心对话和社交媒体互动中确定有价值的见解。 直到最近，尝试获得这些见解都在成本上处于禁止状态，但是 Amazon Comprehend 之类的工具使对大量数据进行分析具有成本效益。

该服务的另一个优点是，它是另一项完全受管的 AWS 服务，因此无需置备服务器，安装驱动程序和升级软件。 它使用简单，不需要 NLP 的丰富经验即可快速提高生产力。

与其他 AWS AI / ML 服务一样，Amazon Comprehend 与其他 AWS 服务（例如 AWS Lambda 和 AWS Glue）集成。

**用例** – Amazon Comprehend 可用于扫描文档和识别这些文档中的模式。 此功能可以应用于一系列用例，例如情感分析，实体提取和按主题组织文档。

例如，Amazon Comprehend 可以分析来自与客户的社交媒体互动中的文本，识别关键短语，并确定客户的体验是正面还是负面。

**控制台访问** –可以从 AWS 管理控制台访问 Amazon Comprehend 。 将数据提取到服务中的最简单方法之一是使用 Amazon S3。 然后，我们可以调用 Comprehend 服务以分析文本中的关键短语和关系。 理解可以为每个用户请求返回一个置信度分数，以确定准确性的置信度； 百分比越高，服务越有信心。 Comprehend 可以轻松地批量处理单个请求或多个请求。

可用的**应用程序编程接口**（ **API** ）–截至为止，Comprehend 提供了六个不同的 API 来提供见解。 他们是：

*   **关键字提取 API** –标识关键字和术语。
*   **情绪分析 API** –返回文本的整体含义和感觉，无论是是肯定，否定，中立还是混合。
*   **语法 API** –允许用户标记化文本以定义单词边界，并在其不同词性（例如名词和动词）中标记单词。
*   **实体识别 API** –标识并标记文本中的不同实体，例如人物，地点和公司。
*   **语言检测 API** –标识用于编写文本的主要语言。 服务可以识别一百多种语言。
*   **自定义分类 API** –使用户能够构建自定义文本分类模型。

**行业特定的服务** – Amazon Comprehend Medical 于 2018 年在 AWS re：Invent 上发布。它专为医疗行业构建，可以识别行业特定的术语。 Comprehend 还提供了特定的医学命名实体和关系提取 API。 AWS 不会存储或使用 Amazon Comprehend Medical 的任何文本输入来进行未来的机器学习培训。

## Amazon Rekognition –图片和视频

不，不是错字。 亚马逊用 k 而不是 c 命名其识别服务。 Amazon Rekognition 可以执行图像和视频分析，并使用户可以将此功能添加到其应用程序中。 Amazon Rekognition 已经接受了数百万张带有标签的图像的预训练。 因此，该服务可以快速识别：

*   **对象类型** –椅子，桌子，汽车等
*   **名人** –演员，政客，运动员等
*   **人员** –面部分析，面部表情，面部质量，用户验证等
*   **文本** –将图像识别为文本并将其转换为文本
*   **场景** –跳舞，庆祝，吃饭等
*   **不当内容**-成人，暴力或视觉干扰的内容

Amazon Rekognition 已经识别出数十亿张图像和视频，并使用它们不断变得越来越好。 深度学习在图像识别领域的应用可以说是过去几年中最成功的机器学习应用程序，而 Amazon Rekognition 利用深度学习来提供令人印象深刻的结果。 要使用它，不需要具有高水平的机器学习专业知识。 Amazon Rekognition 提供了一个简单的 API。 要使用它，将图像和一些参数一起传递到服务，就是这样。 Amazon Rekognition 只会继续变得更好。 它使用得越多，收到的输入就越多，并且从这些输入中学到的越多。 此外，Amazon 继续增强服务并向该服务添加新功能。

Amazon Rekognition 最受欢迎的一些用例和应用程序包括：

**对象，场景和活动检测** –使用 Amazon Rekognition，您可以识别成千上万种不同类型的对象（例如，汽车，房屋，椅子等）和场景（例如， 城市，购物中心，海滩等）。 分析视频时，可以识别帧中正在发生的特定活动，例如“清空后备箱”或“孩子们玩耍”。

**性别识别** – Amazon Rekognition 可用于进行有根据的猜测，以确定图像中的人是男性还是女性。 该功能不应用作一个人的性别的唯一决定因素。 它并不意味着以这种方式使用。 例如，如果男演员戴着长发假发和耳环饰演角色，则可能被识别为女性。

**面部识别和分析** –面部识别系统的用途之一是从图像或视频中识别和验证人。 这项技术已经存在了几十年，但是直到最近，它的应用才变得更加流行，便宜和可用，这在很大程度上要归功于深度学习技术和 Rekognition 等服务的普遍存在。 面部识别技术支持当今的许多应用程序，例如照片共享和存储服务，并且是智能手机身份验证工作流中的第二个因素。

一旦我们认识到物体是一张脸，就可能要执行进一步的脸部分析。 Amazon Rekognition 可以帮助确定的一些属性包括：

*   睁眼或闭眼
*   心情：
    *   快乐
    *   现在
    *   愤怒
    *   很惊讶
    *   恶心的
    *   冷静
    *   困惑
    *   恐惧
*   发色
*   眼睛的颜色
*   胡须或胡须
*   眼镜
*   年龄范围
*   性别
*   人脸的视觉几何

当需要在几秒钟内搜索并组织数百万个图像，生成诸如人的情绪之类的元数据标签或识别一个人时，这些检测到的属性很有用。

**路径** –可以使用视频文件通过 Amazon Rekognition 在场景中跟踪人的路径。 例如，如果我们看到一个图像，其中包含一个人，他的行李箱周围有行李箱，那么我们可能不知道该人是否正在将行李箱从行李箱中取出并到达，或者他们是否正在将行李箱放入行李箱中并离开。 通过使用路径分析视频，我们将能够做出此确定。

**不安全的内容检测** –亚马逊 Rekognition 可以帮助识别图像和视频内容中潜在的不安全或不适当的内容，并且可以提供详细的标签，以根据先前确定的标准准确控制对这些资产的访问。

**名人识别** –可以在图像和视频库中快速识别名人和名人，以将照片和镜头分类。 此功能可用于市场营销，广告和媒体行业用例。

**图像中的文本** –一旦我们识别出图像中包含文本，就自然要将该图像中的字母和单词转换为文本。 例如，如果 Rekognition 不仅能够识别物体是车牌，而且还可以将图像转换为文本，则可以很容易地根据机动车部门的记录对其进行索引，并跟踪个人及其下落。

## 亚马逊翻译

Amazon Translate 是另一项 Amazon 服务，可用于将以一种语言编写的大量文本翻译成另一种语言。 Amazon Translate 是按使用付费的，因此仅在您提交需要翻译的内容时才需要付费。 作为 2019 年 10 月的，Amazon Translate 支持 32 种语言：

<colgroup><col> <col></colgroup> 
| **语言** | **语言代码** |
| 阿拉伯 | 用 |
| 简体中文） | zh |
| 中国传统的） | zh-TW |
| 捷克文 | cs |
| 丹麦文 | da |
| 荷兰语 | NL |
| 英语 | 在 |
| 芬兰 | 是 |
| 法文 | fr |
| 德语 | de |
| 希腊语 | 他 |
| 希伯来语 | he |
| 没有。 | 你好 |
| 匈牙利 | hu |
| 印度尼西亚 | ID |
| 义大利文 | 它 |
| 日本 | 和 |
| 韩语 | KO |
| 马来语 | 多发性硬化症 |
| 挪威 | 没有 |
| 波斯语 | fa |
| 抛光 | PL |
| 葡萄牙语 | 对于 |
| 罗马尼亚语 | ro |
| 俄语 | ru |
| 西班牙文 | 它是 |
| 瑞典 | sv |
| 泰国 | 日 |
| 土耳其 | tr |
| 乌克兰 | 英国 |
| 乌尔都语 | 从 |
| 越南文 | 我们 |

除少数例外，大多数这些语言都可以从一种翻译为另一种。 用户还可以向字典中添加项目以自定义术语，并包括特定于其组织或用例的术语，例如品牌和产品名称。

Amazon Translate 使用机器学习和连续学习模型来改善其翻译的性能。

可以通过三种不同的方式访问该服务，就像可以访问许多 AWS 服务一样：

*   在 AWS 控制台中，翻译少量文本片段并对该服务进行采样。
*   使用 AWS API（支持的语言为 C ++，Go，Java，JavaScript，.NET，Node.js，PHP，Python 和 Ruby）。
*   可以通过 AWS CLI 访问 Amazon Translate。

**用于 Amazon Translate**

许多公司将 Amazon Translate 与其他外部服务一起使用。 此外，Amazon Translate 可以与其他 AWS 服务集成。 例如，翻译可与 Amazon Comprehend 结合使用，以从社交媒体源中提取预定的实体，情感或关键字，然后翻译提取的术语。 在另一个示例中，该服务可以与 Amazon S3 配对以翻译文档存储库并使用 Amazon Polly 讲翻译语言。

但是，使用 Amazon Translate 并不意味着人工翻译不再起作用。 一些公司将 Amazon Translate 与人工翻译配对，以提高翻译过程的速度。

## 亚马逊机器学习

在出现 Amazon SageMaker 之前，就有了 Amazon Machine Learning 或 Amazon ML。 Amazon ML 是一项更简单的服务，在某些情况下仍可以是功能强大的工具。 Amazon ML 最初于 2015 年 4 月在旧金山的 AWS 峰会上发布。 Amazon ML 使所有技能水平的开发人员都可以轻松使用机器学习技术。 Amazon ML 提供了可视化工具和向导，可以指导用户完成创建机器学习模型的过程，而无需学习复杂的 ML 算法和技术。 一旦模型准备就绪，Amazon ML 即可轻松获得预测。 应用程序可以使用简单的 API，而不必在完全托管的服务中实现自定义预测代码。

## Amazon Transcribe –转录

在 2017 年 re：Invent 会议上发布的另一项服务是 Amazon Transcribe。 您可以将 Amazon Transcribe 当作您的私人秘书，在讲话时做笔记。

Amazon Transcribe 是**自动语音识别**（ **ASR** ）服务，允许开发人员向各种应用程序添加语音到文本功能。 Amazon Transcribe API 可用于分析存储的音频文件。 该服务返回一个包含转录语音的文本文件。 Amazon Transcribe 也可以实时使用。 它可以接收实时音频流，并将生成包含转录文本的实时流。

Amazon Transcribe 可用于转录客户服务呼叫并生成音频和视频内容的字幕。 该服务支持常见的音频格式，例如 WAV 和 MP3。 它可以为每个单词生成一个时间戳。 这有助于使用生成的文本快速找到原始音频源。 像其他 Amazon 机器学习服务一样，Amazon Transcribe 不断从文本中学习其正在处理以不断改进服务。

## Amazon Textract –文档分析

机器学习中最困难的问题之一是识别笔迹。 每个人的笔迹都不一样，我们中有些人的笔迹很糟糕，有时甚至在写完几分钟后我们还是听不懂。 不可以，Amazon 尚未掌握解密鸡抓痕的方法，但是 Amazon Textract 是一项服务，可以将包含文本的图像转换为等效的文本。 如果我们能够扫描那些文档，将它们转换为文本，对其进行索引，并使用户能够搜索这些文档的内容，那么有很多扫描和传真的文档都放在抽屉里，可以为所有者带来很多价值。

Amazon Textract 使用户可以从文档，表单和表格中提取文本。 Amazon Textract 可以自动检测文档和关键页面元素的布局。 它可以识别嵌入形式或表中的数据，并在页面上下文中提取该数据。 然后，该信息可以与其他 AWS 服务集成，并用作 AWS Lambda 调用的输入或用作 Amazon Kinesis 的流。

# Microsoft Azure

在介绍了 AWS 之后，让我们看一下 Microsoft 在云服务领域提供的功能：Microsoft Azure。

## Microsoft Azure 机器学习 Studio

Microsoft Azure Machine Learning Studio 是 Microsoft 对 Amazon SageMaker 的回答。 Machine Learning Studio 是一个协作工具，具有简单的拖放界面，允许用户构建，测试和部署机器学习模型。 Machine Learning Studio 支持模型发布，该模型发布可被其他应用程序使用，并可轻松与 BI 工具（例如 Excel）集成。

**Machine Learning Studio 交互式工作区** –在*第 3 章*，*机器学习管道*中，我们学习了关于机器学习管道的信息。 Machine Learning Studio 交互式工作区通过允许用户轻松地将数据摄取到工作区，转换数据，然后通过各种数据操作和统计功能分析数据并最终生成预测，从而简化了管道开发。 开发机器学习管道通常是一个迭代过程，而工作区使执行此迭代开发变得简单。 在修改各种功能及其参数时，您将能够可视化和分析模型的性能，直到对结果满意为止。

Azure Machine Learning Studio 提供了一个交互式的可视化工作区，可以轻松地构建，测试和迭代预测分析模型。 要将数据集带入工作区，可以将其拖放。 您还可以将分析模块拖到交互式画布上，并将它们连接在一起以形成初始*实验*，然后可以在 Machine Learning Studio 中运行。 如果结果不令人满意，可以修改实验参数并一次又一次地运行直到结果令人满意。 一旦性能令人满意，就可以将*训练实验*转换为*预测性实验*，并且可以将其发布为网络服务，以便用户和其他服务可以访问该模型 。

Learning Studio 不需要任何编程。 通过直观地连接数据集和模块以构建预测分析模型来构建实验。

**Machine Learning Studio** 入门–要开始使用，您可以使用 Azure 创建免费层帐户。 在撰写本文时，免费帐户的好处是：

*   12 个月的免费产品，例如虚拟机，存储和数据库
*   不符合免费套餐资格的服务可获得$ 200 的赠送金额
*   除非您专门升级到付费帐户，否则不会自动收费
*   此外，Azure 有超过 25 种始终免费的产品，包括无服务器产品和 AI 服务

创建帐户后，您可以访问 Azure Machine Learning Studio。

登录后，您会在左侧看到以下标签：

*   **项目** –项目是实验，数据集，笔记本和其他资源的集合
*   **实验**-可以创建，编辑，运行和保存实验
*   **Web 服务** –实验可以作为 Web 服务进行部署和公开
*   **笔记本电脑** – Studio 还支持 Jupyter 笔记本电脑
*   **数据集**-已上传到 Studio 的数据集
*   **训练模型**-经过训练并保存在实验中的模型
*   **设置** –设置可用于配置帐户和资源。

**Azure 机器学习库** –该库是数据科学社区可以共享以前使用 Cortana Intelligence Suite 中的组件创建的解决方案的地方。

**实验的组成部分** –实验由数据集和分析模块组成，可以将其连接以构建预测分析模型。 有效的实验具有以下特征：

*   实验至少有一个数据集和一个模块
*   数据集只能连接到模块
*   模块可以连接到数据集或其他模块
*   模块的所有输入端口必须与数据流有某些连接
*   必须设置每个模块的所有必需参数

可以从头开始创建实验，也可以使用现有实验作为模板来创建实验。

**数据集** –数据集是已上传到 Machine Learning Studio 的数据，因此可以在实验中使用。 Machine Learning Studio 包含几个示例数据集，并且可以根据需要上载更多数据集。

**模块** –模块是可以对数据执行的算法。 Machine Learning Studio 具有各种模块，包括：

*   数据提取过程
*   训练功能
*   计分功能
*   验证程序

更具体的示例：

*   **ARFF 转换模块** –将.NET 序列化的数据集转换为属性关系文件格式（ARFF）
*   **计算基本统计模块** –计算基本统计数据，例如均值，标准差等
*   **线性回归模型** –创建基于在线梯度下降的线性回归模型
*   **评分模型**-为训练有素的分类或回归模型评分

模块可能具有一组参数，可用于配置模块的内部算法。

**模型部署** –预测分析模型准备就绪后，您可以直接从 Machine Learning Studio 将其部署为 Web 服务。

## Azure 机器学习服务

**Azure 机器学习**（ **AML** ）服务是一个平台，可让数据科学家和数据工程师大规模地在云中训练，部署，自动化和管理机器学习模型 。 服务的用户可以使用基于 Python 的库来创建功能强大的应用程序和工作流。 AML 服务是一个框架，允许开发人员使用预定义的数据集训练模型，然后将其模型作为 Web 服务包装在 Docker 容器中，并使用各种容器协调器进行部署。

可以通过以下两种方式之一访问和使用 Azure 机器学习服务：

*   通过软件开发工具包（SDK）
*   使用服务可视界面

如果您认为这听起来很像 Azure Machine Learning Studio，那么您会认为是正确的。 这些是类似的服务，并且在某个时候，Microsoft 可能会决定将它们合并在一起或弃用其中之一。 如果它们不推荐使用其中之一，则可以高度肯定地假定 Microsoft 将提供一种将其中一项服务中开发的工作流和应用程序迁移到另一项中的方法。

机器学习 Studio 与 Azure 机器学习服务有何不同？ 这些是主要区别，这使您可以决定使用哪个：

<colgroup><col> <col></colgroup> 
| **Azure 机器学习服务** | **Azure 机器学习 Studio** |
| 

*   训练和评分模型的混合部署。 可以在本地训练模型并将其部署在云上，反之亦然。
*   自由使用不同的框架和机器实例类型
*   支持自动 ML 和自动超参数调整

 | 

*   非常适合初学者
*   可以快速创建标准实验，但更难以自定义
*   全面托管的服务
*   在本地

 |

在这里，我们提供一个图表，突出显示每种服务所支持的差异和各种功能：

<colgroup><col> <col> <col> <col></colgroup> 
| **功能** | **Azure 机器学习 Studio** | **Azure 机器学习服务 SDK** | **Azure 机器学习服务可视界面** |
| 发行年份 | 2015 | 2018 | 2019（预览） |
| 用户界面 | 基于网络 | 基于 API | 基于网络 |
| 云端支援 | 是 | 是 | 是 |
| 本地 | 没有 | 是 | 没有 |
| 工具支援 | 基于网络 | 

*   视觉工作室
*   Azure 笔记本
*   Python 接口

 | 基于网络 |
| 支持 GPU | 没有 | 是 | 是 |
| 内置算法 | 

*   分类
*   回归
*   聚类
*   时间序列
*   文本分析
*   异常检测

 | 外部包可以导入 | 

*   分类
*   回归
*   聚类

 |
| 自动超参数调整 | 没有 | 是 | 没有 |
| 自动 ML | 没有 | 是 | 没有 |
| 易于扩展 | 不简单 | 可以通过 pip 轻松安装 Python 软件包 | 不简单 |
| Python 支持 | 是 | 是 | 是 |
| R 支持 | 是 | 没有 | 还没 |
| 内置容器 | 没有 | 是 | 没有 |

## Azure 认知服务

**决策服务** –允许用户构建可提供建议并支持有效决策的应用程序。

**视觉服务** –启用应用程序，这些应用程序可以识别，标识，字幕，索引以及适度的图像和视频。

**语音服务** –此服务将语音转换为文本，并将文本转换为自然声音。 它还可以执行从一种语言到另一种语言的翻译。 此外，它还支持说话人验证和识别。

**搜索服务** – Bing 可以向应用程序添加搜索支持，并使用户可以通过单个 API 调用来搜索数十亿个网页，图像，视频和新闻文章。

**语言服务** –使应用程序能够使用预先构建的脚本处理自然语言，以评估文本情感并确定文本的整体实体。

# Google Cloud Platform（GCP）

看了 Microsoft Azure 提供的服务之后，让我们继续讨论另一个替代的云平台：GCP。 首先，我们将讨论 GCP 的 AI Hub 服务。

## AI 集线器

AI Hub 是 Google Cloud Platform 中可用的服务之一。 AI Hub 是即插即用 AI 组件的完全托管库，可用于创建端到端机器学习管道。 AI Hub 提供了多种现成的机器学习算法。 AI Hub 提供企业级协作功能，使公司可以私下托管其机器学习工作流程并促进重用和共享。 您还可以轻松地将模型部署到 Google Cloud 以及其他环境和云提供商的生产环境中。 AI Hub 于 2018 年发布，目前尚处于早期阶段。 考虑到 Google 对 AI 研究的重视，我们希望 AI Hub 能够迅速成熟并继续以更快的速度提供更多功能。

**组件和代码发现** – AI Hub 是一个内容存储库，可让用户快速发现高质量的内容。 可通过 AI Hub 访问的一些发布者是：

*   Google AI
*   Google Cloud AI
*   Google Cloud 合作伙伴

如果在企业内使用集线器，则用户还可以找到公司内其他团队构建的其他组件。

**协作** – AI 集线器提高了用户生产力，并使他们避免了重复劳动。 AI Hub 提供了高度精细的控件，以仅与组织中应该有权访问组件的用户共享组件。 它还使用户可以访问由 Google 工程师和研究人员创建的预定义机器学习算法，以及 Azure 合作伙伴和其他发布者共享的其他代码。

**部署** – AI Hub 可以针对特定业务需求修改和定制算法和管道。 它还提供了用于部署经过训练的模型的直观机制。 这些模型可以部署在 Google Cloud 或其他环境和云提供商中。

## Google Cloud AI 构建基块

除了 AI Hub 的（可以与 Amazon SageMaker 和 Azure 机器学习 Studio 相比）之外，Google Cloud 在完全托管服务方面还提供了与 AWS 和 Azure 类似的产品，这些服务简化了机器学习在文本中的应用， 语言，图像和视频。 Google 在 *Google Cloud AI 构件*框架下组织了许多此类托管服务。 对于许多此类托管服务，有两种与之交互的方式– AutoML 和 API。 AutoML 用于自定义模型，API 用于预训练模型。 AutoML 和 API 可以单独使用，也可以一起使用。

**Google Cloud AutoML 自定义模型** – AutoML 服务使用 Google 的最新转移学习和神经体系结构搜索技术，允许用户为各种用例创建特定于领域的自定义模型。

**Google Cloud 预训练的 API** –在处理常见用例时，使用预先训练的 API 的 Google 服务用户可以立即变得富有成效，而无需事先训练模型。 预训练的 API 不断透明地升级，以提高这些模型的速度和准确性。

**Vision AI 和 AutoML Vision** –该服务允许用户使用 AutoML Vision 或使用预先训练的 Vision API 模型从图像中获取见解。 此服务可以检测情绪，理解文字等。

要使用该服务，可以使用自定义图像模型上传和分析图像。 该服务具有易于使用的可视界面。 该服务使您可以优化模型的准确性，延迟和大小。 结果可以导出到云中的其他应用程序或边缘的一系列设备。

Google Cloud 的 Vision API 提供了功能强大的经过预先训练的机器学习模型，可以使用 RESTful 和 RPC API 调用进行访问。 该服务可以快速标记图像并对其进行分类。 该服务已经过预培训，已经包含数百万个类别。 它也可以用于面部识别和分析，以及识别图像中的标题并将其转换为文本。

**AutoML 视频智能和视频智能 API** – AutoML 视频智能服务具有一个简单的界面，该界面可以使用自定义模型识别，跟踪和分类视频中的对象。 该服务不需要编程或人工智能方面的广泛背景。 该服务用于需要自定义标签的应用程序，而这些标签不能由经过预先培训的 Video Intelligence API 生成。

Video Intelligence API 具有经过预先训练的模型，可以识别各种常见的对象，场景和活动。 除了存储的视频外，它还支持流视频。 随着处理更多图像，它会随着时间的推移自动透明地改善。

**AutoML Translation and Translation API** –很少或没有编程经验的开发人员和翻译人员都可以创建生产质量的模型。 Translation API 使用预训练的神经网络算法来提供世界一流的机器翻译，在某些情况下，这种翻译已开始与人类水平的表现相抗衡。

**AutoML 自然语言和自然语言 API** –该服务可用于对文本分类，执行实体提取和情感检测，所有这些都使用简单易用的 API。 用户可以利用 AutoML 自然语言界面来提供数据集并确定将使用哪些自定义模型。

Natural 语言 API 具有预先训练的模型，该模型使 API 的用户可以访问**自然语言理解**（ **NLU** ）功能，包括：

*   实体分析
*   情绪分析
*   内容分类
*   实体情感分析
*   语法分析

**Dialogflow** – Dialogflow 是开发服务，允许用户创建对话代理。 它可以用来构建聊天机器人，以实现自然而丰富的交互。 它允许服务的用户一次开发代理，然后将它们部署到各种平台，包括：

*   谷歌助手
*   Facebook Messenger
*   松弛
*   Alexa 语音服务

**文字转语音** – Google Cloud 文字转语音可以将文字转换为类似人类的语音，并具有 30 多种语言和口音的 180 多种语音。 例如，它可以模仿美国的口音或英国的口音。 它使用语音合成（WaveNet）和 Google 开发的神经网络来提供高保真音频。 用户可以调用 API 并创建逼真的交互。 不难想象，我们很快就会看到这种技术已嵌入到各种客户服务应用程序中。

**语音转文本** –您可以将视为该服务与先前的服务相反。 如果*文本到语音*是声音，则*语音到文本*提供了耳朵。 Google Cloud 语音转文本功能使服务的用户可以利用神经网络模型将音频文件转换为文本。 这些模型的复杂性对服务的用户完全隐藏了，他们可以调用一个易于使用的 API 来调用它。 撰写本文时，API 支持 120 多种语言和变体。 它可以用于：

*   在应用程序中启用语音命令
*   转录呼叫中心对话
*   与工作流程中的其他 Google 和非 Google 服务集成
*   实时处理音频以及预先录制的版本

**AutoML 表** –该服务使分析人员，开发人员和数据科学家可以在结构化数据上构建和部署机器学习模型。 在许多用例中，它几乎不需要编码，因此可以大大提高部署速度。 在这些情况下，可通过类似向导的界面进行配置。 当需要编码时，AutoML Tables 支持 *Colab 笔记本*。 这些笔记本是功能强大的笔记本，类似于 Jupyter 笔记本，并具有许多使其易于使用并与其他用户协作的附加功能。 该服务是域无关的，因此可以用来解决各种各样的问题。 截至 2019 年 10 月，该服务仍未普遍可用，但可以通过 Beta 版访问。

**推荐 AI** –此 Google 服务可以大规模提供高度个性化的产品推荐。 二十多年来，Google 一直在其旗舰产品（例如 Google Ads，Google 搜索和 YouTube）中提供建议。 建议 AI 利用该经验，使服务的用户能够在各种应用程序和用例中提供个性化的建议，以满足个人客户的需求和偏好。 在撰写本文时，该产品也处于 beta 版本，因此通常不可用。

# 摘要

在本章中，我们看到所有主要的技术公司都参与了高风险的军备竞赛，成为云计算的领军人物。 在计算的历史中，随着不同技术的出现，最常见的结果是让一个玩家主导整个空间，而其他所有竞争者都被放任其职。 云可能是计算历史上出现的最重要的技术。 当客户决定他们首选的云提供商是谁时，即使他们现在可能尚未意识到，他们正在做出决定，将他们锁定在该云提供商的生态系统中，并且很难从中摆脱出来并跳到另一个云中 提供商。

云供应商意识到了这一点的重要性，并争相与竞争对手的能力相提并论。 当我们分析来自前三名云供应商的机器学习产品时，我们在本章中清楚地看到了这一点。 他们正在努力相互区分，同时在每种服务和功能上都力求彼此匹敌。 在未来几年内，这些云产品将如何发展以及这些供应商将提供哪些伟大的新服务，尤其是在人工智能和机器学习领域，将是令人兴奋的。

作为技术专家，对我们而言，一个缺点是很难跟上所有有趣的玩具和技术，但是如果没有别的，那么探索它们就应该是激动人心的旅程。

谈到玩具，在下一章中，我们将探讨如何使用人工智能构建游戏，并将我们学到的一些概念加以利用。