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