申请/专利权人:西北工业大学
申请日:2023-12-25
公开(公告)日:2024-04-16
公开(公告)号:CN117893796A
主分类号:G06V10/764
分类号:G06V10/764;G06V10/82;G06N3/0475;G06N3/094
优先权:
专利状态码:在审-公开
法律状态:2024.04.16#公开
摘要:本发明提供一种快速多范数自动梯度上升的对抗训练方法,主要解决PGD对抗训练及其他基于PGD的对抗训练方法,单次网络更新速度相对较快,但仅具备无穷范数对抗样本的防御能力和MSD对抗训练及其他多范数对抗训练方法单次网络更新速度缓慢且只能在小模型上进行训练,难以向大模型或大数据集上扩展的问题。本发明提出一种基于快速多范数自动梯度上升的对抗训练方法,单次网络更新需要c+n+1次前后向过程,其中n取10,c指使用几种范数的对抗样本,因此本发明提出的方法在速度上与PGD对抗训练是一个量级,在效果上可以实现优于MSD方法的多范数鲁棒性。
主权项:1.一种快速多范数自动梯度上升的对抗训练方法,其特征在于:包括如下步骤:步骤S0:将数据集中的自然样本图片按照划分为Nbat批,每一批次的自然样本图片集为X,Y,其中n表示这个批次样本的数量,c×h×w表示自然样本图片的图层数×高×宽,Y为独热标签,C为分类的类别数;步骤S1:单步预攻击;从自然样本图片集X,Y取自然样本x,y,其中神经网络分类器记为fθ·;步骤S101:基于交叉熵损失函数求自然样本的梯度信息;输入为自然样本x,y,输出为梯度信息交叉熵损失函数通过链式求导法则得到交叉熵损失函数相对于x的梯度,即步骤102:基于梯度信息求取一范数对抗性噪声;公式如下: 其中代表对g逐点求绝对值,代表|g|的第i个元素值,|g|q代表|g|中第q大的元素值,代表单步噪声的一范数大小,代表最终一范数对抗性噪声的一范数大小;整个过程相当于选择梯度绝对值最大的q个点添加扰动,对逐点处理得到表示投影过程;CLIP-x,1-x代表将元素值裁剪到[-x,1-x],使得即像素值为合法取值;步骤103:基于梯度信息求取二范数对抗性噪声;公式如下: 与步骤102相同的方法,先得到二范数大小为之后先进行投影使得最后进行裁剪操作,使得步骤104:将梯度信息求取无穷范数对抗性噪声,公式如下: 与步骤S103相同的方法,先得到无穷范数大小为之后进行投影使得最后进行裁剪操作,使得步骤S2:选定攻击范数,并使用自动攻击执行最大化过程;步骤S201:根据步骤S1得到的三种范数的对抗性噪声噪声分别计算三个损失值: 选择使损失函数最大的范数作为后续的攻击范数;步骤S202:根据选择的一范数、二范数或无穷范数,使用对应范数自动攻击生成对抗样本;若选择了一范数,则使用一范数自动攻击生成对抗样本;一范数自动攻击是一种迭代式攻击,为迭代次数,设定为10;为一范数约束;设定为12;单步迭代过程与步骤102一致,但单步噪声约束及扰动点q数遵循一范数调整原则;若选择了二范数或无穷范数,则使用二范数或无穷范数自动攻击生成对抗样本;二范数自动攻击或无穷范数自动攻击是一种迭代式攻击;使用二范数自动攻击时,为迭代次数,设定为10,为一范数约束,设定为0.5;使用无穷范数自动攻击时,为迭代次数,设定为10,为一范数约束,设定为8255;二范数自动攻击的单步迭代过程与步骤S103一致;无穷范数自动攻击的单步迭代过程与步骤S104一致;其中,二范数和无穷范数单步迭代过程中,但单步噪声约束和分别遵循多范数调整原则;对于步骤S2,设置即网络共计进行10次前后向过程;重复步骤S1和S2,同时遍历本批次中的自然样本,得到这本批次的对抗样本集步骤S3:进行神经网络训练;步骤S301:将一批对抗样本集输入神经网络fθ·,获得损失函数值,损失函数为: 步骤S302:通过损失函数,利用BP算法进行梯度回传,对神经网络进行参数更新,SGD算法表示为: θi+1=θi-lr·g其中,θ表示神经网络的参数,lr表示学习率;遍历NBat次自然样本,跳转至步骤S1,直至遍历完成全部的数据集;选择精度最高或鲁棒性最高的网络参数作为训练最终结果。
全文数据:
权利要求:
百度查询: 西北工业大学 一种快速多范数自动梯度上升的对抗训练方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。