一种大批量对抗样本生成方法及系统转让专利

申请号 : CN202010084808.8

文献号 : CN111275123A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蒋志文崔展齐郑怡亭胡川

申请人 : 北京信息科技大学

摘要 :

本发明实施例提供的大批量对抗样本生成方法及系统,包括:抽样构建抽样样本集;基于样本扰动向量的对抗样本生成方法,获取每个抽样样本的扰动向量,以构建扰动样本集;对扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,求取扰动幅度集的平均扰动幅度值;根据扰动幅度集的平均扰动幅度,获取原始样本集的平均扰动幅度值;基于扰动幅度的对抗样本生成方法,根据平均扰动幅度值,获取与原始样本集对应的对抗样本集。本发明提供的大批量对抗样本生成方法及系统,基于抽样获取部分样本的扰动向量并转换为扰动幅度后,快速大批量地生成对抗样本,降低了生成对抗样本的时间,提高了获得对抗样本的效率,以提升深度神经网络模型的鲁棒性。

权利要求 :

1.一种大批量对抗样本生成方法,其特征在于,包括:S1:从原始样本集中抽样构建抽样样本集;

S2:基于样本扰动向量的对抗样本生成方法,获取所述抽样样本集中每个抽样样本的扰动向量,以构建扰动样本集;

S3:对所述扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,并获取所述扰动幅度集的平均扰动幅度值;

S4:根据所述扰动幅度集的平均扰动幅度,获取所述原始样本集的平均扰动幅度值;

S5:基于扰动幅度的对抗样本生成方法,根据所述原始样本集的平均扰动幅度值,获取与所述原始样本集对应的对抗样本集。

2.根据权利要求1所述的大批量对抗样本生成方法,其特征在于,步骤S1包括:S11:将所述原始样本集中的所有样本按照其标签名称划分为多个子数据集;

S12:根据预设抽样比分别对任一所述子数据集进行随机抽样,以构建所述抽样样本集。

3.根据权利要求2所述的大批量对抗样本生成方法,其特征在于,步骤S2包括:S21:对所述抽样样本集中任一所述抽样样本使用基于样本扰动向量的对抗样本生成方法进行样本生成,获取对应的扰动向量;

S22:将所述任一抽样样本与所述对应的扰动向量配对,添加至所述扰动样本集;

S23:依次迭代执行步骤S21-S22,直至遍历所述抽样样本集中每个抽样样本;

S24:对下一个子数据集进行随机抽样,获取下一个抽样样本集;

S25:依次迭代执行步骤S23-S24,直至遍历所有所述子数据集,完成所述建扰动样本集的构建。

4.根据权利要求1所述的大批量对抗样本生成方法,其特征在于,步骤S3包括:S31:选取所述扰动样本集中的任一所述扰动样本;

S32:根据所述扰动样本和对应的扰动向量,利用扰动幅度转换获取所述扰动样本的扰动幅度值,并将所述扰动幅度值添加至所述扰动幅度集;

S33:依次迭代执行步骤S31-S32,直至遍历所述扰动样本集中的每一个扰动样本,构建所述扰动幅度集;

S34:对所述扰动幅度集中的所有扰动幅度值进行平均值计算,获取所述幅度集的平均扰动幅度值。

5.根据权利要求1所述的大批量对抗样本生成方法,其特征在于,步骤S4包括:S41:设置转换因子;

S42:根据所述转换因子将所述扰动幅度集的平均扰动幅度,转换成所述原始样本集的平均扰动幅度值。

6.一种大批量对抗样本生成系统,其特征在于,包括:抽样单元、扰动单元、扰动幅度获取单元、扰动幅度转换单元和样本集生成单元;

所述抽样单元用于从原始样本集中抽样构建抽样样本集;

所述扰动单元用于基于样本扰动向量的对抗样本生成方法,获取所述抽样样本集中每个抽样样本的扰动向量,以构建扰动样本集;

所述扰动幅度转换单元用于对所述扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,获取所述扰动幅度集的平均扰动幅度值;

所述扰动幅度转换单元用于根据所述扰动幅度集的平均扰动幅度,获取所述原始样本集的平均扰动幅度值;

所述样本集生成单元用于基于扰动幅度的对抗样本生成方法,根据所述原始样本集的平均扰动幅度值,获取与所述原始样本集对应的对抗样本集。

7.根据权利要求6所述的大批量对抗样本生成系统,其特征在于,所述扰动单元包括:扰动向量运算子单元、扰动样本集构建子单元、第一迭代控制子单元、抽样样本集提取单元以及第二迭代控制子单元;

所述扰动向量运算子单元用于对所述抽样样本集中任一所述抽样样本使用基于样本扰动向量的对抗样本生成方法进行样本生成,获取对应的扰动向量;

所述扰动样本集构建子单元用于将所述任一抽样样本与所述对应的扰动向量配对,添加至所述扰动样本集;

所述第一迭代控制子单元用于控制所述扰动向量运算子单元和所述扰动样本集构建子单元依次迭代运行,直至遍历所述抽样样本集中每个抽样样本;

所述抽样样本集提取单元,用于对下一个子数据集进行随机抽样,获取下一个抽样样本集;

所述第二迭代控制子单元用于控制所述第一迭代控制子单元以及所述抽样样本集提取单元迭代运行,直至遍历所有所述子数据集,完成所述建扰动样本集的构建。

8.根据权利要求6所述的大批量对抗样本生成系统,其特征在于,所述扰动幅度获取单元包括:扰动样本提取子单元、扰动幅度集构建子单元、第三迭代控制子单元以及平均扰动幅度值运算子单元;

所述扰动样本提取子单元用于选取所述扰动样本集中的任一所述扰动样本;

所述扰动幅度集构建子单元用于根据所述扰动样本和对应的扰动向量,利用扰动幅度转换获取所述扰动样本的扰动幅度值,并将所述扰动幅度值添加至所述扰动幅度集;

所述第三迭代控制子单元用于控制所述扰动样本提取子单元和所述扰动幅度集构建子单元依次迭代运行,直至遍历所述扰动样本集中的每一个扰动样本,构建所述扰动幅度集;

所述平均扰动幅度值运算子单元用于对所述扰动幅度集中的所有扰动幅度值进行平均值计算,获取所述幅度集的平均扰动幅度值。

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述大批量对抗样本生成方法的步骤。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述大批量对抗样本生成方法的步骤。

说明书 :

一种大批量对抗样本生成方法及系统

技术领域

[0001] 本发明实施例涉及人工智能技术领域,尤其涉及一种大批量对抗样本生成方法及系统。

背景技术

[0002] 深度学习是人工智能的一个重要领域,被广泛地运用于计算机视觉等领域,如图像识别和人脸识别等,其安全问题越来越受到研究者的关注。在2018年3月,Uber公司的基于深度学习的自动驾驶汽车在行驶时撞倒一名骑行者并导致后者不治身亡,当时该汽车处于自动驾驶状态,遇到行人后系统并未发车任何减速信号,导致该事故的原因有一部分是深度学习模型的不够健壮。因此,深度学习系统的安全问题越来越受到研究人员的关注。
[0003] 由于当前技术尚无法解释神经网络内部的原理,以致在分类问题中,神经网络使用高度非线性化的边界来拆分n维空间,使其易受对抗样本的攻击。对抗样本为在机器学习模型的原始输入数据上添加一些人类无法察觉的噪声,引起机器学习模型对原始输入样本的分类输出发生改变。有研究表明,在无人驾驶汽车行驶时需要识别的路标上贴上某种被精心设计好的图片,无人驾驶汽车就可能会发生识别错误,比如:将stop路标识别成了限速80的标志,从而导致自动驾驶汽车做出错误的判断,引发交通事故。
[0004] 对抗样本不仅能用于检测深度学习的脆弱性,还能用于对深度学习模型进行加固。在训练模型的过程中,如果在数据集中加入扰动过的样本可以构建鲁棒性更好的模型,能有效防御对抗样本的攻击。
[0005] 然而,上述训练过程需要大量对抗样本的支撑,如何在短时间内生成大量对抗样本是一个急需解决的问题。

发明内容

[0006] 本发明实施例提供一种大批量对抗样本生成方法及系统,用以克服现有技术在对抗样本生成方法中均无法解决快速生成大批量有效对抗样本的的缺陷。
[0007] 第一方面,本发明实施例提供一种大批量对抗样本生成方法,包括:
[0008] S1:从原始样本集中抽样构建抽样样本集;
[0009] S2:基于样本扰动向量的对抗样本生成方法,获抽样样本集中每个抽样样本的扰动向量,以构建扰动样本集;
[0010] S3:对扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,并获取扰动幅度集的平均扰动幅度值;
[0011] S4:根据扰动幅度集的平均扰动幅度,获取原始样本集的平均扰动幅度值;
[0012] S5:基于扰动幅度的对抗样本生成方法,根据原始样本集的平均扰动幅度值,获取与原始样本集对应的对抗样本集。
[0013] 进一步地,上述步骤S1具体包括:
[0014] S11:将原始样本集中的所有样本按照其标签名称划分为多个子数据集;
[0015] S12:根据预设抽样比分别对任一所述子数据集进行随机抽样,以构建抽样样本集。
[0016] 进一步地,上述步骤S2具体包括:
[0017] S21:对抽样样本集中任一抽样样本使用基于样本扰动向量的对抗样本生成方法进行样本生成,获取对应的扰动向量;
[0018] S22:将任一抽样样本与所述对应的扰动向量配对,添加至扰动样本集;
[0019] S23:依次迭代执行步骤S21-S22,直至遍历抽样样本集中每个抽样样本;
[0020] S24:对下一个子数据集进行随机抽样,获取下一个抽样样本集;
[0021] S25:依次迭代执行步骤S23-S24,直至遍历所有子数据集,完成建扰动样本集的构建。
[0022] 进一步地,上述步骤S3具体包括:
[0023] S31:选取扰动样本集中的任一所述扰动样本;
[0024] S32:根据扰动样本和对应的扰动向量,利用扰动幅度转换获取扰动样本的扰动幅度值,并将扰动幅度值添加至扰动幅度集;
[0025] S33:依次迭代执行步骤S31-S32,直至遍历扰动样本集中的每一个扰动样本,构建扰动幅度集;
[0026] S34:对扰动幅度集中的所有扰动幅度值进行平均值计算,获取幅度集的平均扰动幅度值。
[0027] 进一步地,上述步骤S4具体包括:
[0028] S41:设置转换因子;
[0029] S42:根据转换因子将扰动幅度集的平均扰动幅度,转换成原始样本集的平均扰动幅度值。
[0030] 第二方面,本发明实施例提供一种大批量对抗样本生成系统,包括:抽样单元、扰动单元、扰动幅度获取单元、扰动幅度转换单元和样本集生成单元;
[0031] 抽样单元用于从原始样本集中抽样构建抽样样本集;
[0032] 扰动单元用于基于样本扰动向量的对抗样本生成方法,获取抽样样本集中每个抽样样本的扰动向量,以构建扰动样本集;
[0033] 扰动幅度转换单元同于对扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,获取扰动幅度集的平均扰动幅度值;
[0034] 扰动幅度转换单元用于根据扰动幅度集的平均扰动幅度,获取原始样本集的平均扰动幅度值;
[0035] 样本集生成单元用于基于扰动幅度的对抗样本生成方法,根据原始样本集的平均扰动幅度值,获取与原始样本集对应的对抗样本集。
[0036] 优选地,扰动单元具体包括:扰动向量运算子单元、扰动样本集构建子单元、第一迭代控制子单元、抽样样本集提取单元以及第二迭代控制子单元;
[0037] 扰动向量运算子单元用于对抽样样本集中任一所述抽样样本使用基于样本扰动向量的对抗样本生成方法进行样本生成,获取对应的扰动向量;
[0038] 扰动样本集构建子单元用于将任一抽样样本与对应的扰动向量配对,添加至扰动样本集;
[0039] 第一迭代控制子单元用于控制扰动向量运算子单元和扰动样本集构建子单元依次迭代运行,直至遍历抽样样本集中每个抽样样本;
[0040] 抽样样本集提取单元,用于对下一个子数据集进行随机抽样,获取下一个抽样样本集;
[0041] 第二迭代控制子单元用于控制第一迭代控制子单元以及抽样样本集提取单元迭代运行,直至遍历所有子数据集,完成建扰动样本集的构建。
[0042] 优选地,上述扰动幅度获取单元具体包括:扰动样本提取子单元、扰动幅度集构建子单元、第三迭代控制子单元以及平均扰动幅度值运算子单元;
[0043] 扰动样本提取子单元用于选取扰动样本集中的任一所述扰动样本;
[0044] 扰动幅度集构建子单元用于根据扰动样本和对应的扰动向量,利用扰动幅度转换获取扰动样本的扰动幅度值,并将扰动幅度值添加至扰动幅度集;
[0045] 第三迭代控制子单元用于控制扰动样本提取子单元和扰动幅度集构建子单元依次迭代运行,直至遍历扰动样本集中的每一个扰动样本,构建扰动幅度集;
[0046] 平均扰动幅度值运算子单元用于对扰动幅度集中的所有扰动幅度值进行平均值计算,获取幅度集的平均扰动幅度值。
[0047] 第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如第一方面所述的大批量对抗样本生成方法的步骤。
[0048] 第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的大批量对抗样本生成方法的步骤。
[0049] 本发明实施例提供的大批量对抗样本生成方法及系统,基于抽样获取部分样本的扰动向量并转换为扰动幅度后,快速大批量地生成对抗样本,降低了生成对抗样本的时间,提高了获得对抗样本的效率,并提升了深度神经网络模型的鲁棒性。

附图说明

[0050] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051] 图1为本发明实施例提供的一种大批量对抗样本生成方法的流程示意图;
[0052] 图2为本发明实施例提供的一种扰动样本集构建方法的流程示意图;
[0053] 图3为本发明实施例提供的一种原始样本集的平均扰动幅度值获取方法的流程示意图;
[0054] 图4为本发明实施例提供的一种对抗样本集获取方法的流程示意图;
[0055] 图5为本发明实施例提供的另一种大批量对抗样本生成方法流程示意图[0056] 图6为本发明实施例提供的一种大批量对抗样本生成系统的结构示意图;
[0057] 图7为本发明实施例提供的一种电子设备的实体结构图。

具体实施方式

[0058] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059] 在深度学习技术领域,从对抗样本的生成环境极性区分,主要有黑盒和白盒两种场景。其中,在黑盒场景下,未知目标模型的相关信息,只通过输入和输出与模型交互;而白盒场景与黑盒场景相反,在白盒场景下,可掌握模型的一切信息。
[0060] 就要解决的问题而言,本发明实施例提供的大批量对抗样本生成方法,其目的主要在于生成可用于训练的样本,因此,其关注的是白盒情景下的对抗样本生成方法。
[0061] 在白盒场景下,对抗样本的生成算法大部分均采用的是基于梯度的生成算法。基于梯度的生成算法主要有两种思路:
[0062] 一种是基于样本扰动向量的对抗样本生成方法,即对单个样本寻找可以使分类器产生误判的最小扰动的算法,其原理在于:对于非线性多分类问题,可将分类边界抽象为一个个超平面,每次计算一组近似的线性分类超平面,并根据该组近似超平面计算扰动,通过迭代逼近分类边界,此类算法能够产生具有更小扰动的对抗样本,从而生成更有效的对抗样本。但由于本方法一次只能针对一个样本进行扰动,导致其计算成本高、生成速度慢,仅适用于对攻击有效性有较高要求的应用场景。
[0063] 另一种是基于扰动幅度的对抗样本生成方法,即利用模型损失函数对输入求梯度得到对抗性扰动,然后将对抗性扰动添加到原始样本中生成对抗样本的算法。基于扰动幅度的对抗样本生成方法的原理在于:大多数的神经网络模型都是通过梯度下降算法最小化损失函数进行训练的,因此利用损失函数对输入求梯度,沿梯度上升方向移动就可以导致样本的预测输出值改变,这一算法的计算成本低,生成样本的速度快,但是无法确定沿着梯度方向移动的幅度,不同的移动幅度可能对之后对抗的结果有着很大的影响,比较适用于对对抗速度有较高要求的场景。
[0064] 针对分别单独采用上述两种对抗样本生成方法进行模型样本的生成,均无法解决快速生成大批量有效对抗样本的问题。在上述两种对抗样本生成方法的基础上,本发明实施例提供一种快速大批量对抗样本生成方法,能够在短时间内快速生成大量对抗样本,如图1所示,该方法包括但不限于以下步骤:
[0065] S1:从原始样本集中抽样构建抽样样本集;
[0066] S2:基于样本扰动向量的对抗样本生成方法,获取抽样样本集中每个抽样样本的扰动向量,以构建扰动样本集;
[0067] S3:对扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,并获取扰动幅度集的平均扰动幅度值;
[0068] S4:根据扰动幅度集的平均扰动幅度,获取原始样本集的平均扰动幅度值;
[0069] S5:基于扰动幅度的对抗样本生成方法,根据原始样本集的平均扰动幅度值,获取与原始样本集对应的对抗样本集。
[0070] 在本发明实施例中,首先,随机地从原始样本数据集中随机抽取部分样本,使用对抗成功率更高的基于样本扰动向量的对抗样本生成方法,迭代地计算每个样本可达到误分类的最小扰动向量;其次,计算选取样本的平均扰动比例,再通过转化计算得出推荐的扰动幅度(即平均扰动幅度值);最后,使用平均扰动幅度值,基于扰动幅度的对抗样本生成方法处理全部样本数据集,批量地生成对抗样本。
[0071] 具体地,本发明实施例提供的大批量对抗样本生成方法,总体上主要包括但不限于以下几个大步骤,包括:样本提取及对抗样本生成,扰动向量转换和大批量对抗样本生成。首先,对于原始样本数据集按照其原始标签类别分别进行抽样,将抽样后的样本组成一个新的数据集,对于新的数据集,使用基于样本扰动向量的对抗样本生成方法(例如:DeepFool算法)对样本进行扰动,获取到每个样本对应的最小扰动向量,并将最小扰动向量使用相应的扰动转换公式进行转换,转换成基于扰动幅度的对抗样本生成方法中的扰动幅度;之后使用基于扰动幅度的对抗样本生成方法(如:FGSM算法)进行大批量对抗样本生成。
[0072] 本发明提供的大批量对抗样本生成方法,一方面,在扰动转换的时候有效的利用了样本可在一定程度上代表总体特征的特点,通过对整体样本需要的扰动进行大致的预估,从而减少整体样本扰动的计算量;另一方面,通过抽样获取部分样本的扰动向量并转换为扰动幅度后,快速大批量地生成对抗样本,降低了生成对抗样本的时间,提高了获得对抗样本的效率,以提升深度网络模型的鲁棒性。
[0073] 基于上述实施例的内容,作为一种可选实施例,上述步骤S1包括但不限于以下步骤:
[0074] S11:将原始样本集中的所有样本按照其标签名称划分为多个子数据集;
[0075] S12:根据预设抽样比分别对任一所述子数据集进行随机抽样,以构建抽样样本集。
[0076] 具体地,本发明实施例提供的大批量对抗样本生成方法,是基于统计学中以部分代替总体的思维方式,利用抽样获取的抽样样本集中样本的扰动特征来预估原始样本集的扰动特征。
[0077] 首先,原始数据集是用于生成对抗样本的所有数据集,将其记为T(X,L)。其中:X={x1,x2,x3,…xn}表示所有待处理样本的集合,L={l1,,l2,,l3,…ln}表示X中各个样本对应的标签的集合。例如:x1对应的标签为l1。
[0078] 其次,在数据集T中对于不同类别的数据组成的集合分别随机选取一定量的数据组成一个数据的集合,构成抽样样本集,记为T′,将其所有样本所对应所有标签的类别表示为K={k1,k2,k3,…,kc},其标签类别的总数记为c,c=||K||2,则 使得l=k。
[0079] 对于T′中的每个样本,都使用基于样本扰动向量的对抗样本生成方法对其求扰动,获取每个抽样样本对应的扰动向量;之后将每个抽样样本和与其对应的扰动向量值加入到扰动样本集RS中,为下一步操作提供原始数据。
[0080] 基于上述实施例的内容,作为一种可选实施例,如图2所示,本发明实施例提供的大批量对抗样本生成方法中,步骤S2可以包括:
[0081] S21:对抽样样本集中任一抽样样本使用基于样本扰动向量的对抗样本生成方法进行样本生成,获取对应的扰动向量;
[0082] S22:将任一抽样样本与对应的扰动向量配对,添加至扰动样本集;
[0083] S23:依次迭代执行步骤S21-S22,直至遍历抽样样本集中每个抽样样本;
[0084] S24:对下一个子数据集进行随机抽样,获取下一个抽样样本集;
[0085] S25:依次迭代执行步骤S23-S24,直至遍历所有子数据集,完成扰动样本集的构建。
[0086] 具体的,提取样本和扰动向量的生成步骤也可以是:
[0087] 步骤1-1:在起始状态下,输入原始数据集T(X,L)
[0088] 步骤1-2:将原始数据集T中的所有样本按照其标签名称划分为c个小的数据集,分别记作:T1,T2,T3,…,Ti,则原始数据集T也可以表示为T={T1,T2,T3,…,Ti};
[0089] 步骤1-3:输入全局的随机抽样比α;
[0090] 步骤1-4:使用全局抽样比α分别对Ti(i∈[0,c])中的样本进行随机抽样,获取抽样结果T′i(其中i∈[0,c]),则T′={T′1,T′2,T′3,…,T′i};
[0091] 步骤1-5:对于数据集T′i中的第j(其中j∈[0,||T′i||2])个样本xij=(xij1,xij2,xij3,…xijm)(m为样本图像的维度),之后使用基于样本扰动向量的对抗样本生成方法计算图像对应的扰动向量rij=(rij1,rij2,,rij,,…rijm)。
[0092] 步骤1-6:将原始样本xij和扰动向量rij加入到扰动样本集RS中,完成建扰动样本集的构建,RS=∪{(xij,rij)}。其中,每个扰动样本集的构建包括对原始数据集中每个子数据集的遍历。
[0093] 基于上述实施例的内容,作为一种可选实施例,如图3所示,在本发明实施例提供的大批量对抗样本生成方法中,上述步骤S3可以包括但不限于以下步骤:
[0094] S31:选取扰动样本集中的任一扰动样本;
[0095] S32:根据扰动样本和对应的扰动向量,利用扰动幅度转换获取扰动样本的扰动幅度值,并将扰动幅度值添加至扰动幅度集;
[0096] S33:依次迭代执行步骤S31-S32,直至遍历扰动样本集中的每一个扰动样本,构建扰动幅度集;
[0097] S34:对扰动幅度集中的所有扰动幅度值进行平均值计算,获取幅度集的平均扰动幅度值。
[0098] 其中,步骤S4可以具体包括以下步骤:
[0099] S41:设置转换因子;
[0100] S42:根据所述转换因子将所述扰动幅度集的平均扰动幅度,转换成所述原始样本集的平均扰动幅度值。
[0101] 具体地,在本发明实施例中对于步骤S2中所获取的扰动样本集RS,利用扰动向量转化方法,求取每个扰动样本集的扰动幅度的平均值,为之后大批量生成对抗样本提供扰动幅度参数。具体的转换步骤可以为:
[0102] 步骤2-1:在初始状态下,输入扰动样本集RS;
[0103] 步骤2-2:对抽样数据集中的每个样本rs=(xij,rij),使用扰动转换方法转换成与之对应的扰动幅度∈,并将每个样本的扰动幅度∈加入到扰动幅度集H中。遍历扰动样本集中的每一个扰动样本,完成扰动幅度集H的构建。
[0104] 步骤2-3:对扰动幅度集H求平均值作为抽样样本集T′的平均扰动幅度[0105] 步骤2-4:将抽样样本集T′的扰动幅度 转换成原始样本集T的平均扰动幅度 即(σ为转换因子,例如:可以取1)
[0106] 步骤2-5:输出原始样本集T的平均扰动幅度
[0107] 进一步地,本发明实施例提供一种扰动幅度转化方法,包括但不限于以下步骤:
[0108] 首先,假设对于单个对抗样本而言,不同的对抗样本生成方法对于相同的样本而言生成的扰动向量是近乎一致的。则对于单个对抗样本,可使用如下转换方法将扰动向量转换为扰动幅度:
[0109] 首先,将原始样本集T的扰动比例定义为:
[0110]
[0111] 则对于原始样本集中的任一单个样本t∈T,其扰动比例ρ表示为:
[0112]
[0113] 其中r(x)为基于扰动向量的对抗样本生成方法对样本添加的噪声向量,η为基于扰动幅度的对抗样本生成方法对样本添加的扰动向量,则有:
[0114]
[0115] 其中∈表示扰动样本的平均扰动幅度值; 中的θ为模型参数,x为模型输入参数,y为模型输入参数所对应的标签;D为原始样本集中样本,|D|为原始样本集中样本的个数;J为模型函数。
[0116] 设图片维度为m,由于 是一个梯度向量,为对矢量做偏导,其为一个矢量; 表示为矢量x的梯度;sign是一个符号函数(输出值为1或-1),sign(x)=-1(x<0),0(x=0),1(x>0);所以 是一个元素值为1或-1的多维向量,由此可以
获知:
[0117]
[0118]
[0119] 将公式4代入公式2中,可得:
[0120]
[0121] 则:
[0122]
[0123] 那么对于v个样本,由公式6可求出v个样本的平均扰动幅度∈‘:
[0124]
[0125] 其中,v为抽样样本集的个数,||x||2为对x求二范数。
[0126] 在本发明实施例提供的大批量对抗样本生成方法中,步骤S5具体为:通过步骤S4中获取的原始样本集的平均扰动幅度值,可以进一步推测出原始样本集的大致扰动幅度,这样能为步骤S5中进行批量生成样本提供方向性指导。基于这个推荐的扰动幅度,即可使用基于扰动幅度的对抗样本生成方法进行对抗样本生成。
[0127] 具体地,如图4所示,上述步骤5包括但不限于以下步骤:
[0128] 步骤3-1:在初始状态下,输入原始样本集的平均扰动幅度值
[0129] 步骤3-2:依据平均扰动幅度值 确定原始数据集T的扰动;
[0130] 步骤3-3:使用基于扰动幅度的对抗样本生成方法,生成原始数据集T的对抗样本集RT。
[0131] 在自动驾驶领域使用了许许多多的深度学习模型,但是这些模型都普遍存在着安全性问题,即:人为的在自动驾驶汽车所要识别的道路指示牌上添加噪声扰动,会导致模型对物体的识别判断发生改变,从而让汽车作出错误的决策,最后可能会产生严重的交通事故。而有研究指出利用对抗样本对建立的模型进行预训练,可以增强模型的鲁棒性,从而实现达到抵抗现实中对抗样本的效果。
[0132] 但是训练一个能抵抗对抗样本的模型需要有大量的对抗样本的支持,并且使用不同方法生成的对抗样本进行混合训练的效果也是不一样的。为了在短时间内就能够获取大量的对抗样本供给模型进行训练,本发明实施例提供一种大批量对抗样本生成方法。如图5所示,在上述实施例的基础上,本发明实施例提供的大批量对抗样本生成方法,包括三大步骤:基于抽样的样本扰动向量分析、将扰动向量转换为扰动幅度以及批量生成对抗样本的步骤。
[0133] 其中,在基于抽样的样本扰动向量分析这一大步骤中,包括:
[0134] 对原始数据集按分类进行划分,然后按照预设的抽样比率,进行随机抽样获取抽样样本集;基于样本扰动向量的对抗样本生成方法,对抽样样本集进行扰动,获取抽样样本集对应的扰动向量。其中,所述的原始数据集主要包括自动驾驶识别模型的训练总样本集。
[0135] 其中,在将扰动向量转换为扰动幅度这一大步骤中,包括:
[0136] 计算抽样样本集对应的扰动样本集中每个样本的扰动幅度,并进一步地获取抽样样本集对应的扰动样本集中所有的扰动幅度的平均扰动幅度值。利用转换因子,将扰动幅度集的平均扰动幅度转换成原始样本集的平均扰动幅度值。
[0137] 其中,批量生成对抗样本的步骤,主要包括:
[0138] 根据原始样本集的平均扰动幅度值,批量生成样本扰动向量;基于扰动幅度的对抗样本生成方法,将每个样本扰动向量转化成对应的对抗样本图像以及与每个图像所对应的分类标签,其中对抗样本图像包括成功对抗样本图像和失败对抗样本图像。上述对抗样本图像以及与每个图像所对应的分类标签共同组成与所述原始样本集对应的对抗样本集。
[0139] 本发明实施例提供的大批量对抗样本生成方法,将在抽样数据集T′中求得的扰动幅度作为数据集T的推测扰动幅度,用于大批量对抗样本生成,并发地将全体样本都使用同一个扰动幅度生成对抗样本,短时间内即可生成大量对抗样本,记为RT。这种批量生成对抗样本的方法,能充分利用矩阵运算的计算优势将所有样本数据一次性进行计算,这样可以显著减少读取数据及串行计算数据的时间,也提高了生成对抗样本的效率。
[0140] 综上所述,本发明实施例提供的大批量对抗样本生成方法运用于自动识别网络模型的训练上,能够有效的提高目前自动驾驶识别模型的鲁棒性,降低其发生交通事故的可能性。
[0141] 本发明实施例提供的大批量对抗样本生成方法,可以通过短时间内生成大量对抗样本,极大程度上减少了获取对抗样本时间,提高了训练高鲁棒性神经网络的效率。将该方法可以作用在几乎大多数的神经网络上,比如:在自动驾驶的识别模型上使用对抗样本进行重新训练,能够降低其识别路标错误的可能性,进而降低由于模型识别错误所导致的交通事故发生的可能性。需要说明的是,在本实施例中通过大批量、快速的生成对抗样本,以完成对自动驾驶领域的人工智能模型的训练,不视为对本发明保护范围的具体地限定。
[0142] 本发明实施例提供一种大批量对抗样本生成系统,如图6所示,包括但不限于:
[0143] 抽样单元1、扰动单元2、扰动幅度获取单3、扰动幅度转换单元4和样本集生成单元5,其中:
[0144] 抽样单元1用于从原始样本集中抽样构建抽样样本集;
[0145] 扰动单元2用于基于样本扰动向量的对抗样本生成方法,获取抽样样本集中每个抽样样本的扰动向量,以构建扰动样本集;
[0146] 扰动幅度转换单元3用于对扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,获取扰动幅度集的平均扰动幅度值;
[0147] 扰动幅度转换单元4用于根据扰动幅度集的平均扰动幅度,获取原始样本集的平均扰动幅度值;
[0148] 样本集生成单元5用于基于扰动幅度的对抗样本生成方法,根据原始样本集的平均扰动幅度值,获取与原始样本集对应的对抗样本集。
[0149] 需要说明的是,本发明实施例提供的大批量对抗样本生成系统在具体实施过程中,用于执行上述任一实施例中所述的大批量对抗样本生成方法,对此本实施例将不作赘述。
[0150] 本发明提供的大批量对抗样本生成系统,一方面,在扰动转换的时候有效的利用了样本可在一定程度上代表总体特征的特点,通过对整体样本需要的扰动进行大致的预估,从而减少整体样本扰动的计算量;另一方面,基于抽样获取部分样本的扰动向量并转换为扰动幅度后,快速大批量地生成对抗样本,降低了生成对抗样本的时间,提高了获得对抗样本的效率,以提升深度网络模型的鲁棒性。
[0151] 基于上述实施例的内容,作为一种可选实施例,扰动单元2具体可以包括:扰动向量运算子单元、扰动样本集构建子单元、第一迭代控制子单元、抽样样本集提取单元以及第二迭代控制子单元,其中:
[0152] 扰动向量运算子单元用于对抽样样本集中任一抽样样本使用基于样本扰动向量的对抗样本生成方法进行样本生成,获取对应的扰动向量;
[0153] 扰动样本集构建子单元用于将任一抽样样本与对应的扰动向量配对,添加至扰动样本集;
[0154] 第一迭代控制子单元用于控制扰动向量运算子单元和扰动样本集构建子单元依次迭代运行,直至遍历抽样样本集中每个抽样样本;
[0155] 抽样样本集提取单元,用于对下一个子数据集进行随机抽样,获取下一个抽样样本集;
[0156] 第二迭代控制子单元用于控制第一迭代控制子单元以及抽样样本集提取单元迭代运行,直至遍历所有子数据集,完成建扰动样本集的构建。
[0157] 基于上述实施例的内容,作为一种可选实施例。上述扰动幅度获取单元3可以具体包括:扰动样本提取子单元、扰动幅度集构建子单元、第三迭代控制子单元以及平均扰动幅度值运算子单元,其中:
[0158] 扰动样本提取子单元用于选取扰动样本集中的任一所述扰动样本;
[0159] 扰动幅度集构建子单元用于根据扰动样本和对应的扰动向量,利用扰动幅度转换获取扰动样本的扰动幅度值,并将扰动幅度值添加至扰动幅度集;
[0160] 第三迭代控制子单元用于控制扰动样本提取子单元和扰动幅度集构建子单元依次迭代运行,直至遍历扰动样本集中的每一个扰动样本,构建扰动幅度集;
[0161] 平均扰动幅度值运算子单元用于对扰动幅度集中的所有扰动幅度值进行平均值计算,获取幅度集的平均扰动幅度值。
[0162] 图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行如下方法:
[0163] S1:从原始样本集中抽样构建抽样样本集;
[0164] S2:基于样本扰动向量的对抗样本生成方法,获抽样样本集中每个抽样样本的扰动向量,以构建扰动样本集;
[0165] S3:对扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,并获取扰动幅度集的平均扰动幅度值;
[0166] S4:根据扰动幅度集的平均扰动幅度,获取原始样本集的平均扰动幅度值;
[0167] S5:基于扰动幅度的对抗样本生成方法,根据原始样本集的平均扰动幅度值,获取与原始样本集对应的对抗样本集。
[0168] 此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0169] 另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:
[0170] S1:从原始样本集中抽样构建抽样样本集;
[0171] S2:基于样本扰动向量的对抗样本生成方法,获抽样样本集中每个抽样样本的扰动向量,以构建扰动样本集;
[0172] S3:对扰动样本集中的每个扰动样本进行扰动幅度转换,构建扰动幅度集,并获取扰动幅度集的平均扰动幅度值;
[0173] S4:根据扰动幅度集的平均扰动幅度,获取原始样本集的平均扰动幅度值;
[0174] S5:基于扰动幅度的对抗样本生成方法,根据原始样本集的平均扰动幅度值,获取与原始样本集对应的对抗样本集。
[0175] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0176] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0177] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。