基于加速自适应步长机制的对抗样本生成方法及系统

本发明涉及机器学习和深度学习领域,具体涉及基于加速自适应步长机制的对抗样本生成方法及系统。
背景技术:
1、近年来,深度神经网络(dnn)在计算机视觉、语音识别、自然语言处理等领域表现出了卓越性能,但是dnn容易被精心设计的对抗样本攻击。对抗样本是通过在原始数据上添加微小扰动而生成,这种攻击方式对于人类来说很难察觉,但是对于dnn来说却能导致严重的误判。对抗样本的存在揭示了dnn的脆弱性,对于安全敏感应用场景如自动驾驶、人脸识别、医疗诊断、金融风控等,这种脆弱性可能会导致严重后果,这极大限制了dnn在关键安全领域的应用。
2、根据攻击的目标模型不同,对抗攻击可以分为白盒攻击和黑盒攻击,例如中国专利公开号cn113704758a公开的“一种黑盒攻击对抗样本生成方法及系统”是黑盒攻击,中国专利公开号cn111476228a公开的“针对场景文字识别模型的白盒对抗样本生成方法”是白盒攻击。白盒攻击指目标模型的架构、参数和训练数据是已知的。在白盒攻击中,允许攻击者利用输入图像的梯度来构建对抗样本。因此,白盒攻击是目前最有效的攻击方式。黑盒攻击指目标模型内部信息是未知的,但现实世界的攻击更多的是针对黑盒攻击。因此,黑盒攻击比白盒攻击更具挑战性和研究意义。
3、现实世界的攻击更多的是针对黑盒攻击,基于梯度的对抗攻击是主要的黑盒攻击方法,但现有方法生成的对抗样本迁移性较差,尤其是针对防御性模型。为增强对抗样本的迁移性,亟需对现有对抗样本生成方法进行改进。
技术实现思路
1、本发明所要解决的技术问题在于现有技术对抗样本生成方法迁移性较差的问题。
2、本发明通过以下技术手段解决上述技术问题的:基于加速自适应步长机制的对抗样本生成方法,包括以下步骤:
3、步骤一、利用无干扰的干净样本初始化第一对抗样本和第二对抗样本;
4、步骤二、判断是否达到迭代次数,若是,执行步骤六,若否,执行步骤三;
5、步骤三、根据第二对抗样本计算当前的梯度,根据当前的梯度以及上一次迭代过程中的一阶矩计算当前一阶矩,根据当前的梯度以及上一次迭代过程中的二阶矩计算当前二阶矩,利用当前一阶矩以及当前二阶矩更新当前的梯度,得到当前的梯度修正值;
6、步骤四、利用当前的梯度修正值更新当前的第一对抗样本,得到更新后的第一对抗样本;
7、步骤五、利用更新后的第一对抗样本以及当前的梯度修正值更新当前的第二对抗样本,得到更新后的第二对抗样本,返回步骤二;
8、步骤六、输出当前迭代过程中更新后的第一对抗样本。
9、进一步地,所述步骤一还包括:初始化一阶矩和二阶矩均为0。
10、进一步地,所述根据第二对抗样本计算当前的梯度,公式如下:
11、
12、其中,gt为第t次迭代过程中的梯度,zt为第t次迭代过程中的第二对抗样本,y为zt-1的标签,用来表征zt-1有无干扰,j为损失函数,为损失函数对zt-1的梯度,‖‖1为一范数符号。
13、更进一步地,所述根据当前的梯度以及上一次迭代过程中的一阶矩计算当前一阶矩,根据当前的梯度以及上一次迭代过程中的二阶矩计算当前二阶矩,公式如下:
14、mt=β1mt-1+(1-β1)gt
15、vt=β2vt-1+(1-β2)gt·gt
16、其中,β1表示第一衰减系数,mt-1表示第t-1次迭代过程中的一阶矩,β2表示第二衰减系数,vt-1表示第t-1次迭代过程中的二阶矩。
17、更进一步地,所述利用当前一阶矩以及当前二阶矩更新当前的梯度,得到当前的梯度修正值,公式如下:
18、
19、其中,表示第t次迭代过程中的梯度修正值,δ为一个常数。
20、更进一步地,所述步骤四包括:
21、
22、其中,表示第t+1次迭代过程中的第一对抗样本,x表示无干扰的干净样本,ε表示扰动量,clipx,ε{·}是裁剪函数,用来保证生成的第一对抗样本符合l∞范数约束,即||x-xadv||∞≤ε,xadv表示第一对抗样本,η表示保守学习率,λ表示第三衰减系数。
23、更进一步地,所述步骤五包括:
24、
25、其中,zt+1表示第t+1次迭代过程中的第二对抗样本,τ表示第四衰减系数,且表示激进学习率。
26、本发明还提供基于加速自适应步长机制的对抗样本生成系统,包括:
27、初始化模块,用于利用无干扰的干净样本初始化第一对抗样本和第二对抗样本;
28、判断模块,用于判断是否达到迭代次数,若是,执行结果输出模块,若否,执行梯度更新模块;
29、梯度更新模块,用于根据第二对抗样本计算当前的梯度,根据当前的梯度以及上一次迭代过程中的一阶矩计算当前一阶矩,根据当前的梯度以及上一次迭代过程中的二阶矩计算当前二阶矩,利用当前一阶矩以及当前二阶矩更新当前的梯度,得到当前的梯度修正值;
30、第一对抗样本更新模块,用于利用当前的梯度修正值更新当前的第一对抗样本,得到更新后的第一对抗样本;
31、第二对抗样本更新模块,用于利用更新后的第一对抗样本以及当前的梯度修正值更新当前的第二对抗样本,得到更新后的第二对抗样本,返回执行判断模块;
32、结果输出模块,用于输出当前迭代过程中更新后的第一对抗样本。
33、进一步地,所述初始化模块还用于:初始化一阶矩和二阶矩均为0。
34、进一步地,所述根据第二对抗样本计算当前的梯度,公式如下:
35、
36、其中,gt为第t次迭代过程中的梯度,zt为第t次迭代过程中的第二对抗样本,y为zt-1的标签,用来表征zt-1有无干扰,j为损失函数,为损失函数对zt-1的梯度,‖‖1为一范数符号。
37、更进一步地,所述根据当前的梯度以及上一次迭代过程中的一阶矩计算当前一阶矩,根据当前的梯度以及上一次迭代过程中的二阶矩计算当前二阶矩,公式如下:
38、mt=β1mt-1+(1-β1)gt
39、vt=β2vt-1+(1-β2)gt·gt
40、其中,β1表示第一衰减系数,mt-1表示第t-1次迭代过程中的一阶矩,β2表示第二衰减系数,vt-1表示第t-1次迭代过程中的二阶矩。
41、更进一步地,所述利用当前一阶矩以及当前二阶矩更新当前的梯度,得到当前的梯度修正值,公式如下:
42、
43、其中,表示第t次迭代过程中的梯度修正值,δ为一个常数。
44、更进一步地,所述第一对抗样本更新模块还用于:
45、
46、其中,表示第t+1次迭代过程中的第一对抗样本,x表示无干扰的干净样本,ε表示扰动量,clipx,ε{·}是裁剪函数,用来保证生成的第一对抗样本符合l∞范数约束,即||x-xadv||∞≤ε,xadv表示第一对抗样本,η表示保守学习率,γ表示第三衰减系数。
47、更进一步地,所述第二对抗样本更新模块还用于:
48、
49、其中,zt+1表示第t+1次迭代过程中的第二对抗样本,τ表示第四衰减系数,且表示激进学习率。
50、本发明的优点在于:
51、(1)本发明根据第二对抗样本计算当前的梯度,通过当前一阶矩以及当前二阶矩更新当前的梯度,利用当前的梯度修正值更新当前的第一对抗样本,利用更新后的第一对抗样本以及当前的梯度修正值更新当前的第二对抗样本,不断迭代,从而实现了第一对抗样本的多步更新,且更新过程中累积历史梯度信息,使得算法的泛化性更强,提高对抗攻击的迁移性。
52、(2)本发明通过调整β1和β2的值,控制算法对历史梯度信息以及对于近期梯度变化的敏感度,实现了由从固定学习率转变为自适应学习率,从而实现将加速的自适应策略应用于对抗样本生成算法,实现自适应步长。
53、(3)本发明采用nesterov型加速机制,通过保守学习率η和激进学习率分别对第一对抗样本和历史第二对抗样本zt进行线性组合,得到更新后的第二对抗样本zt+1,通过线性组合实现权重衰减,权重衰减能极大地促进算法的泛化性能。
54、(4)本发明通过将nesterov型加速机制作用于自适应优化算法adamw生成对抗样本,形成了具有两步更新的自适应对抗样本生成方法。该方法在adamw优化器的基础上实现了对一阶矩和二阶矩的估计,引入了nesterov型机制线性组合,实现保守更新(利用保守学习率η进行更新)和激进更新(利用激进学习率进行更新)的两步优化过程,实现了从动量和自适应步长两个角度累积历史梯度信息,提高对抗攻击的迁移性。
技术研发人员:鲍蕾,余红霞,鲁磊纪,黄启东,肖红菊,周丽媛,束凯,赵小帆,张彬彬
技术所有人:中国人民解放军陆军炮兵防空兵学院
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
