一种基于GRAN架构的对抗样本攻防性能提升方法与流程

专利2023-06-09  100


一种基于gran架构的对抗样本攻防性能提升方法
技术领域
1.本发明属于人工智能安全技术领域,具体涉及一种基于gran架构的对抗样本攻防性能提升方法。


背景技术:

2.近年来,随着机器学习理论技术的不断成熟,人工智能技术在计算机视觉、自然语言处理、语音识别等诸多领域得到广泛应用,已经深刻地影响到人类的日常生活。然而进一步研究发现,人工智能技术自身存在多种安全性问题,其中对抗样本是目前人工智能安全领域的研究热点。通过对正常样本添加细微的扰动,对抗样本可以使目标模型返回错误的结果。在自动驾驶、工业控制、智能安防等安全攸关领域,对抗样本的存在阻碍了人工智能技术在这些领域的进一步应用。因此,有必要对对抗样本的防御方法进行深入研究。
3.由于目前人工智能模型大多可解释性较差,很难从机理上彻底防御对抗样本。有效的防御方法多是根据已生成的对抗样本,对目标模型进行再训练,从而提高目标模型对于对抗样本的鲁棒性,即对抗训练方法;或从对抗样本中学得对抗扰动的模式将其去除,从而将对抗样本还原为原始样本,即对抗样本修复方法。这些方法都是在生成对抗样本之后再进行相应的防御,防御能力受制于已有对抗样本的攻击能力,在面对更强的新型对抗样本攻击时表现不佳。
4.参考文献1(jiang lingyun,qiao kai,qin ruoxi,et al.cycle-consistent adversarial gan:the integration of adversarial attack and defense[j].security and communication networks,2020,v2020)针对现有对抗样本防御方法性能存在滞后性的问题,提出基于循环生成对抗网络的对抗样本生成与修复框架,将对抗样本攻击与防御放在同一框架下进行研究。但该方法使用两个循环生成对抗网络分别进行对抗样本生成与修复,对抗样本通过神经网络生成,未对传统方法生成的对抗样本进行防御研究,且该方法两个网络独立训练,未考虑对抗样本生成与修复之间的对抗博弈关系。


技术实现要素:

[0005]
(一)要解决的技术问题
[0006]
本发明针对目前人工智能模型易受对抗样本攻击的问题,解决已有对抗样本防御方法相比于攻击方法的滞后性问题,提供一种对抗样本攻防性能提升方法。
[0007]
(二)技术方案
[0008]
为了解决上述技术问题,本发明提供了一种基于gran架构的对抗样本攻防性能提升方法,包括以下步骤:
[0009]
第一步、设计gran网络的结构;
[0010]
第二步、基于设计的gran网络实现对抗样本生成和修复能力提升。
[0011]
优选地,第一步中,将gran网络设计为由以下5个部分组成:目标模型f、输入样本集合x、模型输出集合y、生成器g、修复器r;
[0012]
(1)目标模型f:
[0013]
目标模型f表示为映射f:x

y,由一种深度学习模型实现;
[0014]
(2)输入样本集合x:
[0015]
原始样本集合x由目标模型f所有可能的输入构成,其中每个元素为量化后的输入样本;
[0016]
(3)模型输出集合y:
[0017]
模型输出集合y由目标模型f的所有可能结果构成;
[0018]
(4)生成器g:
[0019]
针对一个目标模型f,生成器g可表示为映射g:x

x,其功能为对于任意原始输入样本x∈x生成对抗样本xa;
[0020]
g可由一个功能函数实现,即由对抗样本生成算法实现,或由生成式神经网络实现;
[0021]
当g使用一个对抗样本生成算法实现时,生成对抗样本时需要将目标模型f与修复器r作为输入,即表示为xa=g(x,t;f,r),其中t∈y表示对抗样本攻击的目标;
[0022]
当g使用一个生成式神经网络实现时,训练神经网络g的目标函数可表示为lg=l
gs
(x,xa)+λg·
l
ga
(t,yr),其中xa=g(x),表示g生成的对抗样本;yr=f(r(xa))表示使用修复器r对对抗样本xa修复后,将得到的修复样本r(xa)输入f得到的模型输出结果;l
gs
,l
ga
分别表示一种损失函数;λg为权重因子;
[0023]
目标函数lg中,l
gs
这部分用于促进对抗样本xa与原始输入样本x相近,l
ga
这部分用于使对抗样本xa在修复器r修复后仍具有攻击效果;
[0024]
(5)修复器r:
[0025]
针对一个目标模型f,修复器r可表示为映射r:x

x,其功能为将对抗样本xa生成修复样本xr;
[0026]
r由生成式神经网络实现;
[0027]
训练神经网络r的目标函数可表示为lr+l
rs
(x,xr)+λr·
l
ra
(y,yr),其中y∈y表示原始输入样本x下目标模型f的输出结果,即y=f(x);xr=r(xa),表示r生成的修复样本;yr=f(xr),表示目标模型f在输入xr时的模型输出结果;l
rs
,l
ra
分别表示一种损失函数;λr为权重因子;
[0028]
目标函数lr中,l
rs
这部分用于促进修复样本xr与原始输入样本x相近,l
ra
这部分用于促进提升r的对抗样本修复能力。
[0029]
优选地,第二步是通过训练gran网络,实现的基于gran架构的对对抗样本的攻击和修复能力进行提升的方法。
[0030]
优选地,第二步包括以下步骤:
[0031]
(1)给定目标模型f,训练样本集合攻击目标t,初始化生成器g、修复器r;
[0032]
(2)从x
train
中选择一批次训练数据x,输入到生成器g中,得到相应的对抗样本xa;
[0033]
(2a)如果g是一种对抗样本生成算法实现的,则将目标模型f和修复器r视作一个新的目标模型f(r(
·
))得到相应的对抗样本xa=g(x,t;f,r),此时g不参与步骤(5)的参数更新;
[0034]
(2b)如果g是同生成式神经网络实现的,则对抗样本xa=g(x);
[0035]
(3)将对抗样本xa输入到修复器r中,得到修复样本xr=r(xa);
[0036]
(4)将原始训练数据x,对抗样本xa输入到目标模型,得到输出结果y=f(x),ya=f(xa);
[0037]
(5)计算目标函数lg=l
gs
(x,xa)+λg·
l
ga
(t,yr),lr=l
rs
(x,xr)+λr·
l
ra
(y,yr),进行反向传播,使用一种优化算法更新g和r的参数;
[0038]
(6)重复步骤(2)到(5)直到目标函数lg,lr均收敛;
[0039]
网络训练结束后,修复器r可用于将对抗样本修复为目标模型可正确处理的修复样本,将r与目标模型f相连,以提高目标模型面对对抗样本的鲁棒性;如果g是通过神经网络实现的,那么通过g生成一定攻击能力的对抗样本;如果g是通过一种对抗样本生成算法实现的,那么通过在目标模型f前连接修复器r,将两个网络视作一个新的目标模型,得到攻击能力更强的对抗样本。
[0040]
优选地,所述深度学习模型包括用于图像数据的卷积网络模型,用于语音、文本数据的网络模型,用于深度强化学习的网络模型。
[0041]
优选地,所述量化后的输入样本包括图像样本的像素矩阵、语音样本的梅尔频率倒谱系数特征、文本数据的词向量、网络流量数据的量化特征。
[0042]
优选地,所述目标模型f的所有可能结果包括分类问题模型中的各类别标签、回归模型中的预测值取值范围、强化学习模型的动作空间。
[0043]
优选地,所述对抗样本生成算法包括fgsm、deepfool、jsma、c&w。
[0044]
优选地,所述生成式神经网络为自编码器。
[0045]
优选地,所述优化算法指一阶梯度优化算法。
[0046]
(三)有益效果
[0047]
本发明基于攻防对抗博弈的思想,提出生成修复对抗网络架构gran,并基于该架构提出一种对抗样本生成和修复方法。该架构将对抗样本生成和修复放在同一架构下进行研究,并提出了一种对抗样本攻防性能提升方法,通过生成器和修复器对目标模型进行连续的对抗样本攻击和防御,提升对抗样本攻击和防御的能力,最终使目标模型面对对抗样本攻击时更加鲁棒,即可以抵御更强的对抗样本攻击。
附图说明
[0048]
图1为本发明的方法流程图;
[0049]
图2为生成器g通过神经网络实现时,gran的工作流程图;
[0050]
图3为生成器g通过某对抗样本生成算法实现时,gran的工作流程图。
具体实施方式
[0051]
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
[0052]
针对目前人工智能模型易受对抗样本攻击的问题,解决已有对抗样本防御方法相比于攻击方法的滞后性问题,本发明基于攻防对抗博弈的思想,提出生成修复对抗网络架构(generative repair adversarial network,gran),并基于该架构提出一种对抗样本生
成和修复方法。该架构将对抗样本生成和修复放在同一架构下进行研究,并提出了一种对抗样本攻防性能提升方法,通过生成器和修复器对目标模型进行连续的对抗样本攻击和防御,提升对抗样本攻击和防御的能力,最终使目标模型面对对抗样本攻击时更加鲁棒,即可以抵御更强的对抗样本攻击。
[0053]
本发明提出如下技术方案:一种基于gran架构的对抗样本攻防性能提升方法。该方案包括两个部分:1)gran网络结构:基于对生成对抗网络(generative adversarial network,gan)的对抗博弈原理,将判别器d替换为修复器r,并修改相应的目标函数,实现生成器g与修复器r之间的零和博弈;2)基于gran的对抗样本生成和修复方法:基于gran架构,使用生成器g生成对抗样本,修复器r对对抗样本进行修复,实现对抗样本生成和修复之间的零和博弈过程,互相提升各自的性能,最终使修复器r可以修复攻击效果更强的对抗样本,进而提高目标模型面对对抗样本攻击的鲁棒性。
[0054]
下面将对方案的每个部分进行详细介绍。
[0055]
(一)gran网络结构的设计
[0056]
本部分主要提出了gran网络架构。该网络架构主要由以下5个部分组成:目标模型f、输入样本集合x、模型输出集合y、生成器g、修复器r。下面分别介绍每个组成部分。
[0057]
(1)目标模型f:
[0058]
目标模型f可表示为映射f:x

y,由某种深度学习模型实现,包括但不限于常用于图像数据的resnet、fasterrcnn、yolo-v3等卷积网络模型,常用于语音、文本数据的lstm、transformer、bert等网络模型,用于深度强化学习的dqn、a3c、ppo等网络模型。
[0059]
(2)输入样本集合x:
[0060]
原始样本集合x由目标模型f所有可能的输入构成,其中每个元素一般为量化后的输入样本,如图像样本的像素矩阵、语音样本的梅尔频率倒谱系数(mel-scale frequency cepstral coefficients,mfcc)特征、文本数据的词向量、网络流量数据的量化特征等。
[0061]
(3)模型输出集合y:
[0062]
模型输出集合y由目标模型f的所有可能结果构成,如分类问题模型中的各类别标签、回归模型中的预测值取值范围、强化学习模型的动作空间等。
[0063]
(4)生成器g:
[0064]
(4a)针对某个目标模型f,生成器g可表示为映射g:x

x,其功能为对于任意原始输入样本x∈x生成对抗样本xa;
[0065]
(4b)g可以由某个功能函数实现,如fgsm、deepfool、jsma、c&w等白盒对抗样本生成算法,也可以由神经网络实现,如自编码器等生成网络;
[0066]
(4c)当g使用某个对抗样本生成算法实现时,生成对抗样本时需要将目标模型f与修复器r作为输入,即可表示为xa=g(x,t;f,r),其中t∈y表示对抗样本攻击的目标;
[0067]
(4d)当g使用某个生成式神经网络实现时,训练神经网络g的目标函数可表示为lg=l
gs
(x,xa)+λg·
l
ga
(t,yr),其中xa=g(x),表示g生成的对抗样本;yr=f(r(xa))表示使用修复器r对对抗样本xa修复后,将得到的修复样本r(xa)输入f得到的模型输出结果;l
gs
,l
ga
分别表示某种损失函数,如交叉熵损失、均方差损失等;λg为权重因子;
[0068]
(4e)目标函数lg中,l
gs
部分用于促进对抗样本xa与原始输入样本x相近,l
ga
部分用于使对抗样本xa在修复器r修复后仍具有攻击效果。
[0069]
(5)修复器r:
[0070]
(5a)针对某个目标模型f,修复器r可表示为映射r:x

x,其功能为将对抗样本xa生成修复样本xr;
[0071]
(5b)r由神经网络实现,如自编码器等生成式网络;
[0072]
(5c)训练神经网络r的目标函数可表示为lr=l
rs
(x,xr)+λr·
l
ra
(y,yr),其中y∈y表示原始输入样本x下目标模型f的输出结果,即y=f(x);xr=r(xa),表示r生成的修复样本;yr=f(xr),表示目标模型f在输入xr时的模型输出结果;l
rs
,l
ra
分别表示某种损失函数,如交叉熵损失、均方差损失等;λr为权重因子。
[0073]
(5d)目标函数lr中,l
rs
部分用于促进修复样本xr与原始输入样本x相近,l
ra
部分用于促进提升r的对抗样本修复能力。
[0074]
(二)基于gran的对抗样本生成和修复能力提升方法
[0075]
本部分主要通过训练gran网络,实现基于gran架构的对对抗样本的攻击和修复能力进行提升的方法。该方法主要包括以下步骤:
[0076]
(1)给定目标模型f,训练样本集合攻击目标t,初始化生成器g、修复器r;
[0077]
(2)从x
train
中选择一批次训练数据x,输入到生成器g中,得到相应的对抗样本xa;
[0078]
(2a)如果g是某种对抗样本生成算法实现的,则将原目标模型f和修复器r视作一个新的目标模型f(r(
·
))得到相应的对抗样本xa=g(x,t;f,r),此时g不参与步骤(5)的参数更新;
[0079]
(2b)如果g是同生成式神经网络实现的,则对抗样本xa=g(x);
[0080]
(3)将对抗样本xa输入到修复器r中,得到修复样本xr=r(xa);
[0081]
(4)将原始训练数据x,对抗样本xa输入到目标模型,得到输出结果y=f(x),ya=f(xa);
[0082]
(5)计算目标函数lg=l
gs
(x,xa)+λg·
l
ga
(t,yr),lr=l
rs
(x,xr)+λr·
l
ra
(y,yr),进行反向传播,使用某种优化算法更新g和r的参数,其中优化算法指一阶梯度优化算法,包括随机梯度下降算法sgd(stochastic gradient descent)、均方根传递rmsprop(root mean square prop)、自适应矩估计adam(adaptive moment estimation)等;
[0083]
(6)重复步骤(2)到(5)直到目标函数lg,lr均收敛。
[0084]
(7)网络训练结束后,修复器r可用于将对抗样本修复为目标模型可正确处理的修复样本,将r与目标模型f相连即可提高目标模型面对对抗样本的鲁棒性;如果g是通过神经网络实现的,那么可通过g快速生成攻击能力强的对抗样本;如果g是通过某种对抗样本生成算法实现的,那么可通过在目标模型f前连接修复器r,将两个网络视作一个新的目标模型,可得到攻击效果更强的对抗样本。
[0085]
本发明的技术方案提出了gran架构,并设计了基于gran的对抗样本的攻击能力和目标模型的防御能力提升方法。本技术方案的核心为提出了gran架构用于对抗样本攻防性能的提升,gran架构具有以下优势:
[0086]
第一,当g使用神经网络表示时,gran架构的生成器g和修复器r之间的关系,与生成对抗网络gan架构中生成器和判别器之间的关系相近:1)从目标函数上看,两个架构中生成器网络参数的更新需要依靠修复器或判别器的输出,修复器或判别器网络参数的更新需
要依赖生成器的输出;2)gran中生成器的目的是生成修复器修复后仍具有攻击效果的对抗样本,修复器的目的是将对抗样本修复为目标模型可正确处理的修复样本,两者对抗博弈的关系与gan是相似的。gran架构基于对抗博弈的思想,同时提升生成器与修复器的对抗样本生成能力与防御能力。当两个网络训练收敛后,生成器可生成攻击性更强的对抗样本,用于对目标模型的鲁棒性或其他防御方法的防御能力进行测试;修复器可将对抗样本修复为目标模型可正确处理的修复样本,用于提高目标模型面对攻击性更强的对抗样本时的鲁棒性。
[0087]
当g使用某个对抗样本生成算法实现时,gran架构只需对修复器r进行训练,生成器g将原目标函数f与修复器r视作一个新的目标模型生成相应的对抗样本。随着r的修复能力的提高,g生成的对抗样本攻击能力也会提高。当r训练收敛后,一方面可以修复对抗样本,提高目标模型的防御能力;另一方面可以利用r,基于对抗样本生成算法得到攻击能力更强的传统对抗样本,对目标模型的鲁棒性或其他防御方法的防御能力进行测试。
[0088]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

技术特征:
1.一种基于gran架构的对抗样本攻防性能提升方法,其特征在于,包括以下步骤:第一步、设计gran网络的结构;第二步、基于设计的gran网络实现对抗样本生成和修复能力提升。2.如权利要求1所述的方法,其特征在于,第一步中,将gran网络设计为由以下5个部分组成:目标模型f、输入样本集合x、模型输出集合y、生成器g、修复器r;(1)目标模型f:目标模型f表示为映射f:x

y,由一种深度学习模型实现;(2)输入样本集合x:原始样本集合x由目标模型f所有可能的输入构成,其中每个元素为量化后的输入样本;(3)模型输出集合y:模型输出集合y由目标模型f的所有可能结果构成;(4)生成器g:针对一个目标模型f,生成器g可表示为映射g:x

x,其功能为对于任意原始输入样本x∈x生成对抗样本x
a
;g可由一个功能函数实现,即由对抗样本生成算法实现,或由生成式神经网络实现;当g使用一个对抗样本生成算法实现时,生成对抗样本时需要将目标模型f与修复器r作为输入,即表示为x
a
=g(x,t;f,r),其中t∈y表示对抗样本攻击的目标;当g使用一个生成式神经网络实现时,训练神经网络g的目标函数可表示为l
g
=l
gs
(x,x
a
)+λ
g
·
l
ga
(t,yr),其中x
a
=g(x),表示g生成的对抗样本;y
r
=f(r(x
a
))表示使用修复器r对对抗样本x
a
修复后,将得到的修复样本r(x
a
)输入f得到的模型输出结果;l
gs
,l
ga
分别表示一种损失函数;λ
g
为权重因子;目标函数l
g
中,l
gs
这部分用于促进对抗样本x
a
与原始输入样本x相近,l
ga
这部分用于使对抗样本x
a
在修复器r修复后仍具有攻击效果;(5)修复器r:针对一个目标模型f,修复器r可表示为映射r:x

x,其功能为将对抗样本x
a
生成修复样本x
r
;r由生成式神经网络实现;训练神经网络r的目标函数可表示为l
r
=l
rs
(x,x
r
)+λ
r
·
l
ra
(y,y
r
),其中y∈y表示原始输入样本x下目标模型f的输出结果,即y=f(x);x
r
=r(x
a
),表示r生成的修复样本;y
r
=f(x
r
),表示目标模型f在输入x
r
时的模型输出结果;l
rs
,l
ra
分别表示一种损失函数;λ
r
为权重因子;目标函数l
r
中,l
rs
这部分用于促进修复样本x
r
与原始输入样本x相近,l
ra
这部分用于促进提升r的对抗样本修复能力。3.如权利要求2所述的方法,其特征在于,第二步是通过训练gran网络,实现的基于gran架构的对对抗样本的攻击和修复能力进行提升的方法。4.如权利要求2所述的方法,其特征在于,第二步包括以下步骤:(1)给定目标模型f,训练样本集合攻击目标t,初始化生成器g、修复器r;
(2)从x
train
中选择一批次训练数据x,输入到生成器g中,得到相应的对抗样本x
a
;(2a)如果g是一种对抗样本生成算法实现的,则将目标模型f和修复器r视作一个新的目标模型f(r(
·
))得到相应的对抗样本x
a
=g(x,t;f,r),此时g不参与步骤(5)的参数更新;(2b)如果g是同生成式神经网络实现的,则对抗样本x
a
=g(x);(3)将对抗样本x
a
输入到修复器r中,得到修复样本x
r
=r(x
a
);(4)将原始训练数据x,对抗样本x
a
输入到目标模型,得到输出结果y=f(x),y
a
=f(x
a
);(5)计算目标函数l
g
=l
gs
(x,x
a
)+λ
g
·
l
ga
(t,y
r
),l
r
=l
rs
(x,x
r
)+λ
r
·
l
ra
(y,y
r
),进行反向传播,使用一种优化算法更新g和r的参数;(6)重复步骤(2)到(5)直到目标函数l
g
,l
r
均收敛;网络训练结束后,修复器r可用于将对抗样本修复为目标模型可正确处理的修复样本,将r与目标模型f相连,以提高目标模型面对对抗样本的鲁棒性;如果g是通过神经网络实现的,那么通过g生成一定攻击能力的对抗样本;如果g是通过一种对抗样本生成算法实现的,那么通过在目标模型f前连接修复器r,将两个网络视作一个新的目标模型,得到攻击能力更强的对抗样本。5.如权利要求2所述的方法,其特征在于,所述深度学习模型包括用于图像数据的卷积网络模型,用于语音、文本数据的网络模型,用于深度强化学习的网络模型。6.如权利要求2所述的方法,其特征在于,所述量化后的输入样本包括图像样本的像素矩阵、语音样本的梅尔频率倒谱系数特征、文本数据的词向量、网络流量数据的量化特征。7.如权利要求2所述的方法,其特征在于,所述目标模型f的所有可能结果包括分类问题模型中的各类别标签、回归模型中的预测值取值范围、强化学习模型的动作空间。8.如权利要求2所述的方法,其特征在于,所述对抗样本生成算法包括fgsm、deepfool、jsma、c&w。9.如权利要求2所述的方法,其特征在于,所述生成式神经网络为自编码器。10.如权利要求2所述的方法,其特征在于,所述优化算法指一阶梯度优化算法。

技术总结
本发明涉及一种基于GRAN架构的对抗样本攻防性能提升方法,属于人工智能安全技术领域。本发明基于攻防对抗博弈的思想,提出生成修复对抗网络架构GRAN,并基于该架构提出一种对抗样本生成和修复方法。该架构将对抗样本生成和修复放在同一架构下进行研究,并提出了一种对抗样本攻防性能提升方法,通过生成器和修复器对目标模型进行连续的对抗样本攻击和防御,提升对抗样本攻击和防御的能力,最终使目标模型面对对抗样本攻击时更加鲁棒,即可以抵御更强的对抗样本攻击。御更强的对抗样本攻击。御更强的对抗样本攻击。


技术研发人员:桓琦 郭敏 曾颖明 方永强 李宁 赵磊 郭青松
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:2022.07.25
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-3158.html

最新回复(0)