符号人工智能
人工智能作为计算机科学的一个分支出现于 20 世纪 50 年代。它的两个主要目标是:1) 通过在计算机上建模和模拟来研究人类智能,以及 2) 通过像人类一样解决复杂问题来使计算机更有用。
从出现到 20 世纪 80 年代,大多数 AI 系统都是人工编程的,通常使用功能性、声明性或其他高级语言(例如LISP 或 Prolog)。语言中的符号代表了现实世界中的概念或抽象概念,构成了大多数知识表示的基础。
人工智能领域
当初,研究人员感兴趣的是通用 AI,或创造出很难和人类区分、可作为系统运行的机器,但由于它的复杂性,大多数人专注于解决某一具体领域的问题,如感知、推理、记忆、语音、运动等。下表列出了当时的主要 AI 领域。
表 1:符号 AI 领域(20 世纪 50 年代至 80 年代)
在下图中,下面几层提供了用于在每个领域构建解决方案的工具和基础。例如,主域下面是对当时常用的许多推理机制和知识表示的采样。
图 1:符号人工智能概述
下表列出了这种人工智能方法的一些优势和局限性。
表 2:符号 AI 的优势和局限
随着与符号 AI 相关的研究资金的日益减少,许多研究人员和从业人员将注意力转向了更为实用的信息搜索和检索、数据挖掘,以及各种形式的机器学习领域。
从 20 世纪 80 年代末到 21 世纪,人们研究了多种机器学习方法,包括神经网络、生物学和进化技术以及数学建模。早期最成功的结果是通过机器学习的统计方法获得的。线性和逻辑回归、分类、决策树、基于内核的方法(即支持向量机)等算法大受欢迎。
后来,深度学习被证明是构建和训练神经网络以解决复杂问题的有效方法。其基本训练方法与之前相似,但是有一些改进推动了深度学习的成功,包括:
今天的人工智能主要依赖的不再是符号知识表示和程序推理机制,现代 AI 而是建立在新的基础上,即机器学习。无论是传统的基于数学的机器学习模型或决策树,还是深度学习的神经网络架构,当今人工智能领域的大多数 AI 应用程序都是基于机器学习技术。
图 2:机器学习是人工智能的基础
机器学习仍面临许多问题和挑战。下表列出了基于机器学习的人工智能的一些优势和局限性。
表 3:基于机器学习的人工智能的优势和局限性
鉴于今天的人工智能是建立在机器学习的新基础之上,而机器学习长期以来一直是研究者和数据科学家的研究领域,我们如何才能使各种组织中具有不同背景的人员更好地利用它呢?
AWS 致力于机器学习的民主化。我们的目标是让具有不同训练和经验水平的客户以及各种组织都能广泛地使用机器学习。在下图中,您可以看到当前的 AWS 机器学习服务是如何映射到其他人工智能图的。
图 3:AWS 机器学习服务
第一层显示了人工智能服务,这些服务是使用机器学习(尤其是深度学习模型)创建的,功能经过预先训练,可通过 API 调用访问,并使得客户能够向其应用新增智能,开发人员无需具备任何机器学习知识就能使用它们。
Amazon Forecast
Amazon Forecast 是一项完全托管的服务,可提供高度准确的预测,并且基于 Amazon 所使用的相同技术。您提供历史数据,以及被认为影响预测的任何其他数据。Amazon Forecast 检查此类数据,识别有用的数据并生成一个预测模型。
Amazon Personalize
Amazon Personalize 可让开发人员轻松使用其应用程序为客户创造个性化产品和内容推荐。您提供来自应用程序的活动流、您想要推荐的商品的清单以及来自用户的潜在人口统计信息,Amazon Personalize 处理和检查此类数据、识别有用的数据、选择正确的算法以及训练和优化个性化模型。
Amazon Lex
Amazon Lex 是一项可在任何使用语音和文本的应用程序内构建对话接口的服务。Amazon Lex 可提供高级的自动语音识别 (ASR) 深度学习功能 (用于将语音转化成文本) 和自然语言理解 (NLU) (用于识别文本意图),使您构建出的应用程序能够具备参与度极高的用户体验和逼真的交互式对话。
Amazon Comprehend
Amazon Comprehend是一种自然语言处理 (NLP) 服务,利用机器学习技术查找文本中的见解和关系。Amazon Comprehend 可识别文本的语言;提取关键短语、地点、人物、品牌或事件;理解文本的正面或负面情绪;并按主题自动组织文本文件集合。
Amazon Comprehend Medical
Amazon Comprehend Medical 是一种自然语言处理服务,利用高级机器学习模型从非结构化文本中提取相关医疗信息。您可以使用提取出的医疗信息和它们之间的关系来构建或增强应用程序。
Amazon Translate
Amazon Translate 是一种神经元网络机器翻译服务,可提供快速、优质且经济实惠的语言翻译。神经元网络机器翻译是一种自动化语言翻译形式,使用深度学习模型来提供比基于统计数据和规则的传统机器翻译算法更加准确、自然的翻译。借助 Amazon Translate,您可以将内容本地化,以方便国际用户使用,并且可以轻松、高效地翻译大量文本。
Amazon Polly
Amazon Polly 是一种可将文本转换为逼真语音的服务,可让您构建支持聊天的应用程序,并且打造全新类别的具有语音功能的产品。Amazon Polly 是一种文本转语音服务,它使用先进的深度学习技术来合成听起来像是人声的语音。
Amazon Transcribe
Amazon Transcribe 是一种自动语音识别 (ASR) 服务,使开发人员可以轻松地为其应用程序添加语音功能。通过使用 Amazon Transcribe API,您可以分析存储在 Amazon S3 中的语音文件,并让该服务返回转录语音的文本文件。
Amazon Rekognition
Amazon Rekognition 让您能够轻松地向应用程序添加图像和视频分析。您只需向 Rekognition API 提供一个图像或视频,该服务即可识别物体、人物、文本、场景和活动,并且检测是否含有任何不当内容。Amazon Rekognition 还提供高度准确的人脸分析和人脸识别,您可以在各种各样的用户验证、编录、人数统计和公共安全使用案例中检测、分析和比较人脸。
Amazon Textract
Amazon Textract 从扫描文档和表单中自动提取文本和数据,它不只提供简单的光学字符识别,它还可以识别表单中的字段内容和表格中存储的信息。
图3 中的 ML 服务层为开发人员、数据科学家、研究人员和其他客户提供更多的托管服务和资源访问权限,以构建其自定义 ML 模型,用于解决推理和预测、推荐系统和指导自主驾驶汽车等任务。
Amazon SageMaker
Amazon SageMaker 是一项完全托管的机器学习 (ML) 服务,可帮助开发人员和数据科学家快速、轻松地构建、训练和部署任何规模的机器学习模型。Amazon SageMaker Ground Truth 可使用主动学习模型标记数据,将机器学习和人工干预相结合,帮助快速准确地构建训练数据集,从而让该模型变得越来越好。
SageMaker 提供完全托管和预先构建的 Jupyter 笔记本,以解决常见使用案例。该服务带有多个内置高性能算法,还有适用于机器学习的 AWS Marketplace,包含100多种预先训练好的 ML 模型和算法。您还可以自带内置于 Docker 容器的算法和框架。
Amazon Sagemaker 包括内置的、完全托管的强化学习 (RL) 算法。在没有预先标记的历史数据但期望有最佳结果的情况下,RL 是理想的选择。RL 使用奖励和处罚来训练,引导模型朝着期望的行为发展。SageMaker 在多个框架中都支持 RL,包括 TensorFlow、MXNet 以及定制开发的框架。
SageMaker 建立和管理训练环境,并且通过 Automatic Model Tuning 提供超参数优化,使模型尽可能准确。Sagemaker Neo 支持您将经过训练的同一模型部署到多个平台。Neo 使用机器学习优化模型的性能和大小,并部署到包含 Neo 运行时的边缘设备。SageMaker 支持跨多个可用区分布式运行的模型部署,以提供高性能和高可用性。
使用 Spark/Spark ML 的 Amazon EMR/EC2
Amazon EMR提供一个 Hadoop 托管框架,使您可以轻松、快速而经济高效地处理跨动态扩展的 Amazon EC2 实例的大量数据。您还可以运行其他常用的分布式框架(例如 Amazon EMR 中包含 Spark ML 机器学习库的 Apache Spark、HBase、Presto 和 Flink),以及与其他 AWS 数据存储服务(例如 Amazon S3 和 Amazon DynamoDB)中的数据进行交互。Spark 和 Spark ML 也可以在 Amazon EC2 实例上运行,以预处理数据、设计功能或运行机器学习模型。
与 ML 服务并行的是开发者学习框架层。这一层侧重于向用户传授 ML 技术和技巧,因此不适用于大规模生产。
AWS DeepLens
AWS DeepLens通过完全可编程、旨在扩展深度学习技能的摄像头、教程、代码和经过预训练的模型来帮助开发人员掌握深度学习。DeepLens 为开发人员提供了使用神经网络的机会,使他们可以通过计算机视觉项目、教程以及在实践中通过物理设备进行实际探索来学习和做出预测。
AWS DeepRacer
AWS DeepRacer 是一个 1/18 比例的赛车,它提供了一种使用强化学习 (RL) 的入门方法。AWS DeepRacer 通过在 Amazon SageMaker 中生成模型,在模拟器中进行测试并将 RL 模型部署到汽车中,提供了一种进行 RL 实验和了解 RL 的方法。
ML 平台层下面是 ML 引擎和框架层。这一层提供对最热门的机器学习工具的直接并可实际动手操作的访问。这一层包含 AWS 深度学习 AMI,将几个重要的工具和框架打包在一起,用于训练复杂的自定义 AI 模型。您可以创建托管的并自动扩缩的GPU 集群以进行大规模训练,或者通过计算优化型或通用型 CPU 实例在已训练好的模型上运行推理。
ML 模型训练和部署支持
基础设施和无服务器环境层提供了支持训练和部署机器学习模型的工具。机器学习需要各种功能强大的计算选项,从用于计算密集型深度学习的 GPU 到用于专用硬件加速的 FPGA,再到用于运行推理的内存增强型实例,应有尽有。
Amazon Elastic Compute Cloud (Amazon EC2)
Amazon EC2 提供了经过优化的广泛实例类型,以适应机器学习不同使用场景的需求。实例类型包括 CPU、内存、存储和网络容量的各种组合,无论您是训练模型还是在已训练好的模型上运行推理,都可以灵活选择合适的资源组合。
Amazon Elastic Inference
借助 Amazon Elastic Inference,可以将低成本 GPU 驱动的加速附加到 Amazon EC2 和 Amazon SageMaker 实例,以使用模型进行预测。Elastic Inference 不需要附加完整的 GPU(大多数模型都不需要),而是可以通过为特定模型单独配置合适的加速量来节省多达 75% 的费用。
Amazon Elastic Container Service (Amazon ECS)
Amazon ECS 支持运行和扩展容器化的应用程序,包括来自于 Amazon SageMaker 和容器化的 Spark ML 的训练好的机器学习模型。
无服务器选项
有了无服务器选项后,就不必再管理特定基础设施,使客户能够专注于部署 ML 模型和运行其系统所必需的其他逻辑。AWS 提供的一些无服务器 ML 部署选项包括 Amazon SageMaker 模型部署、用于容器的 AWS Fargate 和用于无服务器代码部署的 AWS Lamba。
边缘 ML
AWS 还提供了一个选项,可使用 Amazon SageMaker Neo 和 AWS IoT Greengrass ML Inference 将 ML 模型推送到边缘侧,从而使得模型在互联设备的本地运行。这样,客户就可以使用在云中生成和训练的 ML 模型,并在互联的设备上本地部署和运行 ML 推理。
许多人都互换使用术语 AI 和 ML。从表面上看,这似乎是不正确的,因为过去机器学习只是 AI 内部的一个领域。
如今,机器学习的算法和模型取代了传统的符号推理、知识表示和语言。对大型数据集的训练已取代了手动编码的算法和启发式方法。实际上,机器学习已成为大多数现代 AI 系统的基础。因此,如今将术语 AI 和 ML 互换使用比以往任何时候都更有意义。
AWS 提供了多种机器学习产品,从预先训练的即用型服务到用于创建自定义 ML 模型的工具和框架,应有尽有。不同行业、不同经验水平的客户都可以添加 ML 功能来改善其现有系统,并在以前未曾涉足的领域中创建独特的应用程序。