可解释人工智能的工程师指南
扫描二维码
随时随地手机看文章
机器学习(ML)算法已迅速成为我们日常生活的一部分。机器学习是人工智能(AI)的一个分支,其用途可能超出您的想象。我们通常完全不知道这是一种算法,而且它们已经变得无所不在,如我们的智能手机助手、交通路线规划、网络搜索结果等等,不胜枚举。随着复杂且多种相互关联的算法被工业、汽车和医疗等应用所采纳,越来越需要了解 ML 算法为何能够推断出特定结果。术语“可解释的 AI”(xAI)越来越多地用于描述一种算法结果和得到该结果所依据的背景因素。
本文将介绍xAI 并解释为什么它是所有新机器学习应用的基本考虑因素。
我们日常生活中的人工智能和机器学习
很难确切地说明机器学习 (ML) 何时成为我们日常生活的一部分,因为没有重大发布,有时甚至没有提及,但 ML 却逐渐且肯定地成为我们日常与技术进行互动的内在组成部分。对于我们中的大多数人来说,第一次接触ML是通过智能手机助手,比如谷歌的语音或苹果的 Siri。ML 也迅速成为汽车高级驾驶员辅助系统 (ADAS) 的主导功能,例如自适应巡航控制 (ACC)、主动车道辅助 (ALA) 和道路标志识别等。还有许多其他我们可能不知道的应用都在使用 ML,例如金融和保险公司将 ML 用于各种文档处理,医疗和保健诊断系统则利用 ML 检测患者核磁共振成像(MRI) 扫描的形态以及测试结果。
ML 已迅速成为我们日常生活的一部分,由于它能够做出快速决策,我们很快就依赖它的这种能力。
了解算法的决策过程
我们倾向于信任和依赖基于机器学习应用做出的决定,但最近也导致一些消费者和职业道德团体提出了他们的担忧。
要了解 ML 系统如何确定结果概率,让我们简要回顾一下它的工作原理。
机器学习使用一种算法来模拟人脑的决策过程。我们大脑中的神经元会以神经网络中基于数学的模型被复制并创建算法,人工神经网络 (ANN) 算法与我们的大脑一样,可以根据其获得的知识以一定的概率推断出结果。正如我们从出生那一刻起就所做的那样,人工神经网络是通过不断学习来发展理解,而训练 ANN 则是任何机器学习模型的基本内容。此外,也有不同类型的神经网络模型以便适合特定任务的要求。例如,卷积神经网络 (CNN) 最适合于图像识别,而递归神经网络 (RNN) 最适合语音处理,该模型通过处理大量训练数据来获取知识。对于 CNN,您需要数以万计不同类型动物的图像及其名称,才能用于动物识别应用。您需要为每个物种和性别拍摄多张图像,并需要在各个层面和角度以及不同环境光条件下拍摄照片。一旦模型完成训练后,测试阶段将从模型尚未处理过的图像数据开始。该模型可以根据每个测试数据图像的概率推断结果。推理概率随着训练数据增多和神经网络的优化而增大。
一旦所需任务的推理概率足够高,应用开发人员就可以部署机器学习模型。
机器学习的一个简单基于工业网络边缘应用是通过监测电机的振动特征来判断电机的状态。您可以通过将振动传感器(压电、MEMS 或数字麦克风)添加到工业电机来记录一组详细的振动特征。将具有已知机械故障(轴承磨损、驱动器问题等)的电机带出现场会增加训练数据的深度。生成的模型可以持续监控电机并提供对电机健康状况的持续监测。这种在低功耗微控制器上运行的神经网络称为 TinyML。
什么是可解释的人工智能?
正如上一节所强调的,一些基于 ML 的应用输出结果引起了人们的担忧,即在某种程度上存在偏差。ML 和 AI 算法存在偏见的争论来自几个方面,人们普遍认为所有 ML 结果都应该更加透明、公平、合乎情理和道德。大多数神经网络都是以“黑盒”模式运行,数据输入,结果输出,这种模型无法深入了解结果如何确定。总体而言,越来越需要基于算法的决策来解释其决策的依据,决策的结果应该是合法和合乎道德,因此是可解释的 AI (xAI)。
在这篇简短的文章中,我们只能简单讨论 xAI 背后的概念,但读者会发现半导体供应商NXP 和管理咨询公司PWC 的白皮书内容非常丰富。
图 1 突出显示了 NXP 提出的用于开发符合道德且值得信赖的 AI 系统整体方法。
图 1:NXP符合道德和值得信赖的 AI 整体方法。(来源:NXP)
为了说明 xAI 的需求,我们来看两个可能的应用场景。
汽车 - 自动车辆控制:想象一下,您是一名由传统司机驾驶出租车上的乘客,如果司机开得很慢,您可以问:“你为什么开这么慢?”司机随后可以解释说,寒冷的天气使道路结冰,必须非常小心,以免出租车滑出路面失控。但是,在自动驾驶出租车中,您不能要求司机解释他们的决定。慢速决策可能来自几个相互依赖的机器学习系统(如环境、牵引力等),所有这些系统共同推断慢速是安全谨慎的。自动驾驶车辆系统的另一部分应以听觉和视觉方式传达决策背后的原因,以使乘客在旅途中保持知情和放心。
医疗保健 - 患者状况诊断:考虑使用自动化系统来加速识别不同类型的皮肤状况。患者皮肤异常的照片被输入到应用,输出被传递给皮肤科医生以提出治疗建议。有许多不同类型的人类皮肤病,其中一些是暂时的,一些是永久的,而有些则很痛苦,皮肤状况的严重程度从相对轻微到危及生命。由于可能的疾病范围很广,皮肤科医生可能会认为在推荐治疗过程之前需要进一步分析。如果 AI 应用可以显示诊断的概率和推断出的其他高级结果,那么专家可以做出更明智的决定。
上面概述的两个简单应用场景说明了为什么需要认真考虑 xAI。对于在金融服务和治理等领域组织使用的 AI 和 ML,还需要考虑更多的道德和社会约束。
在设计机器学习系统时,嵌入式开发人员应该考虑以下几点。
• 训练数据是否代表了要推断项目中足够广泛和多样化的数据再现?
• 是否已经证明测试数据在所有识别分类组中都具有足够数量的体现?
• 算法推断的结果是否需要解释?
• 神经网络能否根据排除的结果概率提供答案?
• 机器学习应用处理数据过程中是否涉及法律或法规限制?
• 机器学习应用是否安全,不会受到对手攻击?
• 机器学习应用是否可信?
机器学习应用开发
许多嵌入式开发人员现在从事涉及机器学习功能的项目,例如介绍部分中强调的 TinyML 示例。然而,机器学习并不局限于基于边缘的平台,这些概念可高度扩展到大型工业部署。 ML 的示例工业部署包括机器视觉、状态监控、安全和安保等。
领先的半导体供应商现在可提供针对机器学习应用优化的微控制器和微处理器。这其中一个例子是 NXP iMX-8M Nano-Ultralite 应用处理器。作为 NXP iMX-8M Plus系列的一部分,Nano-Ultralite (NanoUL) 主要配备有四核 Arm® Cortex®-A53 内核,运行速度高达 1.5GHz,还配备通用 Cortex-M7 内核处理器,运行速度高达 750MHz,用于实时和低功耗任务。
图 2 突出显示了 iMX-8M NanoUL 的主要功能模块,其中包括一整套连接、外围接口、安全功能、时钟、定时器、看门狗和 PWM 模块。紧凑型 NanoUL 应用处理器的尺寸为 11 mm x 11 mm。
图 2:NXP iMX-8 Plus NanoUL 的功能框图。(来源:NXP)
为了帮助开发人员设计 iMX-8 Plus NanoUL 应用,NXP 可提供i.MX 8M Nano UltraLite 评估套件 ,参见图 3,该套件包含一个基板和一个 NanoUL 处理器板,能够为开发机器学习应用提供一个全面而完整的平台。
图 3:显示主要组件的 NXP i.MX 8M NanoUL 评估套件。(来源:NXP)
业内已经建立了一个由机器学习资源、框架和开发平台组成的生态系统,无论是基于低功耗边缘 MCU 还是功能强大的 MPU,都可用于对 ML应用进行原型设计。
TensorFlow Lite 是 Google 的 TensorFlow 企业级开源 ML 框架的变体,专为低功耗、资源不足的微控制器而设计。它可以在 Arm Cortex-M 系列内核上运行,仅占用 18 kB 内存。TensorFlow Lite 可提供用于在嵌入式设备上部署模型的所有资源。
Edge Impulse 则采用更具包容性的方式,可提供端到端解决方案,包括摄取训练数据,为应用选择最佳神经网络模型,进行测试以及最终部署到边缘设备。 Edge Impulse 能够与开源 ML 框架 TensorFlow 和 Keras 配合使用。
可解释人工智能进展
嵌入式 ML 应用的设计和开发为嵌入式系统工程师提升自己的技能提供了重要机会。在考虑最终应用的规范和操作时,也是考虑如何将可解释 AI 原则应用于设计的最佳时机。可解释的AI 正在改变我们对机器学习的看法,通过把更多的特定环境、信心和信任引入到具体应用,嵌入式开发人员在此方面大有可为。