首页 / 一种对抗样本生成方法

一种对抗样本生成方法有效专利 发明

技术领域

[0001] 本发明涉及遥感图像对抗攻击技术领域,尤其涉及一种对抗样本生成方法。

相关背景技术

[0002] 深度学习技术在近几年内取得了迅速的发展,神经网络在图像分类等领域得到广泛的应用。与此同时神经网络的安全性问题也引起人们关注,在图像中添加微小的扰动即可成功攻击深度神经网络。遥感图像在经济建设、生态环境保护等方面发挥着重要的作用,对遥感图像分类网络攻击方法的研究可以增强神经网络模型的鲁棒性和安全性。
[0003] 对于深度神经网络的攻击通常可根据威胁模型的不同分为白盒攻击和黑盒攻击。白盒攻击需要掌握模型本身的结构和数据(通常只有从开源大模型才能得到),攻击条件更高,实施过程也更复杂;黑盒攻击则对目标模型的内部结构一无所知,只能通过观察模型的输入输出来生成对抗样本。因现实生活中很多系统的保密程度非常可靠,模型信息完全泄露的情况几乎不存在,因此白盒攻击的适用情况要远远少于黑盒攻击。因此,本发明考虑在遥感图像上添加云层,提高遥感图像分类网络的攻击成功率。

具体实施方式

[0022] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0023] 如图1所示,本实施例提供一种对抗样本生成方法,包括如下步骤:
[0024] 步骤1,构建生成对抗网络。
[0025] 参见图2,提供生成对抗网络中生成器部分的结构图所示,生成器模型是一个包含多个反卷积层、Batch Norm层、Tanh层的堆叠结构。当输入一个1×27维的隐空间向量时,先经过全连接层转化成通道数为128的3×3的图像,再进行多次反卷积操作使图像尺寸扩大的同时通道数减半。在每次反卷积操作后取出最后两个通道的图像作为相应晶胞尺寸输出的梯度向量晶格,在最后一次反卷积后,通道数已经为2,则直接输出图像。经过上述设计,当输入一个1×27维的隐空间向量至生成器时,可以得到5×5×2、9×9×2、17×17×2、33×33×2、65×65×2(长×宽×通道数,两个通道分别表示分解至X方向和Y方向的两类梯度向量晶格)共计5种不同晶胞尺寸的两类梯度向量晶格。
[0026] 参见图3,提供生成对抗网络中判别器部分的结构图所示,判别器模型是一个包含多个卷积层、Batch Norm层、Tanh层的堆叠结构。首先输入由生成器输出的65×65×2(长×宽×通道数,两个通道分别表示分解至X方向和Y方向的两类梯度向量晶格)的梯度向量晶格,经过一次卷积后,图像的通道数不变仍为2,但是图像的尺寸缩小为33×33,此时将生成器输出的33×33×2的梯度向量晶格从后部拼接,使通道数扩增为4。以此类推经过多次卷积操作,图像尺寸不断减小,通道数不变的同时在每次卷积后拼接上相应尺寸的梯度向量晶格。当5种不同的梯度向量晶格都完成输入或拼接后,图像尺寸为5×5×10,经过一次卷积尺寸转化为3×3×10。最后将3×3×10的图像经过全连接层转化为1×90的向量,再经过全连接层和Sigmoid层输出一个判断输入的梯度向量晶格为真的置信概率值。
[0027] 步骤2,获取云层参数向量,所述云层参数向量包括生成对抗网络的输入向量、不同晶胞尺寸云层掩膜的混合系数向量、云层厚度;将生成对抗网络的输入向量输入至生成对抗网络中,生成不同晶胞尺寸的梯度向量晶格,每个晶胞尺寸的梯度向量晶格均包括X方向和Y方向两种梯度向量晶格;对不同晶胞尺寸的梯度向量晶格进行插值处理,得到对应的云层掩膜;根据不同晶胞尺寸云层掩膜的混合系数向量对对应的云层掩膜进行加权求和,根据云层厚度缩放云层数值大小后进行图像处理,输出混合云层掩膜。
[0028] 本实施例中,考虑到柏林噪声梯度向量晶格是生成遥感图像云层的重要参数,传统的梯度向量晶格生成是一个充满随机性而难以控制的过程。在生成对抗网络训练完成后,向生成器输入1×27维的隐空间向量,可得到对应的具有5种晶胞尺寸的梯度向量晶格,从而实现使用有限参数对云层形态的有效控制,极大减少了后续差分进化算法的搜索难度,使其覆盖扰动至遥感图像较为脆弱易受攻击的区域。
[0029] 通过生成对抗网络得到5种晶胞尺寸的梯度向量晶格,每种两张,分别表示分解到X方向和Y方向的梯度向量晶格;对梯度向量晶格进行插值得到云层掩膜。根据不同晶胞尺寸云层掩膜的混合系数向量对5种云层掩膜进行加权求和,根据云层厚度缩放云层数值大小,然后进行高斯模糊,通道随机偏移,通道加权系数偏移,得到最终的混合云层掩膜,表示为Xperturbation。在构建的生成对抗网络基础上,简化基于柏林噪声的云层生成方法的参数向量,使得对抗云层具有可优化性,使用差分进化算法对云层参数向量进行搜索。云层参数向量可以表示为Adversarial Cloud=[G,M,t],其中G=[g1,g2,g3,......,g27]为生成对抗网络生成器的27维输入向量,将其输入预先训练完成的生成器可以得到5种不同晶胞尺寸的云层掩膜,通过修改输入向量G的值可以控制所生成云层掩膜的形态,M=[4m1,8m2,16m3,32m4,64m5]为不同晶胞尺寸云层掩膜的混合系数向量,t为云层厚度。
[0030] 步骤3,获取原始无云遥感图像,将所述混合云层掩膜与原始无云遥感图像进行混合,获得被云层覆盖的对抗样本。
[0031] 本实施例中,通过给定的参数向量生成最终的混合云层掩膜(也可称为对抗云层)Xperturbation,并与原始无云遥感图像(也可称为原始遥感图像)融合得到被云层覆盖的对抗样本。令X0表示原始无云遥感图像,根据其颜色均值将对抗云层掩膜与原始无云遥感图像进行混合,获得被云层覆盖的对抗样本,表示为X0+Xperturbation。
[0032] 步骤4,将对抗样本输入至拟攻击的遥感图像分类神经网络,以对抗性损失和像素均方差损失作为差分进化算法的目标损失函数进行云层参数向量优化,当算法的查询次数达到设定上限或者对抗云层攻击成功时,输出最终生成的对抗样本。
[0033] 本实施例中,将生成的对抗样本输入到拟攻击的遥感图像分类神经网络中,根据输出计算差分进化算法的损失函数。即将当前对抗样本X0+Xperturbation输入到拟攻击的遥感图像分类网络fy中,输出对应正确标签的置信概率,将置信概率称为对抗性损失Lossadv,表示为Lossadv=fy(X0+Xperturbation)。为了限制云层的扰动效果,计算对抗图像与原始图像的像素均方差之和,称像素均方差损失,表示为:Lossmse=MSE(X0,X0+Xperturbation)。将对抗性损失和像素均方差损失作为差分进化算法的目标损失函数,使差分进化算法在优化对抗云层参数向量的攻击效果的同时减少所生成对抗云层的扰动强度。故总损失函数可以表示为:Losstotal=Lossadv+α*Lossmse,其中α为平衡因子,是一个常数。
[0034] 实验说明
[0035] 为了证明本系统方法的有效性,本系统在UCMercedLandUse遥感图像分类数据集上进行了实验。UC Merced Land Use数据集是一个包含21个类别的土地利用图像数据集,每个类别有100幅图像,每幅图像的尺寸为256256像素,这些图像是从美国地质调查局的大型图像中人工提取的,这些公共领域图像的像素分辨率为1英尺。
[0036] 首先训练生成对抗网络。先按照标准正态分布生成一批数量均为5000的5×5×2、9×9×2、17×17×2、33×33×2、65×65×2共计5种不同尺寸的柏林噪声梯度向量晶格作为训练数据。设置训练次数为2000轮,学习率为0.0002,训练生成对抗网络模型。
[0037] 设置差分进化算法的最大查询次数为300,损失函数中的平衡因子α为0.25,种群数量NP(Number ofPopulation)为15,交叉概率CR(Cross Probability)为0.2,差分权重F(Differential Weight)为0.5。设置云层参数向量中各个参数的取值范围,其中生成对抗网络生成器的输入向量中~取值范围均为‑1~1,不同晶胞尺寸云层掩膜的混合系数向量中~取值范围分别为0.1~1、0.2~1、0.3~1、0.4~1、0.5~1,云层厚度的取值范围为0.1~0.65(默认云层厚度可变范围为0~1)。
[0038] 在UC Merced Land Use数据集上攻击分类准确率为87.70%的ResNet18网络模型,测试200张图像,成功攻击172张图像,最终攻击成功率为86.00%,平均查询次数为21。
[0039] 图4给出了一些注释实例供比较。实验图像从左至右5列分别为原始图像的分类标签和置信概率、原始无云遥感图像、混合云层掩膜(对抗云层)、对抗样本、对抗样本的分类标签和置信概率。将第2、3列的原始无云遥感图像和对抗云层进行混合即可得到第4列的相应对抗样本。从第1列中原始无云遥感图像的正确分类标签和置信概率与第5列中对抗样本的错误分类标签和置信概率可以看出,在受到对抗云层扰动后,遥感图像以较高的置信度被错误分类且生成的对抗云层表现自然难以分辨,证明了本系统方法的有效性。
[0040] 因此,输入原始的遥感图像,通过本系统的方法即可得到相应的受到对抗云层覆盖的对抗样本。
[0041] 应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0042] 以上仅为本申请实施例的优选实施例而已,并不用于限制本申请实施例,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

当前第1页 第1页 第2页 第3页