近年来,以机器学习算法为代表的人工智能技术在计算机视觉、自然语言处理、语音识别等领域取得了广泛的应用,各式各样的机器学习模型为人们的生活带来了巨大的便利.机器学习模型的工作流程可以分为三个阶段.首先,模型接收人工收集或算法生成的原始数据作为输入,并通过预处理算法(如数据增强和特征提取)对数据进行预处理.随后,模型定义神经元或层的架构,并通过运算符(例如卷积和池)构建计算图.最后,模型调用机器学习框架的函数功能实现计算图并执行计算,根据模型神经元的权重计算输入数据的预测结果.在这个过程中,模型中单个神经元输出的轻微波动可能会导致完全不同的模型输出,从而带来巨大的安全风险.然而,由于对机器学习模型的固有脆弱性及其黑箱特征行为的理解不足,研究人员很难提前识别或定位这些潜在的安全风险,这为个人生命财产安全乃至国家安全带来了诸多风险和隐患.研究机器学习模型安全的相关测试与修复方法,对深刻理解模型内部风险与脆弱性、全面保障机器学习系统安全性以及促进人工智能技术的广泛应用有着重要意义.**本文从不同安全测试属性出发,详细介绍了现有的机器学习模型安全测试和修复技术,总结和分析了现有研究中的不足,探讨针对机器学习模型安全的测试与修复的技术进展和未来挑战,为模型的安全应用提供了指导和参考.**本文首先介绍了机器学习模型的结构组成和主要安全测试属性,随后从机器学习模型的三个组成部分—数据、算法和实现,六种模型安全相关测试属性—正确性、鲁棒性、公平性、效率、可解释性和隐私性,分析、归纳和总结了相关的测试与修复方法及技术,并探讨了现有方法的局限.最后本文讨论和展望了机器学习模型安全的测试与修复方法的主要技术挑战和发展趋势.
https://www.ejournal.org.cn/CN/10.12263/DZXB.20220821
**1 引言 **
近年来,以机器学习算法为代表的人工智能技术 不断地发展创新,并在计算机视觉[1~3]、自然语言处 理[4~6] 、语音识别[7~9] 、智能医疗[10~12] 等任务上取得了成 功. 成熟的人工智能技术已然“走出实验室”[13] ,进一步 惠及人类生产与生活的多个方面. 根据预测,全球人工 智能市场总额将在 2019 年到 2026 年间从 5.69 亿美元 增长到 19.54 亿美元[14] . 如今,开发人员可以轻松地借 助TensorFlow[15] ,PaddlePaddle[16] ,MXNet[17] ,PyTorch[18] 等人工智能框架在各种平台上开发并部署自定义的机 器学习模型,并实现不同的功能. 普通用户也可以受益 于谷歌[19] 、百度[20] 等厂商提供的人工智能服务,涵盖图 像识别、语音助手、智慧医疗等多个领域 . 得益于各类 人工智能理论与工具的发展,机器学习算法与模型正 在全球范围内大规模地部署应用.
然而,随着各类人工智能技术的发展与应用,其核 心机器学习模型的安全隐患也逐步暴露,引发了人们 对机器学习模型可信性的担忧 . 2016 年,Propublica 报 道了一起机器学习公平性导致的犯罪预测歧视问题 . 相似的犯人仅仅因为人种差异,在机器学习模型驱动 的犯罪预测系统中得到了截然不同的风险等级,这最 终可能导致恶劣的歧视事件[21] . 2018 年美国亚利桑那 州发生的 Uber 无人车事故中,基于机器学习的自动驾 驶的无人车未能检测到行人,最终导致行人被撞身 亡[22] . 2019年,亚马逊智能音箱Alexa被曝出安全风险, 音箱中语音助手发布消极言论并劝告用户轻生,迫使亚马逊紧急调查并进行修复[23] . 这些恶性事件的根本 原因在于机器学习模型中存在的安全隐患与漏洞问 题 . 机器学习模型中个别神经元的输出轻微浮动便可 能导致截然不同的输出结果,而结果的变化可能带来 巨大安全风险. 然而由于模型黑盒特性,开发者在开发 阶段难以确定或定位这些潜在的安全风险.
当下,在诸如自动驾驶系统、智能医疗、恶意信息 检测等安全敏感领域的应用中,机器学习模型安全相 关的正确性、鲁棒性与公平性等测试属性得到了越来 越多的关注 . 研究人员针对机器学习模型的安全隐患 提出了针对性的测试与修复方法[24~27] ,旨在预防和降 低机器学习模型潜在安全问题造成的严重损失. 此外, 多个国家与机构出台了相应的政策与法规以规范机器 学习模型的开发与测试 . 2017 年,中国工信部发布的 《促进新一代人工智能产业发展三年行动计划(2018- 2020年)》中提出要开展对 AI系统相关的漏洞挖掘、安 全测试等安全技术攻关,推动人工智能先进技术的深 度应用[28] . 在 2019 年的美国人工智能倡议中也提出 “确保技术标准最大限度减少恶意攻击可利用的漏洞” 以及“减少对人工智能技术安全测试和部署方面的障 碍”等要求,指出要针对机器学习的软件工程、性能、人 身安全、可用性等性质建立评估标准体系[29] .
由此可见,如何深入研究机器学习模型并设计安 全问题相关的测试方法亟待解决并具有重大意义 . 虽 然现有的研究中提出了各式各样的机器学习模型安全 的测试与修复方法,但是由于机器学习模型安全相关的测试属性众多,测试与修复的方法、形式多样且各有 侧重,尚未形成完整的技术体系;此外,现有研究对机 器学习模型的内在脆弱性以及本身的黑盒特性理解尚 不充分,限制了这些测试与修复方法的有效性 . 因此, 围绕机器学习模型安全的测试与修复工作,亟需对现 有的研究进行科学的归纳、分析及讨论,以发现现有研 究中的不足并为后续从事相关领域的研究人员提供方 向性的指导.
现有的机器学习模型安全技术相关文献综述多围 绕机器学习系统的通用安全问题与对应技术展开介 绍,而缺乏针对机器学习模型测试与对应的问题修复 研究的系统性详细介绍 . 如文献[30]总结了机器学习 模型的安全与隐私问题,并总结了模型对抗鲁棒性与 隐私攻防相关研究工作,但未涉及到机器学习模型正 确性等特性的测试与修复相关内容 . 文献[31]总结了 深度学习模型(Deep Neural Network,DNN)部署与应用 中的安全性与可信性方面的研究,涵盖了验证、测试、 对抗性攻击和防御以及可解释性,但是并未涉及模型 的修复方面的工作 . 虽然针对机器学习模型测试有少 量的文献综述,但现有文章多集中于对机器学习系统 的测试方法的总结,鲜有文献针对测试中暴露的漏洞 与问题如何修复进行全面的介绍[32,33] . 本文专注于机 器学习模型工作流程中全面的安全特性测试方法与对 应的修复研究,从数据、算法与实现三个阶段,对现有 的测试与修复技术展开系统的介绍,并对现有研究中 的不足之处进行总结分析,旨在推动机器学习模型安 全的测试与修复技术的进一步发展,并为保障机器学 习模型与相关技术的安全应用提供指导和参考 . 表 1 对相关领域综述进行了对比.
本文针对机器学习模型安全的测试与修复的研究 进展进行梳理、归纳、分析及讨论 . 第 2 节首先对机器 学习模型的流程框架进行描述,并对模型安全的测试 属性进行整理和概述 . 第 3 节、第 4 节和第 5 节分别从 机器学习模型的数据、算法、实现三方面入手,对相关 的测试与修复相关研究进行归纳总结,并讨论现有研 究的效果与局限. 最后,第6节对机器学习模型安全的 测试与修复技术面临的挑战及未来的研究方向进行讨 论和展望,并在第7节对文章进行总结.
**2 机器学习模型与安全测试属性 **
对机器学习模型安全的测试与修复工作进行研 究,首先要探明机器学习模型的结构,明确模型安全的 相关测试属性 . 本小节主要从数据、算法、实现三个部 分分析了机器学习模型的流程框架,并对机器学习模 型安全相关的六种主要测试属性进行了介绍,包括正 确性、鲁棒性、公平性、效率、可解释性和隐私性,最后 对比了机器学习模型安全测试工作与传统软件安全测 试的区别.
在传统软件测试工作中,研究人员往往根据被测 对象的组织结构进行分解,以在测试前明确可能存在 问题的各个组件,并针对性地设计测试样例. 传统软件 在测试中一般可以拆分为三部分:即数据、算法、实 现[35] . 机 器 学 习 模 型 的 结 构 也 可 以 依 此 分 为 三 部 分[32] ,并针对不同的组件展开对应的测试与修复工作.
机器学习模型的测试特性定义了一个功能良好 的、安全的、高效的机器学习模型需要具备什么样的属 性 . 各种各样的测试特性是模型测试与修复工作的目 标. 根据现有的测试研究,本文总结了如下六种主要的 机器学习模型测试特性,表2对这些特性进行了展示.
**3 模型数据测试与修复技术 **
机器学习模型的输入数据可能人工或者自动化地 从网络、传感器等来源收集. 这些在一定程度上反映了 真实物理世界的图像、音频、文字等数据往往包含各种 干扰 . 这些数据中的错误与扰动会严重影响模型的预 测效果与工作质量,使模型无法正确完成给定任务,甚 至会给模型带来安全隐患. 在本节中,本文主要从鲁棒 性、公平性、正确性以及隐私性四种安全测试属性上, 介绍现有针对机器学习模型数据处理环节的主要测试 工作,并阐述对应的测试属性修复研究. 表3展示了模 型数据测试与修复的几种典型技术,其中测试与修复 方法如果通用性不强或者存在明显局限或者则在“效 果”一栏标记为“弱”,反之标记为“强”.
**4 模型算法测试与修复技术 **
机器学习模型的算法一般需要开发者手动选择或 者设计. 传统的机器学习模型需要选择合适的超参数, 而深度学习模型需要选择并连接各个算子或者模型层 从而构成完整的网络结构. 随后,模型算法程序在给定 数据集上训练以调整其中的参数权重,并获得完成给 定分类、回归、文本处理等任务的能力. 在这个过程中, 不合理的模型算法设计或者训练环节的种种问题都有可能影响模型算法的具体性能与其在任务上的表现, 从而导致模型算法程序在特定输入下产生错误行为或 者输出不公平预测结果 . 在本节中,本文主要从正确 性、公平性、可解释性以及隐私性四种安全测试属性 上,介绍现有针对机器学习模型算法程序环节的主要 测试工作,并阐述对应的测试属性修复研究. 表4对比 总结了主流的模型算法测试与修复技术,并对其效果 与应用领域进行了评估.
**5 模型实现测试与修复技术 **
机器学习模型的框架实现需要开发者根据各个算 子与功能的预期效果,手动进行实现和编译. 在这个过 程中,极有可能引入各种漏洞问题[210,211] . 这些框架漏 洞会导致模型的运行效率、功能的执行效果受到影响, 从而得到错误的输出结果或者额外的时间与计算开 销 . 目前,随着机器学习测试工作的发展与进步,越来 越多的框架实现问题得到了研究人员的关注 . 在本节 中,本文主要从正确性和效率两方面,介绍现有针对机 器学习模型框架实现环节的主要测试工作,并阐述对 应的安全测试属性修复研究 . 表 5 对主流的机器学习 模型实现的测试方法进行了对比,并总结了这些方法 的测试框架与测试效果.