[TOC]

推荐学习

微软人工智能公开课 : https://docs.microsoft.com/zh-cn/learn

0x00 人工智能基础概念

人工智能不是即将实现,而是已经实现了。

Artificial Intelligence

AI 使我们能够生成可以改进卫生保健的出色软件,让人能够克服生理上的不便,改进智能基础结构,创造令人惊叹的娱乐体验,甚至拯救地球!

什么是 AI?

简而言之,AI 即模仿人类行为和能力创建软件。 关键要素包括:

机器学习 - 它通常是 AI 系统的基础,也是我们“教”计算机模型进行预测并根据数据得出结论的方式。
异常情况检测 - 自动检测系统中的错误或异常活动的能力。
计算机视觉 - 软件通过相机、视频和图像直观地解释世界的能力。
自然语言处理 - 计算机理解书面或口头语言并作出相应反应的能力。
对话式 AI - 软件“代理”参与对话的能力。

现在,人工智能可以帮助我们满足当下的需求,为明天做好准备。

我们可以用 Microsoft 的人工智能对当地的日光、风、雨进行预测。
在保护脆弱的环境的同时最大程度提高粮食产量方面,可持续农耕技术至关重要。 The Yield 是一家设在澳大利亚的农业技术公司,该公司使用传感器、数据和机器学习来帮助农民做出与天气、土壤和农作物情况相关的明智决策。

https://docs.microsoft.com/zh-cn/learn/modules/get-started-ai-fundamentals/2-understand-machine-learn

那么机器如何学习?

答案是从数据中学习。 在当今世界,我们在日常生活中会创建大量数据。 从我们发送的短信、电子邮件和社交媒体帖子,到我们用手机拍摄的照片和视频,我们产生了大量信息。 我们的房屋、汽车、城市、公共交通基础设施和工厂中的数百万个传感器也在创建更多数据。

数据科学家可使用所有这些数据来训练机器学习模型,这些模型可以根据它们在数据中找到的关系进行预测和推断。

例如,假设一个环境保护组织需要志愿者使用手机应用来对不同种类的野花进行识别和分类。

以下动画展示了如何使用机器学习来实现此方案。

动画流程说明:

  • (1) 一个由植物学家和科学家组成的团队收集有关野花样本的数据。
  • (2) 并对样本的物种进行正确标记
  • (3) 使用算法对标记的数据进行处理,该算法可以提取样本特征与标记的物种之间的关系
  • (4) 该算法的结果内嵌在模型中。
  • (5) 志愿者发现新样本后,该模型可以正确识别物种标记。

了解异常情况检测

假设你要创建一个软件系统来监视信用卡交易,并检测可能表示欺诈的异常使用模式。 或者要创建一个应用程序来跟踪自动化生产线中的活动并识别故障。 或者要创建一个赛车遥测系统,使用传感器在潜在机械故障发生之前主动向工程师发出相关警告。

可以通过异常情况检测应对这些类型的场景。异常情况检测是一种基于机器学习的技术,可用于分析一段时间内的数据并标识异常更改。

让我们探讨一下异常情况检测如何在赛车场景中发挥作用。

https://docs.microsoft.com/zh-cn/learn/wwl-data-ai/get-started-ai-fundamentals/media/anomaly-detection.gif

汽车内的传感器收集遥测数据,如发动机转速、刹车温度等。
异常情况检测模型经过训练,了解一段时间内遥测度量值的预期波动情况。
如果度量值在正常预期范围之外,则该模型将报告异常,用于提醒赛车工程师通知车手先进站修理,以免因该问题而被迫退赛。

了解计算机视觉

计算机视觉是 AI 的一个领域,它负责处理视觉对象。 让我们了解一下计算机视觉带来的一些可能性。

Seeing AI 应用是一个很好的计算机视觉示例。 Seeing AI 应用专门面向盲人和弱视群体,它利用 AI 的力量来打开视觉世界,描述附近的人、文字和物体。

计算机视觉模型和功能
大多数计算机视觉解决方案都基于机器学习模型,这些模型可应用于来自相机、视频或图像的视觉输入。 下表描述了常见的计算机视觉任务。

计算机视觉模型和功能
任务 说明
图像分类 带有“出租车”标签的出租车图像,图像分类涉及训练机器学习模型,使其根据图像内容对图像进行分类。 例如,你可以在交通监控解决方案中使用图像分类模型,根据图像所包含的车辆类型(例如出租车、公共汽车、骑自行车的人等)对图像进行分类。
物体检测 用边界框突出显示公交车、汽车和自行车骑行者的街道图像,对象检测机器学习模型经过训练,可以对图像中的单个对象进行分类,并使用边界框确定其位置。 例如,交通监控解决方案可使用对象检测来识别不同类别车辆的位置。
语义分割 街道图像,其中已识别出属于公交车、汽车和骑行者的像素,语义分割是一种高级机器学习技术,其中图像中的各个像素根据其所属的对象进行分类。 例如,交通监控解决方案可能会在交通图像上覆盖“蒙版”图层,以使用特定颜色突出显示不同的车辆。
图像分析 显示遛狗人的街道图像,标题为“街道上的遛狗人”,可以创建结合使用机器学习模型和高级图像分析技术从图像中提取信息的解决方案,包括可以帮助对图像进行归类的“标签”,甚至可以归纳总结图像中所示场景的描述性标题。
人脸检测、分析和识别 多个人站在城市街道上的图像,其中突出显示了这些人的人脸人脸检测是对象检测的一种特殊形式,可以在图像中找出人脸。 这可以与分类和面部几何分析技术相结合,用来推断出年龄和情绪状态等细节;甚至根据他们的面部特征来识别个人。
光学字符识别 (OCR) 突出显示“多伦多道明银行”标志的建筑物图像,光学字符识别是一种用于检测和读取图像中文本的技术。 你可以使用 OCR 读取照片中的文字(例如:路标或店面),或从扫描的文档中提取信息,例如字母、发票或表格。

自然语言处理

自然语言处理 (NLP) 是 AI 的一个领域,它负责创建能够理解书面和口头语言的软件。

NLP 使你能够创建可以执行以下操作的软件:

分析和解释文档、电子邮件和其他来源中的文本。
解释口头语言,并合成语音响应。
将口头或书面短语在各种语言之间进行翻译。
解释命令并确定合适的操作。
例如,星舰指挥官是一款由 Human Interact 开发的虚拟现实 (VR) 游戏,故事发生在科幻世界中。 该游戏使用自然语言处理让玩家能够控制对白,并与游戏中的人物和星舰系统交互。

在 Microsoft Azure 中,你可以使用以下认知服务来构建自然语言处理解决方案:

MICROSOFT AZURE 中的自然语言处理
服务 功能
文本分析 使用此服务可以分析文本文档并提取关键短语,检测实体(例如地点、日期和人物)并评估情绪(文档内容的正面或负面程度如何)。
文本翻译 使用此服务可在 60 多种语言之间进行文本翻译。
语音 使用此服务可识别和合成语音,并翻译口语。
语言理解智能服务 (LUIS) 使用此服务可以训练能够理解口头或文本命令的语言模型。

了解对话式 AI

已完成
100 XP
3 分钟
对话式 AI 这一术语用于描述 AI 代理参与人类对话的解决方案。 通常,对话式 AI 解决方案使用机器人来管理与用户的对话。 这些对话可以通过网站界面、电子邮件、社交媒体平台、消息系统、电话和其他渠道进行。

机器人可以作为以下 AI 解决方案的基础:

产品或服务的客户支持。
餐厅、航空公司、电影院和其他以预约为基础的业务的预订系统。
卫生保健咨询和自我诊断。
智能家居和个人数字助理。

若要在 Microsoft Azure 上创建对话式 AI 解决方案,你可以使用以下服务:

MICROSOFT AZURE 中的对话式 AI
服务 功能
QnA Maker 使用此认知服务,你可以快速构建一个可以问答知识库,用它构成用户和 AI 代理之间对话的基础。
Azure 机器人服务 该服务提供了一个用于创建、发布和管理机器人的平台。 开发人员可以使用 Bot Framework 来创建机器人,并使用 Azure 机器人服务对其进行管理 - 集成后端服务(如 QnA Maker 和 LUIS)以及连接到针对 Web 聊天、电子邮件、Microsoft Teams 等服务的渠道。

AI 挑战和风险

人工智能是一种强大的工具,可以极大地造福世界。 但是,像任何工具一样,必须负责任地使用它。

AI 应用程序开发人员面临的一些潜在挑战。

AI 挑战和风险
挑战或风险 示例
偏差可能会影响结果 贷款审批模型因训练数据中的偏差而产生性别歧视
错误可能会造成伤害 自动驾驶车辆遇到系统故障并引发碰撞
可以公开数据 医疗诊断机器人使用敏感患者数据进行训练,这些数据存储不安全
解决方案可能并不适用于所有人 家庭自动化助手不为视觉障碍用户提供音频输出
用户必须信任复杂系统 基于 AI 的金融服务工具提供投资建议 - 它们基于什么?
谁对 AI 驱动的决策负责? 一个无辜的人因为面部识别证据而被判有罪 - 谁该为此负责?

AI 规则

AI 软件的开发遵循六项原则,旨在确保 AI 应用程序能为棘手的问题提供出色的解决方案,而不产生任何意外的负面影响。

(1) 公平性: AI 系统应该公平对待所有人。 例如,假设你创建了一个机器学习模型来为银行的贷款审批应用程序提供支持。 该模型应在不考虑任何基于性别、种族或其他因素的偏见的情况下,对是否应批准贷款做出预测,这些偏见可能导致特定的申请人群遭受不公平的差别待遇。
意味着公平性在 AI 提供的上下文中是一个基本的社会与技术双重挑战,也就是说我们必须有足够多样化的人来开发和部署 AI 系统。

(2) 可靠性和安全性 AI 系统应可靠且安全地运行。 例如,大家思考一下基于 AI 的自动驾驶软件系统;或诊断患者症状并推荐处方的机器学习模型这些案例。 这些系统一旦出现不可靠性,就可能会给生命安全带来重大风险。

基于 AI 的软件应用程序开发必须经过严格的测试和部署管理,以在发布前确保它们能达到预期。

确保自己开发的系统与我们的设计理念一致,并且符合我们的价值观和原则。系统和模型不会为世界带来损害。
考虑安全性时,我们首先想到的例子时自动驾驶汽车,但绝不限于这些物理系统、物理代理。

(3) 隐私和安全
AI 系统应该保护并尊重隐私。 AI 系统所基于的机器学习模型依赖于大量数据,这些数据可能包含必须保密的个人详细信息。 即使对模型进行了训练且系统已投入生产,它仍可能在使用新数据进行预测或采取行动时侵犯隐私或安全。

与日俱增的依赖性和数据对保持系统安全提出了新要求。

当考虑这些人工智能系统的安全性时,你需要考虑数据从何而来、是如何到来的,如果是用户提交的数据,或是预测中使用的公共数据源,你如何防止数据被破坏,并配备异常检测或其他用于检测数据变化的系统,这些变化可能表明有对手试图影响系统结果。

量化

(4) 包容性
AI 系统应该成为人们的有力助手,并与人互动。 AI 应不分身体能力、性别、性取向、种族或其他因素,造福社会各个阶层。

(5) 透明度
AI 系统应该是可理解的。 应让用户能充分了解系统的用途、工作方式以及局限性。

透明度具有两面性;一方面,透明度意味着创建人工智能系统的人应该对他们使用人工智能的方式和原因持开放态度,同时也要对他们系统的局限性持开放态度。
另一方面,透明度意味着人们应能够理解人工智能系统的行为,这就是人们常说的可解释性或可理解性。

(6) 问责
应有相关人员对 AI 系统负责。 设计和开发基于 AI 的解决方案的人员应在管理和组织原则的框架内工作,以确保解决方案符合定义明确的道德和法律标准。

所以,在将我们的面部识别原则用于整个公司都可以遵循的实践和过程时,我们必须要做的是设定大概的原则(例如对于公平性的承诺),并思考如何让开发团队秉持这些原则来审视开发生命周期的每个阶段。