从医疗诊断、自动驾驶到智能家居,人工智能技术为各个行业领域带来无限可能的同时,挑战也日益显现。特别是在人工智能安全领域,随着恶意攻击和数据欺骗的不断演变,确保AI系统的安全性和可靠性成为亟需解决的重要问题,对抗防御等应对技术相继被提出。在 AI软件测评过程中,对抗样本攻击和防御技术作为保障 AI系统可靠性和安全性的重要利器,近年来备受瞩目。下面,我们一起从基本概念、原理和应用价值、对抗流程三个方面,了解一下 AI系统测试中对抗样本攻击和防御技术的相关内容。
一、AI测试对抗样本的基本概念
对抗样本(adversarial examples)是通过在原始输入数据中添加微小的、往往难以察觉的扰动,创建出来的样本。 这类样本旨在通过精心设计的输入,欺骗AI系统以高置信度给出与原样本不同的分类输出,产生错误的输出结果。例如,在图像识别任务中,仅仅只修改图片中的一个像素,这种微小的扰动对人类是不可见,但可能导致神经网络将修改后的图像错误地分类为完全不同的类别。而构造和使用对抗样本的过程被称为对抗攻击。
对抗样本的数学语言可以描述为:设x是原始输入(例如图像的像素值),y是x 的真实标签,J(x,y) 是模型对于输入 x和标签 y计算的损失函数。对于一个给定的模型,生成对抗样本的目标是寻找一个微小的扰动 δ,使得x+δ 能够导致模型输出错误的预测。这个过程可以通过求解以下优化问题来实现:
maximize J(x+δ,y)
同时需要对扰动δ的大小进行约束,以保证其对人类不可察觉。这通常通过限制δ的Lp范数来实现,即:
||δ|| p ≤ ϵ
其中,ϵ是一个小常数,p通常取无穷大(表示无穷范数,即扰动的最大值),也可以取其他值如 22 或 11,分别对应L2范数和L1范数。
二、AI测试对抗样本的原理和应用价值
那么,为什么要使用对抗样本?对抗样本在智能系统测试中作用是什么呢?
我们知道,深度神经网络是深度学习中最常用的模型之一,在自然语言处理、语音识别、图像识别等领域扮演着至关重要的角色。相较于传统的机器学习模型,深度神经网络虽然在特征提取和建模方面具有显著优势,但其直接对输入和输出建模,学到的特征往往不具有可解释性,并且在处理高维度数据时具有保持线性关系的能力。这种黑盒性特别是高维度线性使得深度神经网络的学习效果高度依赖于数据集的质量和模型的特性,对输入数据较为敏感,即使是轻微的输入扰动也可能导致特征的变化,进而影响模型的预测结果。
也就是说,深度学习模型在理论上存在被垃圾样本误导的风险,导致网络分类器出现较高的误分类率。对于涉及生命安全的智能系统,如自动驾驶和医疗辅助诊断,任何微小的失误都可能带来无法挽回的严重后果。因此,我们需要在测试阶段检测出这些人工智能模型可能存在的偏差。
而对抗样本生成技术的出现,将深度学习模型的这种局限性和潜在风险展现在我们面前,也为AI系统的可靠性测试提供了新的途径。利用对抗样本生成技术,我们可以在测试阶段,故意构造一些异常数据来测试AI系统的性能,揭示人工智能模型的漏洞和弱点,并利用对抗训练等防御方法,通过不断暴露模型于对抗样本的攻击,让模型学会识别并抵御这些攻击,以便在实际业务场景中更好地应对各种复杂和异常的数据输入,保证AI系统的鲁棒性和安全性。
三、AI测试对抗样本的对抗流程
在明确了对抗样本的概念、原理和应用价值后,我们一起来看一下,在AI系统测试过程中,对抗样本应用的大致流程是什么?
1.确定攻击目标
这一阶段与传统软件测试中的需求分析和测试计划环节有相似之处。我们要分析客户需求和系统需求,了解AI模型和AI系统的功能和性能,明确制定攻击计划、攻击频率(单次攻击/迭代攻击)、攻击范围,考虑攻击环境等要求。
在确定攻击目标阶段,我们借鉴了传统软件测试中的需求分析和测试计划环节。通过深入分析客户需求和系统需求,我们深入了解了AI模型和AI系统的功能与性能特性。在此基础上,我们制定了详尽的攻击计划,明确了攻击的频率(单次或迭代)、范围以及攻击环境等关键要素。
特别是,我们需要根据需求,明确攻击的目标是通过添加微小扰动实现模型的错误分类。根据不同的攻击目的,可以将对抗攻击分为定向攻击和非定向攻击两类:定向攻击是指针对目标对象进行指定标签的攻击,限定了将模型中某类标签错分;非定向攻击是指诱导模型分类错误,但不指定错分为哪一种类别。
2.收集训练数据
训练和检测目标模型中重要问题是要形成自己的数据库。通常会考虑不同的业务场景,借助检测客户提供、互联网公开数据集形成数据库,比较常用的数据集包括MNIST数据集、CIFAR-10、ImageNet dataset、IMDB,也可以利用人工智能生成测试数据,但数据要满足一定的行业标准。关于人工智能测试的数据集和开源框架,我们将在后续文章进行详细介绍,欢迎大家继续关注。
3.生成对抗样本
对抗扰动与原始图像共同构成了对抗样本。这一阶段需要攻击者使用训练数据和对抗样本生成技术生成干扰样本。随着生成对抗样本的迭代算法涌现,对抗样本的生成方法日益丰富,大致包含基于梯度的生成方式如 FGSM、基于优化的生成方式如JSMA、基于GAN的生成方式三类。总体来说,对抗样本的生成与检测包含了以下几个基本步骤:
1) 训练网络分类器:使用正常的样本数据来训练一个网络分类器,建立一个能识别和分类正常样本的模型。
2) 添加扰动:训练完成后,对原始样本添加一定的扰动。
3)输入分类器:将加入扰动后的对抗样本输入到训练好的分类器中进行分类,分类器很可能会出现分类误差。„…†
4) 对抗训练:通过对抗训练训练模型,包括使用分类误差调整模型参数。
5) 重复输入分类:重复第③步,使用新的扰动生成更多对抗样本,输入到分类器中,持续评估和提高模型对对抗样本的鲁棒性。
对抗样本生成与检测流程图
4.评估对抗样本
这一阶段攻击者需要对生成的对抗样本进行评估,确保样本满足要求。对抗样本需要涵盖微小性和破坏性的基本要求:
(1)必须确保干扰的微小性,即扰动添加后使人们检测不到,达到肉眼几乎无法察觉的程度,在攻击时保持自身的隐蔽性。扰动大小的度量标准最常见的是基于范数(lp范数)、基于Wasserstein距离、基于视觉感知三类度量指标。
由于文本是离散的序列,对文本的修改很容易引起人们的注意。因此,文本领域添加干扰的另一个思路是——不像图像那样产生人类完全不可见的修改,而是产生人类判断正确却会使神经网络预测错误的样本,并利用欧氏距离、余弦相似度和词移距离三大指标衡量语句真实性和扰动幅度的文本相似性。
(2)微小扰动需精确作用于原有图像的特定像素,使得经过扰动的新图像具备欺骗原有分类深度模型的能力,即破坏性。随着对抗样本研究的深入,越来越多的度量方式在研究中被采用。对于对抗样本针对目标模型破坏程度的评价指标,除了准确率、混淆矩阵和AUC面积等传统评价模型效果的指标外,攻击成功率、扰动变化曲线和攻击强度曲线等一些衡量对抗样本攻击破坏程度的指标被相继提出。
5.开展测试工作/对抗攻击
利用对抗样本测试集、不同来源的输入数据、易出错样本、业务不相关样本等形成数据库,准备好测试数据和环境后,我们就可以开展AI系统的可靠性测试工作了。测试流程和传统软件的流程大致相同,测试工作还要对测试结果进行一定针对性的分析。
需要注意的是,这一阶段,攻击者需要尝试将不同的对抗样本输入目标模型,找到最有效的攻击方式。对抗样本攻击根据是否了解模型参数可以分为白盒攻击和黑盒攻击两种。通常情况下,智能系统的模型结构或参数等内部信息的情况无法获得,因此多采用黑盒攻击对人工智能模型进行攻击测试。
针对图像对抗样本的攻防技术研究是当前人工智能安全领域的研究热点,我们以智能视觉系统为例,主要了解下对抗样本攻击中黑盒攻击的两类方法:
(1)基于查询的攻击方法,其核心思想是通过反复访问目标模型,收集模型的响应数据,并利用这些数据来近似估计模型的梯度信息。这种方法通过不断地修改输入数据,观察模型输出的变化,来逐步生成能够误导模型的对抗样本。基于查询的攻击方法在攻击效果上相当有效,但由于需要频繁地与目标模型进行交互,因此在实际应用中容易被目标模型察觉到,从而引发防御机制或导致攻击被拦截。
(2)为了克服基于查询方法的上述缺点,基于模型迁移的攻击方法应运而生。基于模型迁移的方法通常首先攻击与目标模型具有相似任务或功能的替代模型,生成对抗样本,然后利用这些对抗样本去攻击目标模型。这种方法的理论基础在于对抗样本在同一任务的不同模型之间具有迁移性。也就是说,针对某一模型生成的对抗样本,很可能也能对另一模型产生同样的误导效果。整个过程中无需直接访问目标模型,这种方法能够更隐蔽地实施黑盒攻击,降低被目标模型察觉的风险。
基于查询的方法和基于模型迁移的方法在对抗样本攻击中各有特点。此外,基于梯度的攻击是局部搜索攻击中一种特殊形式,该策略也较为常用。在实际应用中,我们可以根据具体情况选择以下合适的方法来进行测试攻击。
图像分类数字域的黑盒攻击方法
以上就是人工智能测试中对抗样本的基本概念、原理和应用价值、对抗流程的全部内容。我们依托医学数据库,在医学人工智能工具测试数据集方面做了大量的训练工作,产生了成熟的医学领域人工智能测试数据集,如果您需要一起交流探讨可私信我。有关其他行业的数据集训练也可以私信交流。
参考资料
[1]李自拓,孙建彬,杨克巍等.面向图像分类的对抗鲁棒性评估综述[J].计算机研究与发展,2022,59(10):2164-2189.
[2] 潘文雯,王新宇,宋明黎等.对抗样本生成技术综述[J].软件学报,2020,31(01):67-81.
[3]王志波,王雪,马菁菁等.面向计算机视觉系统的对抗样本攻击综述[J].计算机学报,2023,46(02):436-468.
[4]杜小虎,吴宏明,易子博等.文本对抗样本攻击与防御技术综述[J].中文信息学报,2021,35(08):1-15.
[5]汪欣欣,陈晶,何琨等.面向目标检测的对抗攻击与防御综述[J].通信学报,2023,44(11):260-277.
[6]Yuan X,He P,Zhu Q,et al.Adversarial examples: Attacks and defenses for deep learning[J].IEEE transactions on neural networks and learning systems,2019,30(9):2805-2824.
(本文引用部分内容版权属于原作者,仅作交流探讨,如有侵权请联系删除。谢绝转载。)