叶仕俊(1996-), 男, 硕士, 主要研究领域为人工智能软件测试, 文本分类
张鹏程(1981-), 男, 博士, 教授, 博士生导师, CCF高级会员, 主要研究领域为智能化软件工程, 服务计算, 数据科学, 边缘计算, 区块链
吉顺慧(1987-), 女, 博士, 副教授, CCF专业会员, 主要研究领域为软件建模, 分析, 测试, 验证
戴启印(1996-), 男, 硕士, 主要研究领域为人工智能软件测试, 图像检索
袁天昊(1997-), 男, 硕士, 主要研究领域为人工智能软件测试, 语音识别
任彬(1997-), 男, 硕士, 主要研究领域为人工智能软件测试, 图像检索
随着神经网络等技术的快速发展, 人工智能被越来越多地应用到安全关键或任务关键系统中, 例如汽车自动驾驶系统、疾病诊断系统和恶意软件检测系统等. 由于缺乏对人工智能软件系统全面和深入的了解, 导致系统时常发生严重错误. 人工智能软件系统的功能属性和非功能属性被提出以加强对人工智能软件系统的充分认识和质量保障. 经调研, 有大量研究者致力于功能属性的研究, 但人们越来越关注于人工智能软件系统的非功能属性. 为此, 专注于人工智能软件系统的非功能属性, 调研了138篇相关领域的论文, 从属性定义、属性必要性、属性示例和常见质量保障方法几个方面对目前已有的研究工作进行系统的梳理和详细的总结, 同时重新定义和分析了非功能属性之间的关系并介绍了人工智能软件系统研究中可以用到的开源工具. 最后, 展望了人工智能软件系统非功能属性的未来研究方向和挑战, 以期为该领域的研究人员提供参考.
With the rapid development of neural network and other technologies, artificial intelligence has been widely applied in safety-critical or mission-critical systems, such as autopilot systems, disease diagnosis systems, and malware detection systems. Due to the lack of a comprehensive and in-depth understanding of artificial intelligence software systems, some errors with serious consequences occur frequently. The functional attributes and non-functional attributes of artificial intelligence software systems are proposed to enhance the adequate understanding and quality assurance of artificial intelligence software systems. After investigation, a large number of researchers are devoted to the study of functional attributes, but people are paying more and more attention to the non-functional attributes of artificial intelligence software systems. This paper investigates 138 papers in related fields, systematically combs the existing research results from the aspects of attribute necessity, attribute definition, attribute examples, and common quality assurance methods, and summarizes the research work on non-functional attributes of artificial intelligence software systems. At the same time, a summary and relationship analysis are presented on the non-functional attributes of artificial intelligence software systems. The open source tools that can be used in the research of artificial intelligence software system are surveyed. Finally, the thoughts on potential future research directions and challenges are summarized on non-functional attributes of artificial intelligence software systems, which, hopefully, will provide references for researchers interested in the related directions.
随着计算机硬件、云计算和移动互联等领域的重大突破, 人工智能(artificial intelligence, AI)被逐渐应用于包括癌细胞识别、农业土壤监测、广告精准投放、金融欺诈识别、信用评价以及自动驾驶汽车等[
研究者从人工智能软件系统的分析、测试、验证等方面对人工智能软件系统的质量保障进行了探索[
测试、验证等方法多样化的同时也产生了系统评估标准不统一的问题, 为此研究人员在基于传统软件评估指标基础上逐渐形成了人工智能软件系统的属性指标. 该指标的提出一方面加强了从业人员对人工智能软件系统的认知, 另一方面提高了人工智能软件系统的质量保障力度. 人工智能软件系统的软件属性是指其为帮助用户实现目标或处理问题所需要的条件, 也是人工智能软件系统及其组件要满足标准和规范所要具备的要求. 这些属性指标对人工智能软件系统的性能维护和质量保障起到指向性的重要作用, 具体可分为功能属性(functional attributes, FAs)和非功能属性(non-functional attributes, NFAs). 其中功能属性描述系统功能, 它是指人工智能软件系统为实现用户需求和业务需求所必须具备的能力. 而非功能属性反映系统质量、特性和约束. 作为功能属性的补充, 非功能属性是依赖于功能属性而存在的属性, 它们紧密约束和限制着人工智能软件系统, 对系统的质量保障具有非常重要的作用.
对人工智能软件系统使用非功能属性指标进行评估能指出系统存在的不足; 即人工智能软件系统需要在什么方面改进才能保障系统模型的质量. 当前研究中, 包括文献[
Common non-functional attributes in the field of artificial intelligence
人工智能领域常见非功能属性
目前王赞等人[
Research category of non-functional attributes
非功能属性研究范畴
为了对该研究问题进行系统的梳理和分析, 本文首先将“Non-Functional Attributes/Properties for Artificial Intelligence”“Robustness/Security/Data Privacy/Fairness/Interpretability/Usability of Artificial Intelligence”等设为搜索关键词, 在国内外重要的学术搜索引擎(例如Google学术搜索、Springer、DBLP、CiteSeerX、CNKI等)中检索出相关论文; 随后, 我们筛选并移除了与该综述问题无关的论文. 有3名熟悉人工智能软件系统的研究人员参与了这一过程, 并通过讨论来消除分歧; 接着, 通过查阅论文中的相关工作和研究人员的已发表的论文列表, 以及通过已搜索到的文献的引用和被引用获取更多相关论文; 本文最终确定并引用了有关论文138篇. 论文的发表时间概况如
Overview of papers’ publication time
论文发表时间概况
Proportion of papers with different non-functional attributes
不同非功能属性研究工作占比
本文第1节从属性定义、属性必要性、示例和常见质量保障方法几个方面对人工智能软件系统的非功能属性进行详细的总结梳理; 第2节对人工智能软件系统非功能属性进行归纳, 并对它们之间存在的关系进行探讨; 第3节对本文所列举的人工智能软件系统非功能属性的现有工具或开源项目进行总结; 第4节总结全文, 并展望非功能属性的未来研究方向和挑战.
在人工智能软件系统发展前期, 人们过于关注人工智能软件系统的功能属性, 从而对于非功能属性的认知远远低于功能属性, 这不利于对人工智能软件系统的认知和保障工作. 近年来, 人们越来越关注非功能属性的研究, 将其作为人工智能软件发展的新突破.
常见的人工智能软件系统功能属性有正确性(correctness)和过拟合程度(overfitting). 正确性是系统能够正确处理各种输入并产生正确输出的能力(概率)[
功能属性描述了人工智能软件系统所具有的实现各种需求的能力. 而非功能属性依赖于功能属性, 是系统特性和约束的表征. 人工智能软件系统常见的非功能属性有鲁棒性、安全性、数据隐私性、公平性、可解释性和可用性等. 本节将以属性定义、属性必要性、属性示例和常见质量保障方法4个方面对以上非功能属性进行详细的阐述.
当前, 不同的研究对鲁棒性(robustness)有不同的定义.
(1) 鲁棒性在IEEE软件工程标准术语中定义为[
因此, 鲁棒性衡量了人工智能软件系统对干扰的抵抗能力.
(2) Huber从统计学的角度系统地给出了鲁棒性3个层面的概念[
① 对于人工智能软件系统中所有学习模型的基本要求; 模型具有较高的精度或有效性;
② 对于模型所出现的较小偏差, 只能对算法性能产生较小的影响(主要是噪声, noise);
③ 对于模型所出现的较大偏差, 不可对算法性能产生“毁灭性”的影响(主要是离群点, outlier).
(3) 对抗鲁棒性是鲁棒性的常见类别, 其主要利用对抗性输入来增强系统的鲁棒性. 参照Katz等人[
首先是局部对抗鲁棒性, 假设:
局部对抗鲁棒性要求在给定输入的领域内的所有样本都使用相同的标签进行分类. 换言之, 局部对抗鲁棒性所关注的是对一个特定测试输入的鲁棒性, 而全局对抗鲁棒性是针对所有输入的鲁棒性.
全局对抗鲁棒性定义如下, 假设:
上述工作皆表明: 与正确性和过拟合程度不同, 鲁棒性是衡量系统在存在噪声干扰下的正确性[
鲁棒性是人工智能软件系统的一种重要非功能属性[
为更清楚地解释鲁棒性, 本文以汽车自动驾驶系统(autonomous driving system, ADS)为示例. PC Magazine将自动驾驶汽车定义为“由计算机控制的自动驾驶的汽车”[
就在人们欣喜于汽车自动驾驶系统的市场化时, ADS却经常暴露一些致命漏洞. 自动驾驶系统中的识别功能是汽车行驶过程中所做决策的重要依据之一, 包括了标志识别、人物识别和道路识别等. 但本田汽车公司所研发的汽车自动驾驶系统在一次测试中被发现; 日本拉面“天下一品”的商标和交通标志“禁止驶入”会被汽车错误识别为同一种标识; 在2018年亚利桑那州所发生的无人驾驶汽车致命事故[
当前人工智能软件系统鲁棒性质量保障的主流方法为对抗学习, 依据现有的工作可以将对抗学习分为以下2种.
(1) 对抗性样本生成
基于Szegedy等人[
(2) 对抗性学习训练
这类方法通过在人工智能软件系统模型优化过程中增加噪声、随机性或对抗性损失来实现, 目的是使训练后的模型更加鲁棒. 比如Gao等人通过识别和删除DNN模型中不必要的功能来限制攻击者生成对抗性样本的能力[
除对抗学习外, 还包括对人工智能软件系统鲁棒性建模和构建指标的方法. 比如Fawzi等人[
现有的针对人工智能软件系统鲁棒性的质量保障方法研究仍然存在一些方面的问题. 一方面是方法的研究方向比较单一, 主要的研究基本聚焦于通过对抗学习来提升系统的鲁棒性, 同时大部分研究在关于对抗攻击、数据集规模和消耗时间的权衡上也存在不足; 另一方面, 无论是对抗性样本的生成过程还是在对抗学习的训练过程中, 研究者们提出的算法过于地依赖某个特定的模型或环境, 虽然在该模型上能取得较好的效果, 但是算法在其泛用性和迁移性上存在一定的问题.
Zhang等人在其工作中将安全性定义为[
同鲁棒性相似的是, 安全性也存在抵御外部攻击的要求; 不同的是, 鲁棒性是衡量系统受干扰后保持自身正确性的能力, 安全性则衡量保护系统内部组件不受破坏或降低破坏程度的能力. 也就是说, 鲁棒性的衡量将依据噪声等因素干扰下系统的正确性的程度, 而系统安全性的评估则更多地依赖于外部攻击对模型本身的破坏程度.
人工智能软件系统的安全性公式定义如公式(4)所示, 假设:
自动驾驶汽车的市场化虽然令人期待, 但目前的自动驾驶系统仍然存在许多问题, 包括系统无法在任意环境中保持绝对的决策正确性以及无法在任何情况下保证系统组件和功能安全. 前者属于鲁棒性的研究动因, 后者属于本节安全性的研究范围.
可以说, 安全问题是自动驾驶系统研发试验的核心. 对于安全关键或任务关键领域的人工智能软件系统来说, 安全性一直是衡量系统性能的一个非常重要的指标.
以汽车自动驾驶系统为例, Uber和Tesla的自动驾驶汽车皆发生过由于识别系统故障而导致的严重交通安全事故. 频发的自动驾驶汽车事故, 引发了人们对于高风险人工智能应用的安全性担忧.
在传统的交通工具中, 汽车的行驶安全主要是人为操控, 再辅以另外一些安全功能(例如车道保持, 紧急制动等)设计, 以帮助和减少风险. 即人为控制和安全机制组成了传统汽车的安全保障体系. 在自动驾驶汽车中, 人工智能应用于包括感知、控制、路由等多个系统模块中. 自动驾驶系统采取的是归纳训练, 即没有明确的要求或设计见解. 这导致系统不可能涵盖所有未知案例, 当汽车行驶过程中出现未知案例时就有可能导致事故的发生.
当前自动驾驶汽车主要采用危险方位报警指示器来增加安全性, 采取了包括故障树分析(FTA)、向前向后搜索(FBS)、失效模式和影响分析(FMEA)、危险与可操作性研究(HAZOP)在内的多种组合算法和策略.
本小节将当前人工智能软件系统安全性质量保障的研究工作主要分为3类.
(1) 第1类对人工智能软件系统中常见的攻击方式进行研究, 以此来防御针对系统的大部分攻击.
第1种攻击为模型反演攻击. 当前许多互联网公司都推出了人工智能服务即开发平台, 为众多开发者提供便利的人工智能技术支持, 但同时也为攻击者提供了新的攻击方式. 由于模型是由一系列参数所决定, 攻击者可通过求解模型参数的攻击方式来实现模型剽窃, 从而对模型持有者造成损失. 这种攻击被称为模型反演攻击.
Tramèr等人[
第2种常见攻击方式是完整性攻击, 常见的完整性攻击有数据下毒攻击[
(2) 第2类从人工智能软件系统构建出发, 通过建立安全性论证体系、威胁分析及保护机制和安全性系统设计原则来加强人工智能系统的安全保障.
改进人工智能软件系统安全性贯穿于系统构建全过程. 即开发者要建立安全性论证体系; 识别相关的危害和安全要求、确定潜在的危害根源、针对每个危害制定一个缓解策略、提供证据证明缓解措施得到适当的实施.
在人工智能软件系统构建过程中, 开发者需要针对所设计的系统进行详尽的安全性考虑. 包括系统的安全需求(策略)、威胁模型分析、攻击面分析和系统保护机制分析. Papernot等人[
关于威胁模型, Suresh提出了建立威胁模型的5个步骤[
第1步是分析系统、定义外部实体和要保护的资产. 安全性设计的第1步是为了了解系统运行的环境以及攻击者所要攻击的资产目标. 以汽车自动驾驶系统为例, 资产包括系统固件、系统数据和学习模型等, 外部实体则包括了将与人工智能软件系统交互的用户和潜在的攻击者或对手.
第2步是识别潜在对手、攻击面和威胁. 对于大部分人工智能软件系统来说, 潜在对手主要为远程软件攻击者和网络攻击者, 除此之外还包括通常很容易被忽略的恶意内部攻击者和攻击方式非常复杂的高级硬件攻击者. 威胁和系统安全级别的设置主要根据攻击的严重性来决定的. 目前确定系统安全威胁一般使用STRIDE模型(欺骗身份、篡改数据、否认、信息泄露、拒绝服务和提升权限), 通过分析STRIDE威胁模型, 可以揭示应用程序的泄漏和被攻击的范围. Yang等人[
第3步是确定应对威胁的高级安全目标. 针对不同的对象, 开发者可以设定不同的安全目标来保持系统的6个安全要素; 保密性、完整性、可利用性、真实性、安全生命周期以及不可否认性. 依据对人工智能软件系统发起的攻击类型来判断每个要素的风险. 基于以上信息, 开发者就基本可以确定人工智能软件系统将面对的威胁和可采取的对策.
第4步是为每个安全目标定义安全需求. 例如从“安全生命周期”的目标出发, 开发者可以确定系统的最小权限和孤立性原则、维持安全的系统状态、系统访问控制策略以及安全系统的初始化执行.
第5步是将所有信息整合进威胁摘要表. 将基于前4步工作得到的信息合并到威胁摘要表中, 最终得到当前人工智能软件系统的威胁模型.
开发者在设计系统时须遵守基本的安全设计原则.
● 最小权限原则; 应该给予系统组件实现其功能所需的最低权限. 目的是最大限度地降低受损组件的影响.
● 孤立性原则; 组件之间的交互作用不应超过必要的程度. 目标是减少可信计算基数(TCB)的大小.
最小权限原则将通过减少每个系统组件的非必要权限, 防止高权限组件受损引发系统崩溃. 即防止如
The principle of least privilege
最小权限原则
孤立性原则要求尽量降低组件间的耦合度, 减少人工智能软件系统TCB (trusted computing base)的大小. 如
The principle of Isolation
孤立性原则
(3) 第3类工作致力于为人工智能软件系统设计特定于任务的自定义安全协议.
由于经典的通用安全计算协议无法扩展至现实世界的人工智能应用中, 为了解决这个问题, 机器学习领域近几年的工作结合了不同的安全计算基数来设计特定于任务的自定义协议. 包括约束优化[
现有的针对人工智能软件系统安全性的质量保障方法研究存在几个不足. 首先, 虽然现有的研究已经提出了各种方法来增强人工智能软件系统的安全性, 但是对于安全性基准的研究依然缺少. 例如当研究人员在不同工作中使用了不同数据集时, 很难比较这些方法的优缺点. 其次, 过高的安全性将会带来更大的算法开销、更低的泛化性能问题, 这3个方面如何进行适当的平衡是在设计和构建人工智能软件系统时需要注意的.
人工智能软件系统中的隐私性(privacy)是系统保留私有数据信息的能力[
对于数据隐私性的公式定义, 本文采用Dwork等人工作中的差分隐私来定义[
基于上述定义, 可知差分隐私可以确保
在传统的机器学习领域, 研究者们关注模型对于结果预测的准确性, 同时又希望模型在不同场景中都有较强的泛化能力(指应用能力). 但在大数据时代, 数据的来源是复杂且敏感的, 个人的数据信息将直接同个人的隐私相关. 模型在增强泛化能力的同时扩大了使用范围也增加了泄露数据和信息的危险度.
为此欧盟通用数据保护法规(GDPR)[
人工智能已经形成了一个商业模式, 机器学习即服务(MLaaS)领域的发展和应用为大量非专业的数据持有者提供了构建私有模型的快捷方式, 但随之也增加了用户隐私暴露的危险性. 原因在于数据持有者在使用MLaaS时可能使用到攻击者设计的可窃取数据的预训练模型, 攻击者可以通过解码模型参数轻松得到用户的隐私数据. 文献[
在医学领域中, 人工智能技术主要被用于医疗诊断和药物推荐. 训练模型所需的大量医疗数据和病人的隐私信息联系紧密, 因而保护这些数据的隐私性是必要的. 但是, Fredrikson等人在2014年针对药物推荐系统的研究工作却发现可以通过基于机器学习模型和病人的人口属性统计信息逆向推理得到病患的遗传资料[
除医学行业以外, 数据的隐私性对于汽车行业也是非常重要的. 未来自动驾驶汽车市场化后, 汽车行业将不仅成为数据的消费者, 还将成为数据的主要生产者. 据Google公司统计, 在其自动驾驶汽车实验中, 平均一辆汽车每秒产生了超过1 GB的数据. 如此庞大的数据涉及到汽车使用者非常详细的个人隐私信息, 这些数据对于汽车制造商、移动运营商、保险公司、酒店和其他希望与自动驾驶汽车或汽车使用者打交道的服务和产品提供者来说, 具有巨大的价值.
目前人工智能软件系统数据隐私性的质量保障有以下几种常见方法.
(1) 对数据进行匿名化处理
这类方法主要用于一些涉及微数据的应用程序(包括医学数据保护方面), 大多基于系统全局记录、本地记录和群集的匿名化方式使得系统中的数据记录无法相互区分来达到隐私保护的目的. Sweeney等人提出了一种名为k-anonymity的隐私保护模型[
(2) 防御数据窃取攻击的方法
相比其他领域, 机器学习体系结构更容易获得, 但是想要质量较高的标记数据进行训练的成本却是更高. 一般通过云服务上的预训练模型能够产生这些昂贵的标记数据, 但是也会使得攻击者能够复制模型来得到这些标记数据. 为了应对这个问题, 研究者们提出通过省略类别概率来限制基于云的模型所提供的信息, 但是这种方法会极大地影响模型的实用性. Papernot等人提出了一种窃取神经网络模型以生成对抗性示例的方法[
(3) 为人工智能模型制定隐私保护协议
Gascón等人[
现有的针对人工智能软件系统数据隐私性的质量保障方法研究存在几个不足. 首先, 由于人工智能系统的复杂程度非常高, 在系统数据的保护过程中掺杂了对庞大模型参数的密码计算, 使得现有针对人工智能软件系统的数据隐私保护效率较低, 在实时运行的人工智能系统中尤其明显. 其次, 对数据本身的加密保护是提高人工智能软件系统数据隐私性的常见方法, 与之相比较, 在模型的训练和推理阶段的隐私性研究则略显不足[
Corbett-Davies等人将需要保护以防止导致不公平的特征称为受保护特征或受保护属性和敏感属性[
目前有许多的工作[
(1) 一般公平性: 一般性公平是指只要
(2) 群体公平性: 群体公平性是指基于受保护属性所选择的群体所作的决策概率相等. 群体公平性中有两种常见的公平标准类型:
① 人口均等公平性[
其中,
② 机会均等公平性和均等赔率公平性: 这种群体公平性是Hardt等人提出的[
这意味着对于受保护和不受保护的群体, 积极类别中的群体被正确分配为积极结果的可能性和负面类别中的群体被错误分配为积极结果的可能性都应相同[
当决策结果的标签
这意味着对于受保护和不受保护的群体, 积极类别的群体被分配为积极结果的可能性应该相等[
(3) 个体公平性: 个体公平性是指群体中的相似个体在相同敏感属性环境中所做决策相同. Dwork等人在其工作[
其中,
公平性也是属于人工智能软件系统的一个非常重要的属性. 以机器学习为例, 机器学习算法被广泛用于电影推荐、贷款申请[
人工智能软件系统的不公平将会导致两个后果. 第1种危害是影响社会资源或机会的公平分配[
肤色和性别是人工智能软件系统最常见的不公平特征. 类似的研究有: Buolamwini等人[
公平性问题在自动驾驶系统中主要表现为两类伦理问题. 第1类是当面临危险情况时, 不同人群的保护优先级问题. 这一类属于哲学中经典的火车司机困境问题; 即在车辆无法刹车时, 自动驾驶系统选择向前行驶撞向5个行人还是转向岔道撞向一人. 第2类是在法律或道德的约束下, 不同人群对系统的使用权限问题. 这一类的示例是车上乘客突发疾病, 自动驾驶系统是否可以为了把乘客及时送到医院进行闯红灯等操作. 两类伦理问题如何有效地消除已成为汽车自动化驾驶系统市场化的迫切需求.
本节从不公平性来源、模型训练过程的公平操作和公平系统设计要求3个方面对人工智能系统公平性质量保障进行梳理, 同时总结了当前人工智能软件系统公平性质量保障的常见方法, 包括中间表示、竞争学习、因果分析、公平测试和不公平缓解.
了解系统不公平的原因有利于研究者从源头对其进行消除和遏制. 根据Barocas等人的工作[
(1) 倾斜的样本: 一旦样本发生指向性的初始偏差, 这种偏差可能会随着时间的流逝而加剧;
(2) 被污染的标签: 数据标签由于人为打标签的偏向性而产生偏差;
(3) 有限的特征: 可能缺乏充足的信息或无法可靠地收集特征, 从而在建立特征与标签之间的联系时误导了模型;
(4) 样本规模的差异: 如果少数群体和多数群体的数据高度不平衡, 则很难很好地模拟少数群体;
(5) 代理: 某些特征是敏感属性的代理, 即使排除了敏感属性也可能导致模型出现偏差.
模型的训练过程是人工智能软件系统构建的核心步骤, 在训练阶段增加一些操作来保障模型的公平性是很有必要的. 例如在对数据进行预处理时, 要清理数据集以减少特征集和敏感属性之间的相关性; 在训练模型的过程中可以给模型增加约束, 例如奇偶校验约束, 因为模型的训练过程就是一个约束优化的过程; 在对系统进行后期处理时, 要注意调整训练的模型使其与敏感属性不相关.
除此之外, 公平系统还需将实际的使用环境和使用人群信息考虑到系统的设计要求中, 使各种环境中的各种使用者不会产生受歧视的心理. 公平系统的设计要求包括:
● 识别所有的环境实体: 考虑所有的利益相关者, 包括他们的背景和特征.
● 保证系统对于环境的状态需求(REQ): 比如系统应具备什么功能和质量属性?系统可能产生什么样的危害?是否符合当地法律及政策的规定?
● 识别环境和系统之间的接口: 什么样的数据将被人工智能软件系统感知?人工智能软件系统将执行什么类型的动作?
● 确定环境假设(ENV): 利益相关者如何与系统互动?互动的对抗性、滥用性以及不公平的互动行为导致怎样后果?
● 制定足以满足REQ的软件规范(SPEC): 主要包含人工智能软件系统应该努力实现哪种类型的公平性?
● 测试环境规格是否符合要求: 持续监控公平性指标并定时产生用户报告.
以下列举近年来研究人员对公平性探索的一些工作.
(1) 中间表示、竞争学习
Dwork等人在文献[
(2) 因果分析
人工智能软件系统的过去数据可能存在偏差, 由此可能导致在一些诸如保险、贷款、雇用和预测性警示等领域产生具有法律或道德后果的不公平性决策. 对此, Kusner等人[
Johnson等人提出的Themis方法通过使用因果分析来考虑群体公平性[
(3) 公平测试
Tramer等人[
(4) 不公平缓解
在最新的一些工作中, 研究者将发现不公平现象后实施的缓解措施作为新的研究方向. 例如Biswas等人[
现有的针对人工智能软件系统公平性的质量保障方法研究仍然存在一些问题. Caton等人[
与公平性不同, 为人工智能软件系统可解释性下定义的工作并不多. 本文参照Biran等人[
在如
The black box algorithm
黑盒算法
参考对公平性的定义, 对人工智能软件系统的可解释性进行公式表示; 使用
其中,
Zhang等人在[
(1) 透明度, 即模型如何工作;
(2) 事后解释, 即其他可以从模型中得出的信息, 包括模型决策的解释.
人工智能软件系统的可解释性改善并不是一个新研究. 但越来越庞大和复杂的模型使人们很难用人类的语言来解释系统为什么会做出某种决定(即决策的不透明化). 这是一些人工智能工具在有可解释性需求的应用领域中使用率仍然很低的原因之一. 尤其是人们又证明了DNN很容易被“愚弄”而发生错误[
此外, 随着人工智能应用的扩展和相关法律法规的完善将会激发对更可解释的人工智能软件系统的需求. 例如自2018年起生效的《通用数据保护条例》(GDPR)[
增强人工智能软件系统的可解释性意义重大. 一方面, 它能够使得人类理解某些人工智能软件系统做出最终决策的逻辑和原因, 另一方面能加深人类对系统决策建立的信任, 同时也能尽量避免系统决策所造成的安全问题.
Hamon等人在文献[
而在汽车自动驾驶系统中, 人工智能软件系统的可解释性不仅表现为正常情况下汽车行驶决策的可解释程度, 还包括极端情况下决策的可解释程度. 用户一般对前者的可理解程度较高, 因为在一般情况下汽车的行驶决策是依照安全要求和遵守交通规则所作出的. 与之相比极端情况下的决策就比较难以解释, 但是充分理解极端情况的决策对于司机和他人的安全又是极为重要的.
本节从降低模型复杂性、提高模型透明度和构建易解释网络等几个方向来梳理总结当前人工智能软件系统的可解释性质量保障研究工作.
(1) 降低模型复杂性、提高模型透明度
常用的深度网络使用大量的基本计算操作来得出决策; 例如, ResNet[
第1种是代理模型. Ribeiro等人[
第2种方法是决策树. 最早是从20世纪90年代开始将神经网络分解为决策树, 一开始主要集中在浅层网络研究, 之后逐渐推广到深度神经网络. Zilke等人的DeepRED[
第3种方法是显著图. Zeiler等人的遮挡程序[
第4种方法是自动规则提取, 这是一种能够提高神经网络透明度的方法, Andrews等人[
(2) 构建易解释网络
此外, Leilani等人在文献[
第1种网络是注意力网络. 基于注意力的网络学习提供对输入信息或内部特征进行加权的功能, 以引导信息对网络的其他部分可见. 基于注意力的方法在解决很多问题上取得了显著的成功, 例如允许自然语言翻译模型以合适的非顺序结构处理单词等. 注意力网络也被应用于医学图像诊断[
第2种是分离式表征. 分离式表征具有描述独立变异因素的个体维度, 但分离潜在因素一直是研究的难题, 以往是通过使用主成分分析[
第3种是解释生成. 主要是人工智能软件系统自动设计生成人类可理解的解释语句. 该方法已经在视觉问答系统[
(3) 反事实推理
Wachter等人[
现有的针对人工智能软件系统可解释性的质量保障方法研究存在几个不足. 首先是针对复杂人工智能系统特别是大型DNN系统所做决策的可解释性和理论理解水平仍处于起步阶段, 对多层高度复杂的系统决策无法作出令人满意和信服的解释[
ISO 9241标准将可用性(Usability)定义为“产品被指定用户在指定使用环境中以有效性、效率和满意度实现指定目标的程度”[
(1) 有效性(effectiveness,
(2) 效率(efficiency,
(3) 满意度(satisfaction,
从用户体验角度来说, 有效性要求人工智能软件系统能对用户符合要求的输入产生达到用户期望的输出, 和功能属性中正确性不同的是, 有效性要求模型的输出是合乎用户期望、合乎逻辑的输出, 正确性则是要求模型的输出必定正确; 人工智能软件系统的效率是指系统对用户输入的响应时间, 因而具有优异可用性的人工智能软件系统必须能对用户的请求作出及时的处理. Baeza-Yates等人[
本文对人工智能软件系统的可用性用公式(11)表示, 假设:
国际标准ISO 10289对产品质量制定了严密的评估标准, 包括外部质量、内部质量和使用质量[
一项调查B2B网站用户流失原因的工作[
本节将从可用性系统设计要求和可用性系统测试及改进两个方面对当前人工智能软件系统的可用性质量保障进行梳理.
(1) 可用性系统设计
可用性人工智能软件系统设计要求是开发人员对目标系统的技术描述、功能描述和缺陷描述, 是可用性系统的规范, 通常需要考虑4个方面: 用户需求、心智模型的构建、差错处理和系统的反馈与控制.
第1个是用户需求. 用户需求的建立是实现人工智能软件系统可用性的核心一环, 但其存在两个注意点. 首先要确定用户想要完成的任务的需求, 其次需对这些任务在自动化或者增强执行之间做出选择; 在一些用户缺乏执行任务的知识、能力或缺乏趣味的任务中可以采用自动化执行的方式, 例如系统的预测任务; 在一些难以传达用户对系统需求的任务中可以采用增强执行的方式, 例如汽车的驾驶任务.
第2个是心智模型的构建. 心智模型是为解释人同外界心理活动过程而构造的一种对比性的描述. 人们常用它来了解周围世界并同周围环境进行互动. 心智模型是根植于人的内心, 它影响着个人采取的行动、建立的假设、持有的成见. 建立一个和人工智能软件系统情况相符的心智模型能够为系统提供有效的指导行动, 从而增加用户对于系统可用性的正面评价; 相反, 当用户的心智模型与人工智能软件系统情况不相符时, 会让用户产生一种个人构想无法实现的落差感, 使得用户的满意度降低. 构建心智模型的目标是为了对人类的思维信息构建和处理机制进行研究和探索, 同时也为提升相应的人工智能软件系统的可用性提供新的体系结构和技术方法. 需要注意几点: (1) 用户对系统的看法, 这在很大程度上反映用户的满意程度; (2) 根据模型来计划系统执行动作; (3) 保持系统与用户的心理模型一致, 这是由于用户的心智模型随着时间的推移而不断变化; (4) 构建简易模型, 设计者可以根据先前的经验快速搭建一个粗略的用户模型来减少构建周期.
第3个是差错处理. 差错处理是纠正系统故障的一环, 差错处理的实现主要分为4个步骤: 1) 定义错误和故障, 错误主要分为用户错误和系统错误; 前者是用户自己所犯的错误(例如点击了错误的按键), 后者是系统无法提供正确的结果(例如推荐系统向用户推荐了糟糕的电影); 2) 检测并记录错误的发生; 3) 识别错误的来源, 例如用户错误可能是不匹配的心智模型或者糟糕的用户体验设计导致的, 系统错误可能是模型精度差、训练数据有问题导致的; 4) 提供可操作的错误处理指南.
最后一个环节为反馈和控制, 系统直接或间接地收集用户的反馈数据能够帮助系统提高可用性. 反馈数据的收集分为隐式反馈和显式反馈, 隐式反馈是指系统收集的用户行为数据, 例如一天中的使用时间、点击方式等; 显式反馈是由用户提示或主动提供的调查、评分、反馈表格等方式收集的反馈信息. 反馈的设计注意要将反馈与改进人工智能交互结合起来, 要尽可能地减少从确认用户反馈到系统响应的时间, 最后还需为用户提供一种调整人工智能行为的控制方式.
(2) 可用性系统测试及改进
经验用户测试作为一种开发可用系统的标准技术被广泛使用, 它主要是通过实际用户来测试系统从而确定系统存在的可用性方面问题. 虽然很多人认为在严谨使用时, 这种可以表达人为主观态度的方法确实有用, 但在实际软件系统开发中, 尤其在难以获得领域专家意见时, 经验用户测试成本过于昂贵和缓慢. 为此Card等人[
对人工智能软件系统效率的改进是提高可用性的常见方法, 大多集中于数据[
现有的针对人工智能软件系统可用性的质量保障方法研究仍然存在一些问题. 首先是对于可用性3个维度的研究存在一定的偏重, 对于有效性和满意度的研究远不如效率维度的研究丰富; 其次, 虽然当前可以利用经验用户测试方法和GLEAN工具对人工智能软件系统可用性进行评估, 但仍然存在成本高、耗时多的缺点, 并且在评估标准上也缺少统一性的指标.
人工智能非功能属性涉及人工智能软件系统评估标准, 通常与训练后的人工智能软件系统学习模型的行为有关. 虽然已有工作对人工智能软件系统的非功能属性进行了一定程度的研究[
非功能属性的总结见
Summary of non-functional attributes
非功能属性小结
名称 | 定义/种类 | 重要性描述 | 常见质量保障方法 |
鲁棒性 | 人工智能软件系统发生故障时仍然能较好地完成预定工作 | 衡量人工智能软件系统受到外部干扰时维持自身正确性的能力 | 对抗性样本[ |
安全性 | 人工智能软件系统能够避免或减少攻击以保护自身安全 | 衡量人工智能软件系统抵御外部攻击保护系统内部组件不受破坏或降低破坏程度的能力 | 针对模型反演的研究[ |
数据隐私性 | 人工智能软件系统能够保护自身数据安全 | 衡量人工智能软件系统保留私有数据信息的能力 | 数据匿名化[ |
公平性 | 人工智能软件系统所做决策对一切有关的事物公正、平等的对待、公平分配 | 衡量人工智能软件系统独立于敏感属性所做决策的能力 | 中间表示和公平测试[ |
可解释性 | 利益相关者对人工智能软件系统决策原因的理解程度 | 衡量人工智能软件系统所做决策易于理解的能力 | 代理模型[ |
可用性 | 用户对人工智能软件系统有效性、效率和满意的评估 | 衡量人工智能软件系统满足用户需求和便宜操作的能力 | 可用性测试[ |
从
非功能属性之间关系如
Relationships of non-functional attributes
非功能属性间关系
Analysis of non-functional attributes’ relationships
非功能属性关系分析
属性1 | 属性2 | 关系(促进/阻碍/尚无明确定义) | 相关工作 |
鲁棒性 | 安全性 | 促进 | Gehr等人[ |
公平性 | 促进 | Yeom等人[ |
|
可解释性 | 促进 | Ross等人[ |
|
安全性 | 鲁棒性 | 促进 | Gehr等人[ |
可用性 | 阻碍 | Braz等人[ |
|
数据隐私性 | 鲁棒性 | 阻碍 | Phan等人[ |
安全性 | 促进 | Papernot等人[ |
|
可用性 | 阻碍 | Arul等人[ |
|
公平性 | 可解释性 | 阻碍 | Kleinberg等人[ |
可用性 | 阻碍 | Manavalan等人[ |
|
可解释性 | 数据隐私性 | 阻碍 | Troiano等人[ |
公平性 | 阻碍 | Kleinberg等人[ |
|
可用性 | 促进 | Niemöller等人[ |
|
可用性 | 安全性 | 阻碍 | Braz等人[ |
数据隐私性 | 阻碍 | Arul等人[ |
|
公平性 | 阻碍 | Manavalan等人[ |
为了更好地支持研究者对人工智能软件系统的非功能属性进行研究分析, 本文除了将各非功能属性作为关键词在例如Google学术搜索、Springer、DBLP等国内外重要的学术搜索引擎搜索之外, 还在例如Github等开源社区上对相关工作中用到的开源工具或开源项目进行了统计, 具体分析结果见
Summary of existing tools or open source projects
现有工具/开源项目总结
工具/项目名称 | 覆盖非功能属性 | 编程语言 | 发表时间 | 相关论文 | 下载地址 |
PRODeep | 鲁棒性 | C++ | 2020 | [ |
|
MAGICAL | 鲁棒性 | Python | 2020 | [ |
|
Fairness | 公平性 | R语言 | 2019 | - |
|
AIF360 | 公平性 | Python/R语言 | 2018 | [ |
|
Aequitas | 公平性 | Python | 2018 | [ |
|
Fairness Measures | 公平性 | Python | 2017 | [ |
|
Audit AI | 公平性 | Python | 2019 | - |
|
Black-Box Ripper | 安全性/可解释性 | Python | 2020 | [ |
|
GAN-Leaks | 数据隐私性 | Python | 2020 | [ |
|
Influence Functions | 可解释性 | Python | 2020 | [ |
|
随着人工智能软件系统被越来越广泛地应用于不同领域, 尤其是在一些安全攸关的领域, 人工智能软件系统的质量也受到人们的重视. 本文提供了针对人工智能软件系统中常见非功能属性的综述, 具体来说, 从非功能属性的定义、必要性、示例和常见质量保障方法这4个方面对该领域进行了系统的梳理. 最后, 对人工智能软件系统常见非功能属性之间的关系进行了详细的分析, 并总结了现有开源工具和开源项目, 希望能对相关领域的研究提供帮助.
尽管目前已经有很多的工作围绕着人工智能软件系统非功能属性进行展开, 但是该领域仍然面临着许多不足和挑战. 本文将对现存的主要问题和挑战进行概括, 以期未来有更多的研究围绕这些问题和挑战进行, 从而进一步保障人工智能软件系统的质量.
(1) 目前的工作大多偏向于鲁棒性和安全性等表现较为直观的非功能属性, 对于一些难以直接表示的非功能属性, 诸如可用性等属性的工作相对而言较少.
(2) 现有的非功能属性定义的泛用性相差较大, 例如人工智能软件系统的公平性. 由于公平性与具体领域相关, 例如信贷、教育、就业和住房等, 因此难以形成较为统一的共识.
(3) 虽然现在对人工智能属性的研究一般采用独立处理的办法, 但是考虑其根本原因时, 这些属性并不是严格相互独立的. 目前比较缺少对属性之间相关性的研究, 缺少总结分析非功能属性间关系的工作.
http://www.jos.org.cn/1000-9825/5951.htm]]>
http://www.jos.org.cn/1000-9825/5951.htm]]>
https://www.ccf.org.cn/Media_list/cncc/2020-10-11/709302.shtml]]>
https://www.ccf.org.cn/Media_list/cncc/2020-10-11/709302.shtml]]>
Zhang JM, Harman M, Ma L, Liu Y. Machine learning testing: Survey, landscapes and horizons. IEEE Transactions on Software Engineering, 2022, 48(1): 1–36. [doi: 10.1109/TSE.2019.2962027]
Vinayagasundaram B, Srivatsa SK. Software quality in artificial intelligence system. Information Technology Journal, 2007, 6(6): 835–842. [doi: 10.3923/itj.2007.835.842]
Mehrabi N, Morstatter F, Saxena N, Lerman K, Galstyan A. A survey on bias and fairness in machine learning. ACM Computing Surveys, 2022, 45(6): 115. [doi: 10.1145/3457607]
Chen WJ, Gallas BD, Yousef WA. Classifier variability: Accounting for training and testing. Pattern Recognition, 2012, 45(7): 2661–2671. [doi: 10.1016/j.patcog.2011.12.024]
Chen WJ, Samuelson FW, Gallas BD, Kang L, Sahiner B, Petrick N. On the assessment of the added value of new predictive biomarkers. BMC Medical Research Methodology, 2013, 13: 98. [doi: 10.1186/1471-2288-13-98]
Hawkins DM. The problem of overfitting. Journal of Chemical Information and Computer Sciences, 2004, 44(1): 1–12. [doi: 10.1021/ci0342472]
Chan HP, Sahiner B, Wagner RF, Petrick N. Classifier design for computer-aided diagnosis: Effects of finite sample size on the mean performance of classical and neural network classifiers. Medical Physics, 1999, 26(12): 2654–2668. [doi: 10.1118/1.598805]
Sahiner B, Chan HP, Petrick N, Wagner RF, Hadjiiski L. Feature selection and classifier performance in computer-aided diagnosis: The effect of finite sample size. Medical Physics, 2000, 27(7): 1509–1522. [doi: 10.1118/1.599017]
Fukunaga K, Hayes RR. Effects of sample size in classifier design. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1989, 11(8): 873–885. [doi: 10.1109/34.31448]
Shahrokni A, Feldt R. A systematic review of software robustness. Information and Software Technology, 2013, 55(1): 1–17. [doi: 10.1016/j.infsof.2012.06.002]
Afzal W, Torkar R, Feldt R. A systematic review of search-based testing for non-functional system properties. Information and Software Technology, 2009, 51(6): 957–976. [doi: 10.1016/j.infsof.2008.12.005]
https://www.pcmag.com/encyclopedia/term/self-driving-car]]>
https://community.arm.com/iot/b/internet-of-things/posts/five-steps-to-successful-threat-modelling]]>
McGraw G. Software security. IEEE Security & Privacy, 2004, 2(2): 80–83. [doi: 10.1109/MSECP.2004.1281254]
Gollmann D. Computer security. WIREs Computational Statistics, 2010, 2(5): 544–554. [doi: 10.1002/wics.106]
3: A mixed protocol framework for machine learning. In: Proc. of the ACM SIGSAC Conf. on Computer and Communications Security. Toronto: ACM, 2018. 35–52.]]>
https://en.wikipedia.org/wiki/California_Consumer_Privacy_Act]]>
Sweeney L.
高爱强, 刁麓弘. 医疗数据发布中属性顺序敏感的隐私保护方法. 软件学报, 2009, 20(S1): 314–320.
Gao AQ, Diao LH. Privacy preservation for attribute order sensitive workload in medical data publishing. Journal of Software, 2009, 20(S1): 314−320 (in Chinese with English abstract).
Gascón A, Schoppmann P, Balle B, Raykova M, Doerner J, Zahur S, Evans D. Privacy-preserving distributed linear regression on high-dimensional data. Proceedings on Privacy Enhancing Technologies, 2017, 2017(4): 345–364. [doi: 10.1515/popets-2017-0037]
https://www.upturn.org/reports/2018/hiring-algorithms/]]>
Sweeney L. Discrimination in online ad delivery. Communications of the ACM, 2013, 56(5): 44–54. [doi: 10.1145/2447976.2447990]
https://www.propublica.org/article/machine-bias-risk-assessments-in-criminal-sentencing]]>
Barocas S, Selbst AD. Big data's disparate impact. California Law Review, 2016, 104: 671–732. [doi: 10.2139/ssrn.2477899]
Berk R, Heidari H, Jabbari S, Kearns M, Roth A. Fairness in criminal justice risk assessments: The state of the art. Sociological Methods & Research, 2021, 50(1): 3–44. [doi: 10.1177/0049124118782533]
Chouldechova A. Fair prediction with disparate impact: A study of bias in recidivism prediction instruments. Big Data, 2017, 5(2): 153–163. [doi: 10.1089/big.2016.0047]
Kleinberg J, Ludwig J, Mullainathan S, Rambachan A. Algorithmic fairness. Aea Papers and Proceedings, 2018, 108: 22–27. [doi: 10.1257/pandp.20181018]
Miller T. Explanation in artificial intelligence: Insights from the social sciences. Artificial Intelligence, 2019, 267: 1–38. [doi: 10.1016/j.artint.2018.07.007]
Augasta MG, Kathirvalavakumar T. Reverse engineering the neural networks for rule extraction in classification problems. Neural Processing Letters, 2012, 35(2): 131–150. [doi: 10.1007/s11063-011-9207-8]
Schmitz GPJ, Aldrich C, Gouws FS. ANN-DT: An algorithm for extraction of decision trees from artificial neural networks. IEEE Transactions on Neural Networks, 1999, 10(6): 1392–1401. [doi: 10.1109/72.809084]
Andrews R, Diederich J, Tickle AB. Survey and critique of techniques for extracting rules from trained artificial neural networks. Knowledge-Based Systems, 1995, 8(6): 373–389. [doi: 10.1016/0950-7051(96)81920-4]
Hyvärinen A, Oja E. Independent component analysis: Algorithms and applications. Neural Networks, 2000, 13(4–5): 411–430. [doi: 10.1016/S0893-6080(00)00026-5]
Berry MW, Browne M, Langville AN, Pauca VP, Plemmons RJ. Algorithms and applications for approximate nonnegative matrix factorization. Computational Statistics & Data Analysis, 2007, 52(1): 155–173. [doi: 10.1016/j.csda.2006.11.006]
Wachter S, Mittelstadt B, Russell C. Counterfactual explanations without opening the black box: Automated decisions and the GDPR. Harvard Journal of Law & Technology, 2018, 31(2): 841–887. [doi: 10.2139/ssrn.3063289]
Carvalho DV, Pereira EM, Cardoso JS. Machine learning interpretability: A survey on methods and metrics. Electronics, 2019, 8(8): 832. [doi: 10.3390/electronics8080832]
Ardito C, Costabile MF, De Marsico M, Lanzilotti R, Levialdi S, Roselli T, Rossano V. An approach to usability evaluation of e-learning applications. Universal Access in the Information Society, 2006, 4(3): 270–283. [doi: 10.1007/s10209-005-0008-6]
Ponce P, Balderas D, Peffer T, Molina A. Deep learning for automatic usability evaluations based on images: A case study of the usability heuristics of thermostats. Energy and Buildings, 2018, 163: 111–120. [doi: 10.1016/j.enbuild.2017.12.043]
Musliner DJ, Hendler JA, Agrawala AK, Durfee EH, Strosnider JK, Paul CJ. The challenges of real-time AI. Computer, 1995, 28(1): 58–66. [doi: 10.1109/2.362628]
Card SK, Moran TP, Newell A. Computer text-editing: An information-processing analysis of a routine cognitive skill. Cognitive Psychology, 1980, 12(1): 32–74. [doi: 10.1016/0010-0285(80)90003-1]
https://apps.dtic.mil/sti/pdfs/ADA309174.pdf]]>
Kaur J, Mann KS. AI based healthcare platform for real time, predictive and prescriptive analytics using reactive programming. In: Journal of Physics: Conf. Series, 2017, 933: 012010. [doi: 10.1088/1742-6596/933/1/012010]
Troiano L, Rodríguez-Muñiz LJ, Ranilla J, Díaz I. Interpretability of fuzzy association rules as means of discovering threats to privacy. International Journal of Computer Mathematics, 2012, 89(3): 325–333. [doi: 10.1080/00207160.2011.613460]
Niemöller J, Washington N. Subjective perception scoring: Psychological interpretation of network usage metrics in order to predict user satisfaction. Annals of Telecommunications, 2017, 72(7–8): 431–441. [doi: 10.1007/s12243-017-0575-6]
https://fairnessmeasures.github.io/Pages/About]]>