技术领域
[0001] 本发明涉及对抗攻击领域,尤其涉及一种基于神经网络模型的自适应黑盒对抗攻击方法。
相关背景技术
[0002] 近年来,深度学习的快速发展使得深度神经网络模型在多种视觉识别任务上都取得了显著的成果,比如图像分类、目标检测和语义分割等。但在对抗攻击领域中的研究表明,通过向图片中的部分像素添加微小的扰动,就能让强大的神经网络模型产生错误的预测结果,这样的图片被称作对抗样本。对抗样本的存在严重限制了深度学习技术的应用。根据攻击者对目标模型的了解程度,现有的对抗攻击方法可分为如下两类:
[0003] 1)白盒攻击方法:白盒攻击方法假设攻击者能够获取到目标模型的全部信息,包括模型结构、模型参数和训练数据等。在白盒攻击情景下,攻击者可在目标模型上执行反向传播并利用获得的梯度信息生成对抗样本。较有代表性的白盒攻击方法包括FGSM、JSMA和C&W等。
[0004] 2)黑盒攻击方法:黑盒攻击方法假设攻击者不能获取到目标模型的内部信息,仅能向目标模型发起有限次查询并得到相应的查询结果。由于黑盒攻击情景下攻击者无法获取模型梯度信息,因此黑盒攻击方法一般借助对抗样本的迁移性、梯度估计或无梯度优化算法实现。
[0005] 由于自动驾驶系统需要以多种视觉识别任务为支撑,而这些视觉识别任务通常采用深度学习技术实现,因此自动驾驶系统也容易受到对抗样本的攻击。自动驾驶系统作为一种安全关键应用,其对健壮性和可靠性的要求十分严格,这意味着研究针对自动驾驶系统的对抗攻击方法有着极为重要的应用价值。现有的针对自动驾驶系统的攻击方法主要关注白盒攻击情景,其假设攻击者了解目标模型的结构和参数,然而实际上这些模型内部信息往往无从获取。
具体实施方式
[0077] 下面结合附图及实施例,详细描述本发明的技术方案。
[0078] 本发明提出一种基于神经网络模型的自适应黑盒对抗攻击方法,其流程图见图1,其中,该方法包括如下步骤:
[0079] 步骤1、选取适应性分布并初始化其参数;
[0080] 步骤2、在适应性分布中采样,并根据采样结果构造对抗样本;
[0081] 步骤3、将对抗样本输入神经网络模型中,获取与该对抗样本对应的预测类别,并判断是否攻击成功,若攻击失败,则进入步骤4,若攻击成功,则判断对抗样本对神经网络模型进行攻击的次数是否在规定次数范围内,若在,则攻击有效,否则,攻击无效;
[0082] 对于无目标攻击,攻击成功是指对抗样本的预测类别与原图片所属类别不同,对于有目标攻击,攻击成功是指对抗样本的预测类别为预先指定的目标类别;
[0083] 步骤4、计算对抗样本的对抗损失,并计算适应性分布下对抗损失的数学期望对适应性分布参数的梯度,并利用其更新适应性分布的参数,然后返回步骤2。
[0084] 上述方法中,步骤1中,适应性分布具体是指带有可学习参数的概率分布,其参数能够随着迭代过程的进行而更新,使分布的概率峰值逐渐集中于搜索空间中预期取得较大对抗损失处。
[0085] 需要指出的是,步骤1具体包括如下步骤:
[0086] 步骤101、选取一种带有可学习参数的二维连续型概率分布作为适应性分布;
[0087] 步骤102、为适应性分布的参数设置合适的初始值,使采样结果能够处于合理的区间内。
[0088] 二维连续型概率分布包括二维独立正态分布和二维独立拉普拉斯分布;二维独立正态分布的概率密度函数为:
[0089]
[0090] 其中, 下标i表示相应向量的第i个分量,x表示输入变量,μ表示该分布的均值,且μ是可学习的,σ表示方差,且σ是固定的,μ设置的初始值为(0,0),σ设置的初始值为(0.5,0.5);
[0091] 二维独立拉普拉斯分布的概率密度函数为:
[0092]
[0093] 其中, μ′表示该分布的均值,且μ′是可学习的,σ′表示方差,且σ′是固定的,μ′设置的初始值为(0,0),σ′设置的初始值为(0.6,0.6)。
[0094] 步骤2中,适应性分布能够为搜索空间中不同位置分配不同的采样概率,可以使采样结果更有可能取得较大的对抗损失。
[0095] 步骤2具体包括如下步骤:
[0096] 步骤201、建立二维直角坐标系,该坐标系中,以图片的左上角作为原点,以图片的上侧边所在直线向右作为横轴的正半轴,以图片的左侧边所在直线向下作为纵轴的正半轴;
[0097] 步骤202、从适应性分布中采样得到图片上的某处位置,并将其转换为像素坐标(w,h),其中,w为像素的横坐标,h为像素的纵坐标,且w和h均为整数;
[0098] 其中,所述采样结果为(-1,1)区间内的浮点数,记采样结果为l=(l1,l2),图片的宽度和高度分别为W和H,则采样结果通过如下公式转换为像素的位置(w,h):
[0099]
[0100] 其中,l1表示采样结果的横坐标,l2表示采样结果的纵坐标;
[0101] 步骤203、在采样位置上构造新的扰动rnew以生成对抗样本
[0102] 其中,所述新的扰动在上一轮迭代中扰动的基础上构造,构造新的扰动时确保其幅值等于可允许的最大扰动幅值∈。
[0103] 步骤2中,利用二维独立正态分布或利用二维独立拉普拉斯分布在图片中进行采样,两者采用结果中的每个分量将会被裁剪到(-1,1)区间内,能够确保每个分量不会超出图片的范围。
[0104] 实际应用中,可以根据衡量扰动幅值的范数,提供L∞和L2两种构造方式:
[0105] 采用L∞方式构造扰动时,采样一个边长为S且中心点位置为(w,h)的正方形区域A,并在每一个颜色通道c中分别随机选取{-∈,∈}中的一个填充所述区域A得到新的扰动rnew,对于RGB图片,c可取1,2,3,rnew的其余区域均与上一轮迭代中的扰动rold保持一致:
[0106]
[0107] 其中, 表示在所给集合中随机采样,1s×s表示大小为S×S的全1矩阵。
[0108] 采用L2方式构造扰动时,采样两个边长为S的正方形区域A1和A2,其中心点位置分别为(w1,h1)和(w2,h2);首先在每个颜色通道c中应用如下规则调整所述区域A1处的扰动对于RGB图片,c可取1,2,3:
[0109] 其中
[0110] 并且
[0111]
[0112] 其中, 表示在所给集合中随机w采样, 表示正方形边长的一半;
[0113] 随后进一步调整所述区域A1处的扰动 使得新的扰动rnew的幅值等于可允许的最大扰动幅值∈:
[0114] 其中
[0115]
[0116] 其中,C表示颜色通道数量;
[0117] 最后设置所述区域A2处的扰动为0,并保持rnew的其余区域均与上一轮迭代中的扰动rold保持一致。
[0118] 步骤3和4中,将对抗样本输入神经网络模型中,获取与该对抗样本对应的预测类别后,计算所述对抗样本的对抗损失,其具体包括如下步骤:
[0119] 步骤301、记神经网络模型为 d为输入图片的维度,Q为数据集中的图片类别总数,目标模型f对输入图片x的输出为f(x),fq(x)为f(x)的第q个分量,表示图片x属于类别q的置信度得分,图片x的预测类别可表示为:
[0120]
[0121] 步骤302、将对抗样本 输入到神经网络模型f中获取输出结果
[0122] 步骤303、根据神经网络模型的输出结果计算对抗损失
[0123] 其中,可以采用铰链损失作为所述对抗损失,此时,对于无目标攻击对抗损失为:
[0124]
[0125] 对于指定目标类别为t的有目标攻击,其对抗损失为:
[0126]
[0127] 步骤4中,计算适应性分布下对抗损失的数学期望对适应性分布参数的梯度,其具体包括如下步骤:
[0128] 步骤401、随着迭代的进行,适应性分布的概率峰值逐渐集中于预期取得较大对抗损失的位置上,故将对抗损失的数学期望作为需最大化的目标函数:
[0129]
[0130] 其中,r表示根据采样结果构造的扰动,πω表示参数为ω的适应性分布;
[0131] 步骤402、经推导可得上述目标函数对分布参数ω的梯度为:
[0132]
[0133] 步骤403、使用一阶矩近似代替步骤402中的数学期望可得:
[0134]
[0135] 其中,K为采样次数,rk和 为根据第k次采样结果构造的扰动和相应的对抗样本。
[0136] 步骤403中,若使用所述二维独立正态分布作为适应性分布,则数学期望化简化为:
[0137]
[0138] 其中,δk表示在标准正态分布 中的第k次采样结果;
[0139] 若使用所述二维独立拉普拉斯分布作为适应性分布,则数学期望简化为:
[0140]
[0141] 其中,lk表示在适应性分布中的第k次采样结果。
[0142] 步骤4中,更新适应性分布的参数,其具体为:
[0143] 当得到梯度信息后,利用所述梯度信息对适应性分布的参数ω进行训练,由于优化目标是最大化对抗损失,因此采用梯度上升算法更新分布的参数ω:
[0144]
[0145] 其中,α为学习率,ωt为第t轮迭代中的分布参数。
[0146] 实施例
[0147] 本发明实施例提供的一种基于神经网络模型的自适应黑盒对抗攻击方法,能够通过随机搜索来查找使得对抗损失最大化的对抗样本,并在搜索过程中构建适应性分布学习对抗损失的变化规律,以适应性分布指导后续的搜索过程,从而使搜索范围集中于搜索空间中预期取得较大对抗损失的位置上,达到加速算法收敛的目的。
[0148] 随机搜索算法是一种迭代式的无梯度优化方法,可在不计算目标函数梯度的情况下求解最优化问题,适合应用于黑盒对抗攻击情景中。随机搜索算法的具体流程为:在每一轮迭代中,随机搜索算法会在当前迭代变量的附近随机选取观察点;若观察点处的目标函数值高于当前迭代变量处的目标函数值,就用观察点替换当前迭代变量,随后进入下一轮迭代。
[0149] 虽然随机搜索算法会逐渐收敛到某个局部最优值点,但并不保证收敛速度。若直接使用随机搜索算法进行黑盒攻击,攻击者需要向目标模型发起大量的查询,很可能导致攻击失败。本实施例的方法在随机搜索算法的基础上引入了适应性分布,适应性分布的参数会在迭代过程中因搜索结果而调整,从而增大搜索空间中预期取得较大对抗损失位置处的采样概率,达到加速收敛的目的。
[0150] 本实施例中没有指定适应性分布的具体种类。理论上来说,适应性分布可以是任意的二维连续型概率分布。本实施中采用了两种类型的适应性分布:第一种是二维独立正态分布,第二种是二维独立拉普拉斯分布。二维独立正态分布的概率密度函数为:
[0151]
[0152] 其中, 下标i表示相应向量的第i个分量,x表示图片,μ表示该分布的均值,且μ是可学习的,σ表示方差,且σ是固定的,μ设置的初始值为(0,0),σ设置的初始值为(0.5,0.5);采样结果的每个分量将会被裁剪到(-1,1)区间内以确保不会超出图片的范围。
[0153] 二维独立拉普拉斯分布的概率密度函数为:
[0154]
[0155] 其中, μ′表示该分布的均值,且μ′是可学习的,σ′表示方差,且σ′是固定的,μ′设置的初始值为(0,0),σ′设置的初始值为(0.6,0.6);采样结果的每个分量将会被裁剪到(-1,1)区间内以确保不会超出图片的范围。
[0156] 实际应用时,从适应性分布π中采样产生对抗样本 时,适应性分布为搜索空间中不同位置分配不同的采样概率,使采样结果更有可能取得较大的对抗损失,从而加速算法的收敛。
[0157] 采样不在图片空间中进行而在二维位置空间中进行,是考虑到如下两个原因:(1)图片是高维数据,而随机搜索算法在高维空间中难以收敛;(2)图片中的某些区域包含有助于识别的关键特征,向这些区域添加扰动更容易得到对抗样本,因此在位置空间内搜索更符合常理。
[0158] 新的扰动会在上一轮迭代中扰动的基础上构造。构造新的扰动时要确保其幅值等于可允许的最大扰动幅值∈,以达到更快的收敛速度和更好的攻击效果。根据衡量扰动幅值的范数,本实施中提供了L∞和L2两种构造方式:
[0159] 采用L∞方式构造扰动时,需要为图片的每一个颜色通道随机选取{-∈,∈}中的一个并填充以(w,h)为中心、S为边长的正方形区域得到新的扰动rnew。新的扰动的其余区域均与上一轮迭代中的扰动保持一致。
[0160] 采用L2方式构造扰动时,需要采样两个以(w,h)为中心、S为边长的正方形区域,并在其中一个正方形区域内构造扰动;随后调整另一个区域内的扰动,保证扰动幅值等于可允许的最大扰动幅值∈。新的扰动rnew的其余区域均与上一轮迭代中的扰动rold保持一致。
[0161] 本实施例所提出的方法是一种迭代式搜索算法,在每轮迭代中都需要经过步骤2-4三个步骤。迭代终止需满足如下两种条件中的任意一种:1)对于无目标攻击,搜索到了所属类别不同于原图片的对抗样本;对于有目标攻击,搜索到了所属类别为指定目标类别的对抗样本。此时返回搜索结果,攻击成功。2)达到最大查询次数时仍未搜索到满足上述条件的对抗样本,此时终止搜索,攻击失败。
[0162] 在随机搜索算法的基础上引入适应性分布查找使得对抗损失最大化的对抗样本,适应性分布能够在迭代过程中学习对抗损失的变化规律,调整分布参数使分布的概率峰值逐渐集中于搜索空间中预期取得较大对抗损失的位置处,进而达到提高搜索效率、加速收敛的目的。该方法无需攻击者知晓目标模型的内部信息,应用于黑盒攻击情景时能以较少的查询次数取得较高的攻击成功率。
[0163] 实际应用中,可以采用五种指标评估我们所提出方法的攻击效果,对这三种指标的具体介绍如下:
[0164] (1)攻击成功率:攻击成功率指标是对抗攻击领域的标准评估指标,定义为攻击成功的样本数占测试样本总数的比例。攻击成功率越高,说明攻击效果越好。
[0165] (2)平均扰动幅值:扰动幅值用于定量地衡量对抗样本与原始图片之间的差异。为了保持隐蔽性,我们希望对抗样本的扰动幅值越小越好。扰动幅值通常采用L2范数计算。
[0166] (3)平均查询次数:平均查询次数指成功生成一个对抗样本所需向目标模型发起的查询次数的平均值,一般用于衡量黑盒攻击方法的效率。由于平均查询次数不受无关外部因素的影响(如硬件性能),因此是比查询时间更加客观的效率评估指标。
[0167] 本实例在德国交通标志识别基准数据集GTSRB上进行测试。该数据集包含了来自43个交通标志类别的51,839张32×32像素的RGB图片。我们从中随机选取了4889张图片用于测试本实施例的攻击效果。
[0168] 本实例中选取Kaggle InClass挑战赛上的冠军模型作为目标模型。该模型由三个卷积层、两个全连接层和一个空间转换层构成。经测试发现该模型在GTSRB数据集上达到了99%的预测准确率,可见目标模型性能优异,说明本实例中的测试结果有较强说服力。具体的测试结果如下表1和表2所示:
[0169] 从表1中可以看出,本发明所提出的方法相较另外两种黑盒攻击方法有着更高的成功率和更少的查询次数。对于无目标攻击:
[0170] (1)SimBA-DCT虽然有最小的扰动幅值,但其在攻击成功率和攻击效率上的表现都劣于另外两种方法,这说明该方法的无目标攻击效果较差;
[0171] (2)在平均扰动幅值和攻击成功率两个指标上,本发明与Square Attack的测试结果相近;但本发明的平均查询次数要明显少于Square Attack。使用L2方式构造扰动时,本发明的查询次数相比Square Attack降低了43.3%;使用L∞方式构造扰动时,本发明的查询次数相比Square Attack降低了12.3%,这说明本发明有着更高的攻击效率。
[0172] 对于有目标攻击:
[0173] (1)SimBA-DCT在攻击成功率、平均查询次数、查询中位数和平均扰动幅值四个指标上都劣于另外两种方法,这说明该方法的有目标攻击效果较差;
[0174] (2)本发明与Square Attack有相近的平均扰动幅值,但攻击成功率和攻击效率明显更优:使用L2方式构造扰动时,本发明的攻击成功率相比Square Attack提高了1.43%;使用L∞方式构造扰动时,本发明的攻击成功率相比Square Attack提高了2.62%同时平均查询次数降低了12.8%,这说明本发明有着更好的攻击效果。
[0175] 表1
[0176]