CN115510986A - 一种基于AdvGAN的对抗样本生成方法 - Google Patents

一种基于AdvGAN的对抗样本生成方法 Download PDF

Info

Publication number
CN115510986A
CN115510986A CN202211212575.0A CN202211212575A CN115510986A CN 115510986 A CN115510986 A CN 115510986A CN 202211212575 A CN202211212575 A CN 202211212575A CN 115510986 A CN115510986 A CN 115510986A
Authority
CN
China
Prior art keywords
sample
generator
loss
noise
disturbance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211212575.0A
Other languages
English (en)
Inventor
凌捷
赵恩浩
罗玉
李斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202211212575.0A priority Critical patent/CN115510986A/zh
Publication of CN115510986A publication Critical patent/CN115510986A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公开了一种基于AdvGAN的对抗样本生成方法,涉及机器学习安全的技术领域,构建AdvGAN生成对抗网络,包括生成器、判别器和蒸馏模型;在真实样本中添加随机噪声构建噪声增强样本,输入生成器中生成扰动样本;基于扰动样本和真实样本获得初步训练的生成器和判别器;在真实样本中添加高斯噪声,输入初步训练的生成器中生成对抗样本;基于对抗样本和扰动样本,利用蒸馏模型与初步训练的生成器和判别器相互优化,获得优化后的AdvGAN生成对抗网络,生成最终对抗样本。本发明提升了对抗样本生成速度,提高了生成对抗样本的质量;降低了对抗样本的分布特征与真实样本的分布特征的差异,增加了人为识别难度同时,提高了攻击成功率。

Description

一种基于AdvGAN的对抗样本生成方法
技术领域
本发明涉及机器学习安全的技术领域,更具体地,涉及一种基于AdvGAN的对抗样本生成方法。
背景技术
深度学习作为机器学习领域的一部分,逐渐成为计算机视觉领域的研究热点。随着深度神经网络模型的不断发展,越来越多的深度学习框架和工具被开发出来。同时随着训练所需要的GPU算力等硬件的性能不断提升,训练复杂模型的成本变得越来越低,使得深度学习在各个领域都有广泛的应用。同时,由于应用的广泛,安全问题也不可忽视,常见的自动驾驶、人脸识别、物流搬运等,都是计算机视觉任务安全问题的重点关注对象。许多现在常用的神经网络结构在面对一些对抗扰动时都非常脆弱,比如GoogleNet、VGGNet、ResNet以及Inception vn等。由此提出了在深度学习中的对抗攻击问题,对抗攻击的本质是通过对深度学习模型的输入样本增加微小扰动等方式,使其产生令模型辨别错误的对抗样本。但是对抗样本对人类而言是不可被观察到的,对抗样本的产生需要满足一个重要的标准,就是被干扰的样本应该在人眼中与原始样本无异,但是输入模型后会使模型输出一个非正确的结果,甚至是指定的错误结果。
随着2014年的一篇论文《Intriguing properties of neural networks》发表,对抗攻击正式成为了深度学习安全中的一个研究领域。对于该领域的研究,集中在对现有的深度学习模型提出对抗攻击方法以证明模型所存在的安全问题,以及针对安全问题所提出的增强模型鲁棒性的对抗训练上。如何对深度学习模型进行有效的攻击,是分析深度学习模型安全性、提高模型鲁棒性的重要方法。传统的攻击方法聚焦在给原始图像添加扰动的,常用的方法包括单步计算或者迭代计算,如快速梯度符号法(FGSM)、迭代快速梯度符号法(I-FGSM),以及无穷范式约束等。通过这些方法对原始图像进行像素级别的扰动,进而生成对抗样本。传统的攻击方法有生成样本速度慢、计算量大的缺点,并且大多数是白盒攻击,生成样本的过程需要获取目标模型的结构信息、参数内容等,导致适用性比较单一。因此较新的对抗攻击的方向转向使用神经网络,尤其是使用生成对抗网络进行对抗样本的生成。但是同时也存在生成的对抗样本质量不高、添加的扰动能够人为识别、生成对抗样本成功率不高、攻击的迁移性低的问题。
现有技术公开了一种对抗样本生成方法、装置、设备及介质,包括:利用黑盒模型的训练数据集对多个不同初始模型进行训练,得到所述黑盒模型的多个不同替代模型;利用多个所述替代模型分别生成每个原始样本对应的对抗样本;基于每个所述原始样本对应的利用多个所述替代模型生成的多个所述对抗样本,确定所述原始样本对应的最终对抗样本。该申请利用了多个不同的替代模型,无法保证对抗样本的质量。
发明内容
本发明为克服上述现有技术生成的对抗样本质量低的所述的缺陷,提供一种基于AdvGAN的对抗样本生成方法,能够生成高质量的对抗样本,降低人眼的感知程度,提高生成对抗样本的成功率。
为解决上述技术问题,本发明的技术方案如下:
本发明提供了一种基于AdvGAN的对抗样本生成方法,包括:
S1:构建AdvGAN生成对抗网络,包括生成器、判别器和蒸馏模型;
S2:获取真实样本,并在真实样本中添加随机噪声,获得噪声增强样本;
S3:将噪声增强样本输入生成器中,使用梯度下降法计算扰动,并与噪声增强样本结合,生成扰动样本;
S4:将扰动样本和真实样本输入判别器,设置对抗损失函数作为目标函数;通过优化目标函数,获得初步训练的生成器和判别器;
S5:选择高斯噪声,将高斯噪声和真实样本输入初步训练的生成器,根据生成器损失,生成对抗样本;
S6:将对抗样本和真实样本输入初步训练的判别器,区别对抗样本和真实样本,计算判别器损失;
S7:计算对抗样本和真实样本的范式距离,与预设扰动范围进行比较,根据比较结果设置BIM扰动损失约束或铰链式损失约束;
S8:根据生成器损失和判别器损失,更新初步训练的生成器和判别器的参数,获得初步优化的生成器和判别器;
S9:将对抗样本和扰动样本输入蒸馏模型中,设置蒸馏模型对抗性损失函数,利用动态蒸馏法使蒸馏模型与初步优化的生成器、判别器相互进行迭代优化;
S10:根据对抗损失函数、BIM扰动损失约束、铰链式损失约束和对抗性损失函数建立总损失函数;通过优化总损失函数,获得最终优化的蒸馏模型、生成器和判别器,组成优化后的AdvGAN生成对抗网络;
S11:利用优化后的AdvGAN生成对抗网络生成最终对抗样本。
优选地,所述步骤S2的具体方法为:
S2.1:获取真实样本x∈X,真实样本的噪声分布为N(0,∑*);其中,X表示真实样本数据集,∑*表示噪声矩阵;
S2.2:对每个真实样本x选择随机噪声n∈N,添加噪声约束和离散度约束,生成噪声增强样本x′,获得噪声增强数据集X′;
所述噪声约束为:
Figure BDA0003872844730000031
所述离散度约束为:
Figure BDA0003872844730000032
式中,Xenc,n(x,x′)表示真实样本x与噪声增强样本x′间的噪声约束,fw(*)表示特征提取操作,argmin表示求取||fw+n(x)-fw(x′)||2最小值时,x′的取值函数;||*||2表示求取L2范数操作;KL(px′(x′)||qX(x))表示真实样本x与噪声增强样本x′间的KL离散度,p(x′)表示噪声增强样本x′的概率密度函数,q(x)表示真实样本x的概率密度函数。
使用KL离散度判断真实样本与噪声增强样本的数据分布差别,使噪声增强样本的数据分布不会与原始的真实样本的数据分布相差太大,在数据特征上保持一致。
优选地,所述步骤S3的具体方法为:
随机选取噪声增强样本x′输入到生成器G中,在保持噪声增强样本数据特征的前提下,使用梯度下降法迭代计算扰动δadv
Figure BDA0003872844730000033
Figure BDA0003872844730000034
Figure BDA0003872844730000035
Figure BDA0003872844730000036
式中,gc表示梯度符号,
Figure BDA0003872844730000037
表示第t次迭代的预期扰动,w表示梯度参数,y表示特征标签,
Figure BDA0003872844730000041
表示第t次迭代的梯度动量;
Figure BDA0003872844730000042
表示第t+1次迭代的梯度动量,μ表示衰减因子,a表示符号系数,[-ε,ε]表示预设扰动范围,
Figure BDA0003872844730000043
表示第t+1次迭代的预期扰动;
Figure BDA0003872844730000044
表示第t+1次迭代的扰动;
Figure BDA0003872844730000045
Figure BDA0003872844730000046
的差值在预设扰动范围内时,将
Figure BDA0003872844730000047
作为扰动δadv;将扰动δadv与噪声增强样本x′结合,生成扰动样本
Figure BDA0003872844730000048
优选地,所述步骤S3中,生成扰动样本后,还需对扰动样本进行筛选,具体方法为:
计算扰动样本
Figure BDA0003872844730000049
与真实样本x的L2范式距离:
Figure BDA00038728447300000410
式中,Lp表示扰动样本与真实样本的L2范式距离;
设定扰动阈值∈,若Lp>|∈|,则丢弃该扰动样本。
优选地,所述步骤S4中,对抗损失函数为:
Figure BDA00038728447300000411
式中,LGAN表示对抗损失函数,fL(*)表示满足1-Lipschitz连续的函数,即
Figure BDA00038728447300000412
优选地,所述步骤S5的具体方法为:
随机选择m个真实样本x,选定高斯噪声η,将真实样本和高斯噪声输入初步训练的生成器,初始化初步训练的生成器的参数,生成对抗样本xadv,并计算生成器损失:
Figure BDA00038728447300000413
式中,
Figure BDA00038728447300000414
表示生成器损失,G(*)表示初步训练的生成器,D(*)表示初步训练的判别器,N′表示高斯噪声分布。
优选地,所述步骤S6中,判别器损失为:
Figure BDA00038728447300000415
式中,
Figure BDA00038728447300000416
表示判别器损失,G(*)表示初步训练的生成器,D(*)表示初步训练的判别器,N′表示高斯噪声分布。
优选地,所述步骤S7的具体方法为:
计算对抗样本xadv与真实样本x的L2范式距离:
Figure BDA00038728447300000417
式中,
Figure BDA00038728447300000418
表示对抗样本与真实样本的L2范式距离;
Figure BDA0003872844730000051
与设定的扰动阈值∈进行比较,若
Figure BDA0003872844730000052
则设置BIM扰动损失约束:
Figure BDA0003872844730000053
式中,LB表示BIM扰动损失;m表示随机选择的真实样本数量,k表示对抗样本的数量,σ表示第一超参数;
Figure BDA0003872844730000054
则设置铰链式损失约束:
Lhinge=Exmax(0,||G(x)||2-c)
式中,Lhinge表示铰链式损失,c表示上限值。
优选地,所述步骤S9的具体方法为:
S9.1:将对抗样本和扰动样本输入蒸馏模型中;
S9.2:设置以黑盒模型为目标模型的蒸馏模型f,设定目标攻击类别t或不设定攻击类别,蒸馏模型f的对抗性损失函数为:
Figure BDA0003872844730000055
式中,
Figure BDA0003872844730000056
表示蒸馏模型f的对抗性损失,lf表示第一交叉熵损失;
S9.3:利用第i-1次迭代的蒸馏模型fi-1更新第i次迭代的初步训练的生成器Gi和初步训练的判别器Di;更新方法为:
Figure BDA0003872844730000057
式中,
Figure BDA0003872844730000058
表示第i-1次迭代的蒸馏模型的对抗性损失;τ,
Figure BDA0003872844730000059
表示第二、第三超参数;
S9.4:利用第i次迭代的初步训练的生成器Gi反馈更新第i次迭代的蒸馏模型fi;更新方法为:
Figure BDA00038728447300000510
式中,
Figure BDA00038728447300000511
表示第二交叉熵损失,f(xadv)表示蒸馏模型对对抗样本xadv的输出,
Figure BDA00038728447300000512
表示蒸馏模型对扰动样本
Figure BDA00038728447300000516
的输出,b(xadv)表示对抗样本xadv从黑盒模型的查询结果,
Figure BDA00038728447300000513
表示扰动样本
Figure BDA00038728447300000514
从黑盒模型的查询结果。
优选地,所述总损失函数为:
Figure BDA00038728447300000515
式中,α,β,γ表示第一、第二、第三比例系数。
与现有技术相比,本发明技术方案的有益效果是:
本发明首先在真实样本中添加随机噪声,获得噪声增强样本;将噪声增强样本输入生成器中,生成扰动样本;设置对抗损失函数,利用判别器区别扰动样本和真实样本,使初步训练的生成器和判别器学习到真实样本和扰动的分布特征;之后在真实样本中添加高斯噪声,输入初步训练的生成器中,生成对抗样本;利用初步训练的判别器区别对抗样本和真实样本,根据对抗样本和真实样本差值设置BIM扰动损失约束或铰链式损失约束,限制对抗样本的扰动大小,在不影响攻击效果的前提下提高对抗样本的质量,降低人类对其的感知程度,获得初步优化的生成器和判别器;最后,设置蒸馏模型与初步优化的生成器和判别器相互迭代优化,使初步优化的生成器和判别器更好的学习到对抗样本的分布特征,蒸馏模型更贴近目标黑盒模型;通过优化总损失函数,获得优化后的AdvGAN生成对抗网络,利用其生成指定目标攻击类别或无目标攻击类别的最终对抗样本。本发明提升了对抗样本生成速度,提高了生成对抗样本的质量;降低了对抗样本的分布特征与真实样本的分布特征的差异,增加了人为识别难度同时,提高了攻击成功率。
附图说明
图1为实施例1所述的一种基于AdvGAN的对抗样本生成方法的流程图。
图2为实施例2所述的AdvGAN生成对抗网络的结构示意图。
图3为实施例2所述的生成器G的结构示意图。
图4为实施例2所述的判别器D的结构示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提供了一种基于AdvGAN的对抗样本生成方法,如图1所示,包括:
S1:构建AdvGAN生成对抗网络,包括生成器、判别器和蒸馏模型;
S2:获取真实样本,并在真实样本中添加随机噪声,获得噪声增强样本;
S3:将噪声增强样本输入生成器中,使用梯度下降法计算扰动,并与噪声增强样本结合,生成扰动样本;
S4:将扰动样本和真实样本输入判别器,设置对抗损失函数作为目标函数;通过优化目标函数,获得初步训练的生成器和判别器;
S5:选择高斯噪声,将高斯噪声和真实样本输入初步训练的生成器,根据生成器损失,生成对抗样本;
S6:将对抗样本和真实样本输入初步训练的判别器,区别对抗样本和真实样本,计算判别器损失;
S7:计算对抗样本和真实样本的范式距离,与预设扰动范围进行比较,根据比较结果设置BIM扰动损失约束或铰链式损失约束;
S8:根据生成器损失和判别器损失,更新初步训练的生成器和判别器的参数,获得初步优化的生成器和判别器;
S9:将对抗样本和扰动样本输入蒸馏模型中,设置蒸馏模型对抗性损失函数,利用动态蒸馏法使蒸馏模型与初步优化的生成器、判别器相互进行迭代优化;
S10:根据对抗损失函数、BIM扰动损失约束、铰链式损失约束和对抗性损失函数建立总损失函数;通过优化总损失函数,获得最终优化的蒸馏模型、生成器和判别器,组成优化后的AdvGAN生成对抗网络;
S11:利用优化后的AdvGAN生成对抗网络生成最终对抗样本。
在具体实施过程中,本实施例首先在真实样本中添加随机噪声,获得噪声增强样本;将噪声增强样本输入生成器中,生成扰动样本;设置对抗损失函数,利用判别器区别扰动样本和真实样本,使初步训练的生成器和判别器学习到真实样本和扰动的分布特征;之后在真实样本中添加高斯噪声,输入初步训练的生成器中,生成对抗样本;利用初步训练的判别器区别对抗样本和真实样本,根据对抗样本和真实样本差值设置BIM扰动损失约束或铰链式损失约束,限制对抗样本的扰动大小,获得初步优化的生成器和判别器;最后,设置蒸馏模型与初步优化的生成器和判别器相互迭代优化,使初步优化的生成器和判别器更好的学习到对抗样本的分布特征,蒸馏模型更贴近目标黑盒模型;通过优化总损失函数,获得优化后的AdvGAN生成对抗网络,利用其生成指定目标攻击类别或无目标攻击类别的最终对抗样本。本发明提升了对抗样本生成速度,提高了生成对抗样本的质量;降低了对抗样本的分布特征与真实样本的分布特征的差异,增加了人为识别难度同时,提高了攻击成功率。
实施例2
本实施例提供了一种基于AdvGAN的对抗样本生成方法,如图2所示,包括:
S1:构建AdvGAN生成对抗网络,包括生成器、判别器和蒸馏模型;
S2:获取真实样本,并在真实样本中添加随机噪声,获得噪声增强样本;具体方法为:
S2.1:获取真实样本x∈X,真实样本的噪声分布为N(0,∑*);其中,X表示真实样本数据集,∑*表示噪声矩阵;
S2.2:对每个真实样本x选择随机噪声n∈N,添加噪声约束和离散度约束,生成噪声增强样本x′,获得噪声增强数据集X′;
所述噪声约束为:
Figure BDA0003872844730000081
所述离散度约束为:
Figure BDA0003872844730000082
式中,Xenc,n(x,x′)表示真实样本x与噪声增强样本x′间的噪声约束,fw(*)表示特征提取操作,argmin表示求取||fw+n(x)-fw(x′)||2最小值时,x′的取值函数;||*||2表示求取L2范数操作;KL(pX′(x′)||qX(x))表示真实样本x与噪声增强样本x′间的KL离散度,p(x′)表示噪声增强样本x′的概率密度函数,q(x)表示真实样本x的概率密度函数。
使用KL离散度判断真实样本与噪声增强样本的数据分布差别,使噪声增强样本的数据分布不会与原始的真实样本的数据分布相差太大,在数据特征上保持一致。
S3:将噪声增强样本输入生成器中,使用梯度下降法计算扰动,并与噪声增强样本结合,生成扰动样本;具体方法为:
如图3所示,为生成器G的结构示意图,生成器G包括依次连接的第一卷积层、第二卷积层、第三卷积层、第一残差块、第二残差块、第三残差块、第四残差块、第四卷积层、第五卷积层和第六卷积层,第一到第六卷积层的激活函数均为ReLU函数;随机选取噪声增强样本x′输入到生成器G中,在保持噪声增强样本数据特征的前提下,使用梯度下降法迭代计算扰动δadv
Figure BDA0003872844730000091
Figure BDA0003872844730000092
Figure BDA0003872844730000093
Figure BDA0003872844730000094
式中,gc表示梯度符号,
Figure BDA0003872844730000095
表示第t次迭代的预期扰动,w表示梯度参数,y表示特征标签,
Figure BDA0003872844730000096
表示第t次迭代的梯度动量;
Figure BDA0003872844730000097
表示第t+1次迭代的梯度动量,μ表示衰减因子,a表示符号系数,[-ε,ε]表示预设扰动范围,
Figure BDA0003872844730000098
表示第t+1次迭代的预期扰动;
Figure BDA0003872844730000099
表示第t+1次迭代的扰动;
Figure BDA00038728447300000910
Figure BDA00038728447300000911
的差值在预设扰动范围内时,将
Figure BDA00038728447300000912
作为扰动δadv;将扰动δadv与噪声增强样本x′结合,生成扰动样本
Figure BDA00038728447300000913
生成扰动样本后,还需对扰动样本进行筛选:
计算扰动样本
Figure BDA00038728447300000914
与真实样本x的L2范式距离:
Figure BDA00038728447300000915
式中,Lp表示扰动样本与真实样本的L2范式距离;
设定扰动阈值∈,若Lp>|∈|,则丢弃该扰动样本。
S4:将扰动样本和真实样本输入判别器,设置对抗损失函数作为目标函数;通过优化目标函数,获得初步训练的生成器和判别器;所述对抗损失函数为:
Figure BDA00038728447300000916
式中,LGAN表示对抗损失函数,fL(*)表示满足1-Lipschitz连续的函数,即
Figure BDA00038728447300000917
如图4所示,为判别器D的结构示意图;判别器包括依次连接的第七卷积层、第八卷积层、第九卷积层和全连接层;第七至第九卷积层的激活函数为LeakyReLU函数,全连接层的激活函数为Softmax函数。
S5:选择高斯噪声,将高斯噪声和真实样本输入初步训练的生成器,根据生成器损失,生成对抗样本;具体方法为:
随机选择m个真实样本x,选定高斯噪声η,将真实样本和高斯噪声输入初步训练的生成器,初始化初步训练的生成器的参数,生成对抗样本xadv,并计算生成器损失:
Figure BDA0003872844730000101
式中,
Figure BDA0003872844730000102
表示生成器损失,G(*)表示初步训练的生成器,D(*)表示初步训练的判别器,N′表示高斯噪声分布。
S6:将对抗样本和真实样本输入初步训练的判别器,区别对抗样本和真实样本,计算判别器损失;所述判别器损失为:
Figure BDA0003872844730000103
式中,
Figure BDA0003872844730000104
表示判别器损失,G(*)表示初步训练的生成器,D(*)表示初步训练的判别器,N′表示高斯噪声分布。
S7:计算对抗样本和真实样本的范式距离,与预设扰动范围进行比较,根据比较结果设置BIM扰动损失约束或铰链式损失约束;具体方法为:
计算对抗样本xadv与真实样本x的L2范式距离:
Figure BDA0003872844730000105
式中,
Figure BDA0003872844730000106
表示对抗样本与真实样本的L2范式距离;
Figure BDA0003872844730000107
与设定的扰动阈值∈进行比较,若
Figure BDA0003872844730000108
则设置BIM扰动损失约束:
Figure BDA0003872844730000109
式中,LB表示BIM扰动损失;m表示随机选择的真实样本数量,k表示对抗样本的数量,σ表示第一超参数;
Figure BDA00038728447300001010
则设置铰链式损失约束:
Lhinge=Exmax(0,||G(x)||2-c)
式中,Lhinge表示铰链式损失,c表示上限值。
S8:根据生成器损失和判别器损失,更新初步训练的生成器和判别器的参数,获得初步优化的生成器和判别器;
S9:将对抗样本和扰动样本输入蒸馏模型中,设置蒸馏模型对抗性损失函数,利用动态蒸馏法使蒸馏模型与初步优化的生成器、判别器相互进行迭代优化;具体方法为:
S9.1:将对抗样本和扰动样本输入蒸馏模型中;
S9.2:设置以黑盒模型为目标模型的蒸馏模型f,设定目标攻击类别t或不设定攻击类别,蒸馏模型f的对抗性损失函数为:
Figure BDA0003872844730000111
式中,
Figure BDA0003872844730000112
表示蒸馏模型f的对抗性损失,lf表示第一交叉熵损失;
S9.3:利用第i-1次迭代的蒸馏模型fi-1更新第i次迭代的初步训练的生成器Gi和初步训练的判别器Di;更新方法为:
Figure BDA0003872844730000113
式中,
Figure BDA0003872844730000114
表示第i-1次迭代的蒸馏模型的对抗性损失;τ,
Figure BDA0003872844730000115
表示第二、第三超参数;
S9.4:利用第i次迭代的初步训练的生成器Gi反馈更新第i次迭代的蒸馏模型fi;更新方法为:
Figure BDA0003872844730000116
式中,
Figure BDA0003872844730000117
表示第二交叉熵损失,f(xadv)表示蒸馏模型对对抗样本xadv的输出,
Figure BDA0003872844730000118
表示蒸馏模型对扰动样本
Figure BDA0003872844730000119
的输出,b(xadv)表示对抗样本xadv从黑盒模型的查询结果,
Figure BDA00038728447300001110
表示扰动样本
Figure BDA00038728447300001111
从黑盒模型的查询结果。
S10:根据对抗损失函数、BIM扰动损失约束、铰链式损失约束和对抗性损失函数建立总损失函数;通过优化总损失函数,获得最终优化的蒸馏模型、生成器和判别器,组成优化后的AdvGAN生成对抗网络;所述总损失函数为:
Figure BDA00038728447300001112
式中,α,β,γ表示第一、第二、第三比例系数。
S11:利用优化后的AdvGAN生成对抗网络生成最终对抗样本。
本实施例使用前馈的生成对抗网络,每经过一次训练,多次生成对抗样本;提高了生成对抗样本的速度,减少了计算时间;通过蒸馏模型反馈优化生成器,使得生成器最终学习到与真实样本相近的对抗样本的分布,通过输入真实样本直接生成扰动,使其组合成有攻击目标的对抗样本,提高了在以黑盒模型为目标的攻击中的成功率;通过设置BIM扰动损失约束和铰链式损失约束来约束扰动的生成,在不影响攻击效果的前提下提高对抗样本的质量,降低人类对其的感知程度。
实施例3
本实施例提供一种基于AdvGAN的对抗样本生成方法,基于构建AdvGAN生成对抗网络,设置了两个阶段的训练过程,包括正常训练阶段和对抗训练阶段;AdvGAN生成对抗网络包括生成器、判别器和蒸馏模型;
正常训练阶段,训练生成器和判别器学习到真实样本的数据分布;使用公开数据集MNIST作为真实样本数据集X,真实样本x∈X,真实样本的噪声分布为N(0,∑*),将真实样本输入特征提取器fw中提取分布特征,正常训练阶段包括以下步骤:
1)选择真实样本数据集X中的真实样本x,从噪声分布N中选择随机噪声n,n∈N,其中∑*=β1F-1(w)表示噪声矩阵;
2)对每个真实样本x选择随机噪声n,直到整个真实样本数据集X都被注入随机造成,生成噪声增强样本x′;通过添加噪声约束:
Figure BDA0003872844730000121
式中,Xenc,n(x,x′)表示真实样本x与噪声增强样本x′间的噪声约束,fw(*)表示特征提取操作,argmin表示求取||fw+n(x)-fw(x′)||2最小值时,x′的取值函数;||*||2表示求取L2范数操作;
3)使用KL离散度判断真实样本和噪声增强样本的数据分布的差别,使噪声增强样本的数据分布与真实样本的噪声分布不能相差太大,即数据特征保持一致:
Figure BDA0003872844730000122
式中,L(pX′(x′)||qX(x))表示真实样本x与噪声增强样本x′间的KL离散度,p(x′)表示噪声增强样本x′的概率密度函数,q(x)表示真实样本x的概率密度函数;
4)初始化梯度参数w0,预期扰动
Figure BDA0003872844730000123
随机初始化扰动δ0
5)从噪声增强数据集X′中随机选取噪声增强样本x′输入到生成器G中,在保持数据特征的前提下使用梯度下降法迭代,生成扰动δadv
Figure BDA0003872844730000124
Figure BDA0003872844730000125
Figure BDA0003872844730000126
Figure BDA0003872844730000127
式中,gc表示梯度符号,
Figure BDA0003872844730000128
表示第t次迭代的预期扰动,w表示梯度参数,y表示特征标签,
Figure BDA0003872844730000129
表示第t次迭代的梯度动量;
Figure BDA00038728447300001210
表示第t+1次迭代的梯度动量,μ表示衰减因子,a表示符号系数,[-ε,ε]表示预设扰动范围,
Figure BDA00038728447300001211
表示第t+1次迭代的预期扰动;
Figure BDA00038728447300001212
表示第t+1次迭代的扰动;
Figure BDA0003872844730000131
Figure BDA0003872844730000132
的差值在预设扰动范围内时,将
Figure BDA0003872844730000133
作为扰动δadv
6)将扰动δadv与噪声增强样本x′结合,生成扰动样本
Figure BDA0003872844730000134
7)计算梯度惩罚项,以避免网络出现梯度爆炸现象:
Figure BDA0003872844730000135
8)使用正则化更新权重参数:
Figure BDA0003872844730000136
9)计算扰动样本
Figure BDA0003872844730000137
与真实样本x的L2范式距离,用于断扰动是否超过范围:
Figure BDA0003872844730000138
式中,Lp表示扰动样本与真实样本的L2范式距离;
设定扰动阈值∈,若Lp>|∈|,则丢弃该扰动样本。
10)设置对抗损失函数:
Figure BDA0003872844730000139
式中,LGAN表示对抗损失函数,fL(*)表示满足1-Lipschitz连续的函数,即
Figure BDA00038728447300001310
每轮训练完之后更新生成器G和判别器D的参数,获得学习到真实样本和扰动范围分布的初步训练的生成器和判别器,正常训练阶段结束。
对抗训练阶段包括以下步骤:
1)从真实样本数据集X中随机选择m个真实样本x,选择高斯噪声η∈N′(0,ε);
2)使用初步训练的生成器G和判别器D作为初始化,并且初始化θG为生成器的参数,θD为鉴别器参数,初始化αG,αD为分别为生成器和鉴别器的学习率,权重参数w;
3)将真实样本和高斯噪声输入初步训练的生成器,生成对抗样本xadv
4)将对抗样本xadv和真实样本输入到判别器D中,使判别器D区分对抗样本xadv和真实样本x的区别。计算判别器的损失
Figure BDA00038728447300001311
Figure BDA00038728447300001312
式中,
Figure BDA00038728447300001313
表示判别器损失,G(*)表示初步训练的生成器,D(*)表示初步训练的判别器,N′表示高斯噪声分布。
5)同时计算生成器的损失:
Figure BDA00038728447300001314
式中,
Figure BDA0003872844730000141
表示生成器损失,G(*)表示初步训练的生成器,D(*)表示初步训练的判别器,N′表示高斯噪声分布。
6)计算鉴别器和生成器的参数θD和θG,用于优化生成器和鉴别器:
Figure BDA0003872844730000142
Figure BDA0003872844730000143
7)更新权重参数:
w←w+α*ADAM(w,θDG)
8)计算对抗样本xadv与真实样本x的L2范式距离:
Figure BDA0003872844730000144
式中,
Figure BDA0003872844730000145
表示对抗样本与真实样本的L2范式距离。
9)设定扰动阈值∈,若
Figure BDA0003872844730000146
说明扰动过小,则设置BIM扰动损失约束:
Figure BDA0003872844730000147
式中,LB表示BIM扰动损失;m表示随机选择的真实样本数量,k表示对抗样本的数量,σ表示第一超参数;
Figure BDA0003872844730000148
说明扰动过大,则设置铰链式损失约束:
Lhinge=Exmax(0,||G(x)||2-c)
式中,Lhinge表示铰链式损失,c表示上限值。
10)将对抗样本和扰动样本输入蒸馏模型中,蒸馏模型f的对抗性损失函数为:
Figure BDA0003872844730000149
式中,
Figure BDA00038728447300001410
表示蒸馏模型f的对抗性损失,lf表示第一交叉熵损失;
使用动态蒸馏的方法优化生成器和判别器,同时也使得蒸馏模型更加贴近目标黑盒模型,使得蒸馏模型生成的对抗样本更加贴近攻击目标类别,或针对于目标模型的黑盒无类别攻击的对抗样本,具体的:
A)设定目标攻击类别t或不设定攻击类别;
B)利用第i-1次迭代的蒸馏模型fi-1更新第i次迭代的初步训练的生成器Gi和初步训练的判别器Di;首先把生成器Gi的初始权重设置为与前一步的Gi-1相同,之后通过对应的第i-1次迭代的蒸馏模型fi-1的参数来更新第i轮迭代的生成器和判别器,更新方法为:
Figure BDA0003872844730000151
式中,
Figure BDA0003872844730000152
表示第i-1次迭代的蒸馏模型的对抗性损失;τ,
Figure BDA0003872844730000153
表示第二、第三超参数;本实施例中,τ,
Figure BDA0003872844730000154
分别设定为0.5;
C)用第i次迭代的初步训练的生成器Gi反馈更新第i次迭代的蒸馏模型fi;首先使用蒸馏模型fi-1去初始化fi,再通过给定生成器Gi中生成的
Figure BDA0003872844730000155
使用生成的对抗样本对黑盒模型的查询结果集以及对原始样本中提取的特征一同更新蒸馏模型fi,更新方法为:
Figure BDA0003872844730000156
式中,
Figure BDA0003872844730000157
表示第二交叉熵损失,f(xadv)表示蒸馏模型对对抗样本xadv的输出,
Figure BDA0003872844730000158
表示蒸馏模型对扰动样本
Figure BDA00038728447300001512
的输出,b(xadv)表示对抗样本xadv从黑盒模型的查询结果,
Figure BDA0003872844730000159
表示扰动样本
Figure BDA00038728447300001510
从黑盒模型的查询结果。
D)通过给定攻击目标的真实样本进行优化,得到一个非常靠近黑盒模型b的蒸馏模型f,生成的最终对抗样本就能够有效的攻击黑盒模型;
11)设置总损失函数为:
Figure BDA00038728447300001511
式中,α,β,γ表示第一、第二、第三比例系数。α+β+γ=1,本实施例中,分别设置为0.3,0.3,0.4.
重复上述步骤,对总损失函数进行优化,获得最终优化的蒸馏模型、生成器和判别器,组成优化后的AdvGAN生成对抗网络。
12)利用优化后的AdvGAN生成对抗网络生成最终对抗样本。
本实施例提出了一种基于AdvGAN的对抗样本生成方法,通过蒸馏模型与生成器,判别器的相呼应优化,分两个阶段训练,更能有效的提取到图片的特征,生成目标类别的对抗样本时能够保留图片的主要特征,生成具有更高质量,更符合人类视觉的对抗样本。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种基于AdvGAN的对抗样本生成方法,其特征在于,包括:
S1:构建AdvGAN生成对抗网络,包括生成器、判别器和蒸馏模型;
S2:获取真实样本,并在真实样本中添加随机噪声,获得噪声增强样本;
S3:将噪声增强样本输入生成器中,使用梯度下降法计算扰动,并与噪声增强样本结合,生成扰动样本;
S4:将扰动样本和真实样本输入判别器,设置对抗损失函数作为目标函数;通过优化目标函数,获得初步训练的生成器和判别器;
S5:选择高斯噪声,将高斯噪声和真实样本输入初步训练的生成器,根据生成器损失,生成对抗样本;
S6:将对抗样本和真实样本输入初步训练的判别器,区别对抗样本和真实样本,计算判别器损失;
S7:计算对抗样本和真实样本的范式距离,与预设扰动范围进行比较,根据比较结果设置BIM扰动损失约束或铰链式损失约束;
S8:根据生成器损失和判别器损失,更新初步训练的生成器和判别器的参数,获得初步优化的生成器和判别器;
S9:将对抗样本和扰动样本输入蒸馏模型中,设置蒸馏模型对抗性损失函数,利用动态蒸馏法使蒸馏模型与初步优化的生成器、判别器相互进行迭代优化;
S10:根据对抗损失函数、BIM扰动损失约束、铰链式损失约束和对抗性损失函数建立总损失函数;通过优化总损失函数,获得最终优化的蒸馏模型、生成器和判别器,组成优化后的AdvGAN生成对抗网络;
S11:利用优化后的AdvGAN生成对抗网络生成最终对抗样本。
2.根据权利要求1所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述步骤S2的具体方法为:
S2.1:获取真实样本x∈X,真实样本的噪声分布为N(0,∑*);其中,X表示真实样本数据集,∑*表示噪声矩阵;
S2.2:对每个真实样本x选择随机噪声n∈N,添加噪声约束和离散度约束,生成噪声增强样本x′,获得噪声增强数据集X′;
所述噪声约束为:
Figure FDA0003872844720000021
所述离散度约束为:
Figure FDA0003872844720000022
式中,Xenc,n(x,x′)表示真实样本x与噪声增强样本x′间的噪声约束,fw(*)表示特征提取操作,argmin表示求取||fw+n(x)-fw(x′)||2最小值时,x′的取值函数;||*||2表示求取L2范数操作;KL(pX′(x′)||qX(x))表示真实样本x与噪声增强样本x′间的KL离散度,p(x′)表示噪声增强样本x′的概率密度函数,q(x)表示真实样本x的概率密度函数。
3.根据权利要求2所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述步骤S3的具体方法为:
随机选取噪声增强样本x′输入到生成器G中,在保持噪声增强样本数据特征的前提下,使用梯度下降法迭代计算扰动δadv
Figure FDA0003872844720000023
Figure FDA0003872844720000024
Figure FDA0003872844720000025
Figure FDA0003872844720000026
式中,gc表示梯度符号,
Figure FDA0003872844720000027
表示第t次迭代的预期扰动,w表示梯度参数,y表示特征标签,
Figure FDA0003872844720000028
表示第t次迭代的梯度动量;
Figure FDA0003872844720000029
表示第t+1次迭代的梯度动量,μ表示衰减因子,a表示符号系数,[-ε,ε]表示预设扰动范围,
Figure FDA00038728447200000210
表示第t+1次迭代的预期扰动;
Figure FDA00038728447200000211
表示第t+1次迭代的扰动;
Figure FDA00038728447200000212
Figure FDA00038728447200000213
的差值在预设扰动范围内时,将
Figure FDA00038728447200000214
作为扰动δadv;将扰动δadv与噪声增强样本x′结合,生成扰动样本
Figure FDA00038728447200000215
4.根据权利要求3所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述步骤S3中,生成扰动样本后,还需对扰动样本进行筛选,具体方法为:
计算扰动样本
Figure FDA00038728447200000216
与真实样本x的L2范式距离:
Figure FDA00038728447200000217
式中,Lp表示扰动样本与真实样本的L2范式距离;
设定扰动阈值∈,若Lp>|∈|,则丢弃该扰动样本。
5.根据权利要求4所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述步骤S4中,对抗损失函数为:
Figure FDA0003872844720000031
式中,LGAN表示对抗损失函数,fL(*)表示满足1-Lipschitz连续的函数。
6.根据权利要求5所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述步骤S5的具体方法为:
随机选择m个真实样本x,选定高斯噪声η,将真实样本和高斯噪声输入初步训练的生成器,初始化初步训练的生成器的参数,生成对抗样本xadv,并计算生成器损失:
Figure FDA0003872844720000032
式中,
Figure FDA0003872844720000033
表示生成器损失,G(*)表示初步训练的生成器,D(*)表示初步训练的判别器,N′表示高斯噪声分布。
7.根据权利要求6所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述步骤S6中,判别器损失为:
Figure FDA0003872844720000034
式中,
Figure FDA0003872844720000035
表示判别器损失,G(*)表示初步训练的生成器,D(*)表示初步训练的判别器,N′表示高斯噪声分布。
8.根据权利要求7所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述步骤S7的具体方法为:
计算对抗样本xadv与真实样本x的L2范式距离:
Figure FDA0003872844720000036
式中,
Figure FDA0003872844720000037
表示对抗样本与真实样本的L2范式距离;
Figure FDA0003872844720000038
与设定的扰动阈值∈进行比较,若
Figure FDA0003872844720000039
则设置BIM扰动损失约束:
Figure FDA00038728447200000310
式中,LB表示BIM扰动损失;m表示随机选择的真实样本数量,k表示对抗样本的数量,σ表示第一超参数;
Figure FDA00038728447200000311
则设置铰链式损失约束:
Lhinge=Exmax(0,||G(x)||2-c)
式中,Lhinge表示铰链式损失,c表示上限值。
9.根据权利要求8所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述步骤S9的具体方法为:
S9.1:将对抗样本和扰动样本输入蒸馏模型中;
S9.2:设置以黑盒模型为目标模型的蒸馏模型f,设定目标攻击类别t或不设定攻击类别,蒸馏模型f的对抗性损失函数为:
Figure FDA0003872844720000041
式中,
Figure FDA0003872844720000042
表示蒸馏模型f的对抗性损失,lf表示第一交叉熵损失;
S9.3:利用第i-1次迭代的蒸馏模型fi-1更新第i次迭代的初步训练的生成器Gi和初步训练的判别器Di;更新方法为:
Figure FDA0003872844720000043
式中,
Figure FDA0003872844720000044
表示第i-1次迭代的蒸馏模型的对抗性损失;τ,
Figure FDA0003872844720000045
表示第二、第三超参数;
S9.4:利用第i次迭代的初步训练的生成器Gi反馈更新第i次迭代的蒸馏模型fi;更新方法为:
Figure FDA0003872844720000046
式中,
Figure FDA0003872844720000047
表示第二交叉熵损失,f(xadv)表示蒸馏模型对对抗样本xadv的输出,
Figure FDA0003872844720000048
表示蒸馏模型对扰动样本
Figure FDA0003872844720000049
的输出,b(xadv)表示对抗样本xadv从黑盒模型的查询结果,
Figure FDA00038728447200000410
表示扰动样本
Figure FDA00038728447200000411
从黑盒模型的查询结果。
10.根据权利要求9所述的基于AdvGAN的对抗样本生成方法,其特征在于,所述总损失函数为:
Figure FDA00038728447200000412
式中,α,β,γ表示第一、第二、第三比例系数。
CN202211212575.0A 2022-09-29 2022-09-29 一种基于AdvGAN的对抗样本生成方法 Pending CN115510986A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211212575.0A CN115510986A (zh) 2022-09-29 2022-09-29 一种基于AdvGAN的对抗样本生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211212575.0A CN115510986A (zh) 2022-09-29 2022-09-29 一种基于AdvGAN的对抗样本生成方法

Publications (1)

Publication Number Publication Date
CN115510986A true CN115510986A (zh) 2022-12-23

Family

ID=84508658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211212575.0A Pending CN115510986A (zh) 2022-09-29 2022-09-29 一种基于AdvGAN的对抗样本生成方法

Country Status (1)

Country Link
CN (1) CN115510986A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117493496A (zh) * 2023-12-27 2024-02-02 环球数科集团有限公司 一种自然语言模型的生成对抗式样本处理系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117493496A (zh) * 2023-12-27 2024-02-02 环球数科集团有限公司 一种自然语言模型的生成对抗式样本处理系统
CN117493496B (zh) * 2023-12-27 2024-04-16 环球数科集团有限公司 一种自然语言模型的生成对抗式样本处理系统

Similar Documents

Publication Publication Date Title
CN109639710B (zh) 一种基于对抗训练的网络攻击防御方法
CN111881935B (zh) 一种基于内容感知gan的对抗样本生成方法
CN109948658B (zh) 面向特征图注意力机制的对抗攻击防御方法及应用
Chen et al. POBA-GA: Perturbation optimized black-box adversarial attacks via genetic algorithm
CN110941794B (zh) 一种基于通用逆扰动防御矩阵的对抗攻击防御方法
CN112364885B (zh) 一种基于深度神经网络模型可解释性的对抗样本防御方法
CN111598210B (zh) 面向基于人工免疫算法对抗攻击的对抗防御方法
CN112580728B (zh) 一种基于强化学习的动态链路预测模型鲁棒性增强方法
CN113033822A (zh) 基于预测校正和随机步长优化的对抗性攻击与防御方法及系统
CN111047054A (zh) 一种基于两阶段对抗知识迁移的对抗样例防御方法
CN113808165B (zh) 面向三维目标跟踪模型的点扰动对抗攻击方法
Suzuki et al. Adversarial example generation using evolutionary multi-objective optimization
CN112085050A (zh) 基于pid控制器的对抗性攻击与防御方法及系统
CN112597993A (zh) 基于补丁检测的对抗防御模型训练方法
CN115510986A (zh) 一种基于AdvGAN的对抗样本生成方法
CN113935496A (zh) 一种面向集成模型的鲁棒性提升防御方法
CN114399630A (zh) 基于信念攻击和显著区域扰动限制的对抗样本生成方法
CN113435264A (zh) 基于寻找黑盒替代模型的人脸识别对抗攻击方法及装置
CN108985382A (zh) 基于关键数据通路表示的对抗样本检测方法
CN113297574A (zh) 基于强化学习奖励机制的激活函数自适应变化模型窃取防御方法
CN111950635A (zh) 一种基于分层特征对齐的鲁棒特征学习方法
CN115272774A (zh) 基于改进自适应差分进化算法的对抗样本攻击方法及系统
CN114579777A (zh) 一种改进的符号优化对抗攻击方法
CN114925699A (zh) 一种基于风格变换的高迁移性对抗文本生成方法
CN113344814A (zh) 一种基于生成机制的高分辨率对抗样本的合成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination