你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
人工智能 (AI) 体系结构设计
人工智能 (AI) 是计算机模拟人类智能行为的功能。 通过 AI,计算机可以分析图像、理解语音、以自然方式交互,以及使用数据进行预测。
AI 概念
算法
算法是用于解决问题或分析一组数据的一系列计算和规则。 它就像一个流程图,其中包含提出问题的分步说明,只不过是以数学和编程代码形式进行编写。 算法可以描述如何确定宠物是猫、狗、鱼、鸟还是蜥蜴。 另一种更复杂的算法可以描述如何识别书面或口头语言、分析其字词、将其翻译为其他语言,然后检查翻译的准确性。
机器学习
机器学习是一种 AI 技术,可使用数学算法来创建预测模型。 该技术使用特定算法分析数据字段,并通过使用在数据中发现的模式来“学习”该数据以生成模型。 然后,使用那些模型做出与新数据有关的明智预测或决策。
预测模型将根据已知数据进行验证,通过为特定业务方案选择的性能指标进行衡量,然后根据需要进行调整。 此学习和验证过程被称为“训练”。 通过定期重新训练,ML 模型会随着时间的推移而改进。
深度学习
深度学习是一种 ML,可以自行确定其预测是否准确。 该技术也使用算法分析数据,但其操作规模比 ML 大。
深度学习使用的人工神经网络由多个算法层组成。 每层均可查看传入数据,执行自己的专用分析,并生成其他层可以理解的输出。 然后,系统会将此输出传递至下一层,在其中以不同的算法执行其自己的分析,依此类推。
每个神经网络都有许多层,而且有时使用多个神经网络,因此计算机可以通过自己的数据处理来学习。 与 ML 相比,此技术需要更多的数据,更高的计算能力。
机器人
机器人是一种可执行特定任务的自动化软件程序。 你可将其视为没有身体的机器人。 早期机器人相对简单,使用相对简单的算法逻辑处理重复性任务和大型任务。 例如,搜索引擎使用 Web 爬网程序自动浏览和编录 Web 内容。
机器人现已变得更加复杂,不仅可使用 AI 和其他技术来模拟人类活动和决策,通常还可通过文本消息甚至语音直接与人类交互。 例如,可以预订餐位的机器人、帮助客户服务交互的聊天机器人(或对话 AI)以及将突发新闻或科学数据发布到社交媒体网站的社交机器人。
Microsoft 提供了 Azure 机器人服务,这是专为企业级机器人开发构建的托管服务。
自治系统
自治系统是不断发展的新类的一部分,突破了基本自动化的局限。 自治系统不是像机器人一样,几乎没有变化或毫无变化地重复执行特定任务,而是赋予计算机智能功能,使其适应不断变化的环境,以实现预期目标。
智能建筑已采用自治系统自动控制照明、通风、空调及安全等操作。 更复杂的示例是自导向机器人,可用于探测坍塌的矿井,以全面反映其内部情况,确定结构稳固的部分,分析透气性,并在没有远程端实时人工监视的情况下需要救援时检测被困矿工的生命体征。
有关 Microsoft AI 的常规信息
详细了解 Microsoft AI,并随时了解相关新闻:
高级体系结构类型
预生成 AI
预生成 AI 就是可供使用的现成 AI 模型、服务和 API。 这些工具可帮助你向应用、网站和流添加智能功能,而不必收集数据,然后生成、训练和发布自己的模型。
例如,预生成 AI 可能是预训练模型,可以按原样合并,也可以用于为进一步自定义训练提供基准。 再比如基于云的 API 服务,你可以随意调用该服务以所需方式处理自然语言。
Azure AI 服务
认知服务为开发者提供了使用预生成 API 和集成工具包创建应用程序的机会,这些应用程序可以听、说、看、理解,甚至可以开始推理。 Azure AI 服务中的服务目录可分为五大支柱类别:视觉、语音、语言、Web 搜索和决策/建议。
AI Builder 中的预生成 AI 模型
AI Builder 是 Microsoft Power Platform 中的一项新功能,可提供点击式接口,即使用户没有编码或数据科学技能,也可以向应用添加 AI。 (AI Builder 中的一些功能尚未正式发布,仍处于预览状态。有关详细信息,请参阅按区域划分的功能可用性页。)
你可以生成和训练自己的模型,但 AI Builder 还可提供立即可用的精选预生成 AI 模型。 例如,你可基于预生成模型在 Microsoft Power Apps 中添加一个组件,以识别名片中的联系信息。
自定义 AI
尽管预生成 AI 很有用(而且越来越灵活),但从 AI 中获取所需内容的最佳方式或许是自己构建系统。 显然,这是一个深奥复杂的主题,除了刚介绍的内容以外,我们先看一些基本概念。
代码语言
AI 的核心概念是使用算法来分析数据和生成模型,以采用有效方式进行描述(或评分)。 算法是由开发者和数据科学家(有时由其他算法)使用编程代码编写的。 目前,最常用于 AI 开发的两种编程语言是 Python 和 R。
Python 是一种通用的高级编程语言。 其语法简单易学,强调可读性。 没有编译步骤。 Python 具有大型标准库,但它也支持模块和包添加功能。 这有助于模块化,也有助于根据需要扩展功能。 Python 的 AI 和 ML 库生态系统较大,并且不断增长,其中包括 Azure 中随时可用的许多库。
scikit-learn
。 用于 Python 的开源 ML 库PyTorch。 具有丰富生态系统的开源 Python 库,可用于深度学习、计算机视觉、自然语言处理等
TensorFlow。 开源符号数学库还用于 ML 应用程序和神经网络
R 是一种语言和环境,适用于统计计算和图形。 从在线映射广泛的社交趋势和市场营销趋势到开发财务和气候模型,均可使用此语言。
Microsoft 已完全采用 R 编程语言,并为 R 开发者提供了许多不同的选项,以便他们在 Azure 中运行自己的代码。
培训
训练是机器学习的核心。 这是“教”算法创建模型的迭代过程,用于分析数据,然后根据结果做出准确预测。 此过程实际上有三个常规阶段:训练、验证和测试。
在训练阶段,会对一组已知的优质数据进行标记,以便可以识别单个字段。 将标记的数据提供给为做出特定预测配置的算法。 完成操作后,该算法会输出一个模型,以一组参数的形式描述发现的模式。 在验证过程中,会对新数据进行标记并将其用于测试模型。 算法会根据需要进行调整,并可能会经历更多训练。 最后,测试阶段使用没有任何标记或预选目标的实际数据。 如果模型的结果是准确的,则将其视为准备就绪,可以进行部署。
超参数优化
超参数是控制训练过程本身的数据变量。 这些变量是控制算法运作方式的配置变量。 因此,超参数通常是在模型训练开始之前进行设置,并且在训练过程中不是按参数方式进行修改。 超参数优化涉及运行训练任务中的试用版,评估作业完成程度,然后根据需要进行调整。 此过程会生成多个模型,每个模型都会使用不同的超参数系列进行训练。
模型选择
训练和超参数优化过程会生成大量候选模型。 这些模型具有许多不同的差异,包括准备数据所需的工作量、模型的灵活性、处理时间量,当然还包括其结果的准确性。 根据需求和约束条件选择最佳训练模型被称为“模型选择”,但这更像是训练前的预规划,毕竟是选择最佳训练模型。
自动化机器学习 (AutoML)
自动化机器学习(也称为 AutoML)是机器学习模型开发中耗时的迭代性任务实现自动化的过程。 此过程可以显著减少获取生产就绪 ML 模型所需的时间。 自动化 ML 可帮助执行模型选择、超参数优化、模型训练和其他任务,不需要用户具有广博的编程知识或域知识。
计分
评分(也称为“预测”)是在给定一些新输入数据后根据训练机器学习模型生成值的过程。 创建的值(或分数)可以表示对未来值的预测,但也可能表示可能的类别或结果。 评分过程可生成多种不同类型的值:
推荐项和相似性分数的列表
有关时序模型和回归模型的数值
概率值,指示新输入属于某个现有类别的可能性
与新项最相似的类别或群集的名称
分类模型的预测类或结果
批量评分是指在某个固定时间段内收集数据,然后分批进行处理时的评分。 此过程可能包括生成业务报表或分析客户忠诚度。
实时评分就是正在执行且尽可能快地执行的评分。 经典示例是信用卡欺诈行为检测,但在语音识别、医学诊断、市场分析以及许多其他应用中也可以使用实时评分。
有关 Azure 上自定义 AI 的常规信息
Azure 机器学习 Python SDK 笔记本。 即有关示例笔记本的 GitHub 存储库,用于演示 Azure 机器学习 Python SDK。
Azure AI 平台产品/服务
下面是可用于根据需求开发 AI 解决方案的 Azure 技术、平台和服务的细分。
Azure 机器学习
此服务是企业级机器学习服务,可更快地构建和部署模型。 Azure 机器学习提供了 Web 界面和 SDK,以便你可以大规模快速训练并部署机器学习模型和管道。 请将这些功能与开放源代码 Python 框架(如 PyTorch、TensorFlow 和 scikit-learn)配合使用。
什么是 Azure 机器学习? 总体定位,其中包含指向多个学习资源、SDK、文档等内容的链接
Azure 机器学习参考体系结构
Azure 自动化机器学习
Azure 为自动化 ML 提供广泛支持。 开发者可以使用无代码 UI 或通过代码优先的笔记本体验来构建模型。
Azure AI 服务
这是一系列全面的 AI 服务和认知 API,可帮助你构建智能应用。 这些特定于域的预训练 AI 模型可以使用你的数据进行自定义。
Azure 认知搜索
这是 AI 支持的云搜索服务,可用于移动应用和 Web 应用开发。 此服务可搜索专用异类内容,带有用于 AI 扩充的选项(如果内容为非结构化内容或内容在采用其原始格式时无法搜索)。
Azure 机器人服务
这是一个专门设计的机器人开发环境,具有快速入门的现成模板。
Azure 上的 Apache Spark
Apache Spark 是并行处理框架,支持使用内存中处理来提升大数据分析应用程序的性能。 Spark 提供了用于内存中群集计算的基元。 Spark 作业可在内存中加载和缓存数据,并可重复查询,查询速度比基于磁盘的应用程序(如 Hadoop)快得多。
Azure HDInsight 中的 Apache Spark 是 Microsoft 的 Apache Spark 在云中的实现。 HDInsight 中的 Spark 群集可与 Azure 存储和 Azure Data Lake Storage 兼容,因此你可以使用 HDInsight Spark 群集处理 Azure 中存储的数据。
SynapseML(旧称 MMLSpark)是适用于 Apache Spark 的 Microsoft 机器学习库。 这是一个开源库,在 Spark 生态系统中添加了许多深度学习和数据科学工具、网络功能和生产级性能。 详细了解SynapseML 特色与功能。
Azure HDInsight 概述。 有关功能、群集体系结构和用例的基本信息,以及指向快速入门和教程的指针。
用于机器学习的 Azure Databricks Runtime
Azure Databricks 是一个基于 Apache Spark 的分析平台,具有一键设置、简化的工作流以及一个供数据科学家、工程师和商业分析师相互协作的交互工作区。
用于机器学习的 Databricks Runtime (Databricks Runtime ML) 可用于启动具有分布式训练所需全部库的 Databricks 群集。 此工具可为机器学习和数据科学提供随时可用的环境。 而且,其中包含多个常用库,包括 TensorFlow、PyTorch、Keras 和 XGBoost。 它还支持使用 Horovod 进行分布式训练。
客户案例
各个行业都在以令人鼓舞的创新方式应用 AI。 下面是大量客户案例研究和成功案例:
后续步骤
要了解 Microsoft 提供的人工智能开发产品,请参阅 Microsoft AI 平台页。
有关如何开发 AI 解决方案的训练,请参阅 Microsoft AI 学校。
GitHub 上的 Microsoft AI:示例、参考体系结构和最佳做法安排了基于 Microsoft 开源 AI 的存储库,并提供教程和学习材料。