对抗样本生成方法、目标模型训练方法及装置与流程

文档序号:30963232发布日期:2022-07-30 15:01阅读:164来源:国知局
对抗样本生成方法、目标模型训练方法及装置与流程

1.本技术涉及人工智能领域,具体涉及一种对抗样本生成方法,一种目标模型训练方法,一种对抗样本生成装置,一种目标模型获取方法,一种机器学习模型加固方法,以及一种电子设备和一种计算机存储介质。


背景技术:

2.对抗攻击(产生对抗样本并攻击深度模型的过程称为对抗攻击)是深度学习中的一个重要内容,深度神经网络在图像分类、人脸识别、自动驾驶等领域中得到了广泛的应用。然而,深度神经网络表现出对于对抗扰动的脆弱性。例如,通过在原始图像上添加精心设计的扰动,所产生的对抗样本则可以轻易骗过深度神经网络,从而使深度神经网络输出与正确结果不同或截然相反的输出结果。
3.现有提升对抗攻击的迁移性(生成的对抗样本可以攻击黑盒模型,这种性质就称为迁移性)的研究主要分为两类,迭代攻击和基于生成模型攻击,但是迭代攻击在有目标攻击场景下存在局限,而基于生成模型的攻击则需要训练和目标类别一样多的生成模型,这样就增加了训练成本。
4.因此,需要一种能够生成对抗样本的方法,以通过该对抗样本测试或优化模型,增强其抵御对抗攻击的能力。


技术实现要素:

5.本技术实施例提供一种对抗样本生成方法,以解决现有技术中深度神经网络模型抵御对抗攻击的能力较低的问题。本技术实施例还提供一种目标模型训练方法。一种对抗样本生成装置,一种对目标模型获取方法,一种机器学习模型加固方法,以及一种电子设备和一种计算机存储介质。
6.本技术实施例提供一种对抗样本生成方法,包括:
7.获得初始样本和目标模型的至少一个替代模型;所述目标模型至少与所述替代模型的任务类型相同;
8.基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;
9.根据所述扰动数据分布方向确定扰动数据;
10.将所述扰动数据增加到所述初始样本中,以生成对抗样本。
11.可选的,所述基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向,包括:
12.根据预设处理方式校准所述替代模型的梯度方向相对初始样本的数据分布梯度方向的对应关系;
13.将所述初始样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始
样本的数据分布梯度方向;
14.将校准后的替代模型的梯度方向相对初始样本的数据分布梯度方向作为所述扰动数据分布方向。
15.可选的,所述将所述初始样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向,包括:
16.在无目标攻击场景下,将所述初始样本输入至所述替代模型,并使用梯度上升法计算出所述替代模型的模型梯度方向;
17.根据所述替代模型的模型梯度方向与数据分布梯度方向的对应关系,获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向。
18.可选的,所述将所述初始样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向,包括:
19.在有目标攻击场景下,将所述初始样本输入至所述替代模型,并使用梯度下降法计算出所述替代模型的模型梯度方向;
20.根据所述替代模型的模型梯度方向与数据分布梯度方向的对应关系,获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向。
21.可选的,所述基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向,包括:
22.将所述初始样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向;
23.基于所述替代模型的梯度方向相对初始样本的数据分布梯度方向和所述初始样本获得初始对抗样本;
24.将所述初始对抗样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始对抗样本的数据分布梯度方向;
25.将所述替代模型的梯度方向相对初始对抗样本的数据分布梯度方向作为所述替代模型的扰动数据分布方向。
26.可选的,进行一轮或多轮迭代生成对抗样本;
27.当当前轮为第一轮迭代时,输入至所述替代模型的样本为所述初始样本;否则为前一轮的对抗样本。
28.可选的,将当前轮获得的扰动数据限制在预设的扰动变化范围内。
29.本技术实施例还提供一种目标模型训练方法,包括:
30.获得对抗样本,所述对抗样本通过上述所述的对抗样本生成方法获得;
31.利用所述对抗样本对所述目标模型进行训练。
32.本技术实施例还提供一种对抗样本生成装置,包括:
33.获得单元,用于获得初始样本和目标模型的至少一个替代模型;所述目标模型至少与所述替代模型的任务类型相同;
34.扰动数据分布方向确定单元,用于基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;
35.扰动数据确定单元,用于根据所述扰动数据分布方向确定扰动数据;
36.对抗样本生成单元,用于将所述扰动数据增加到所述初始样本中,以生成对抗样本。
37.本技术实施例还提供一种目标模型训练装置,包括:
38.对抗样本获得单元,用于获得对抗样本,所述对抗样本通过上述所述的对抗样本生成方法获得;
39.目标模型训练单元,用于利用所述对抗样本对所述目标模型进行训练。
40.本技术实施例还提供一种目标模型验证方法,包括:
41.获得客户端针对目标模型的验证请求信息;
42.根据所述验证请求信息获得初始样本和目标模型的至少一个替代模型;基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向,并根据所述扰动数据分布方向确定扰动数据;将所述扰动数据增加到所述初始样本中,以生成对抗样本;其中,所述目标模型至少与所述替代模型的任务类型相同;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;
43.利用所述对抗样本对所述目标模型进行验证,并将针对所述目标模型的验证结果反馈给所述客户端。
44.本技术实施例还提供一种电子设备,所述电子设备包括:处理器;存储器,用于存储计算机程序,该计算机程序被处理器运行,执行上述任意一项所述的方法。
45.本技术实施例还提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行上述任意一项所述的方法。
46.本技术实施例还提供一种机器学习模型加固方法,包括:
47.获得初始样本和目标模型的至少一个替代模型;所述初始样本的样本类型至少包括实体识别或自动驾驶领域中的文本数据、音频数据或图像数据;所述目标模型至少与所述替代模型的任务类型相同;
48.基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;
49.根据所述扰动数据分布方向确定扰动数据;
50.将所述扰动数据增加到所述初始样本中,以生成对抗样本;
51.利用所述对抗样本对所述目标模型进行训练。
52.与现有技术相比,本技术具有以下优点:
53.本技术实施例提供一种对抗样本生成方法,包括:获得初始样本和目标模型的至少一个替代模型;所述目标模型至少与替代模型的任务类型相同;基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;根据所述扰动数据分布方向确定扰动数据;将所述扰动数据增加到所述初始样本中,以生成对抗样本。
54.本技术实施例通过确定与替代模型的梯度方向相对初始样本的数据分布梯度方向相关的扰动数据分布方向,以增强替代模型产生的对抗攻击的梯度方向和扰动数据分布的方向之间的对齐关系,并在替代模型中注入初始样本的数据分布相关的信息,使用替代模型的梯度来替代真实数据分布的梯度,从而产生扰动数据分布的对抗样本。本技术实施
例从初始样本的数据分布的角度出发,使得产生的对抗样本具有清晰的语义信息,从而具有良好的目标攻击能力。此外,通过扰动数据分布产生可以引起不同替代模型关注的对抗样本,从而提升对抗样本在不同模型间的迁移性,进而提升深度神经网络模型抵御对抗攻击的能力。
附图说明
55.图1是本技术第一实施例提供的应用场景的示意图。
56.图2为本技术第一实施例提供的对抗样本生成方法的流程图。
57.图3为本技术第二实施例提供的对抗攻击方法的流程图。
58.图4为本技术第三实施例提供的对抗样本生成装置的示意图。
59.图5为本技术第四实施例提供的对抗攻击装置的示意图。
60.图6为本技术提供的在无目标攻击场景下的攻击示意图。
61.图7为本技术提供的在有目标攻击场景下的攻击示意图。
62.图8为本技术第五实施例提供的目标模型验证方法的流程图。
63.图9为本技术第六实施例提供的机器学习模型加固方法的流程图。
64.图10为本技术第七实施例提供的目标模型验证装置的示意图。
65.图11为本技术第八实施例提供的机器学习模型加固装置的示意图。
66.图12为本技术第九实施例提供的电子设备的示意图。
具体实施方式
67.在下面的描述中阐述了很多具体细节以便于充分理解本技术实施例。但是本技术实施例能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术实施例内涵的情况下做类似推广,因此本技术实施例不受下面公开的具体实施的限制。
68.为了使本领域的技术人员更好的理解本技术方案,下面基于本技术提供的对抗样本生成方法对其实施例的具体应用场景进行详细描述,如图1所示,其为本技术第一实施例提供的应用场景的示意图。
69.在描述本场景之前,需要阐述下述内容以便于对本场景的理解,具体的,对抗样本可以对模型进行攻击,对模型的攻击包括白盒攻击与黑盒攻击,其中,白盒攻击是指在确定目标模型内部信息(如模型参数、结构等信息)的情形下进行的攻击;黑盒攻击则无法获取目标模型内部信息或者说攻击过程不依赖于目标模型的内部信息。本场景主要是黑盒攻击场景,且在该场景中,有效的黑盒攻击称之为迁移攻击,即生成的对抗样本可以攻击黑盒模型,这种性质就称为迁移性。
70.本场景包括目标模型101、替代模型102、初始样本103和对抗样本104。其中,初始样本103可以输入至替代模型102中以对替代模型102进行调整,并将通过替代模型102确定的数据增加到初始样本103中,以生成对抗样本。
71.具体的,在本场景中,目标模型101可以是提供预测任务的模型,其输入数据以及输出数据的形式是已知的,但模型的内部参数不对外公开。用户或其它任务系统可以通过网络基于待预测对象的特征信息访问目标模型101,对应得到预测结果,进而用户或其它任务系统基于预测结果对后续行为或操作进行决策。在该场景下,可能存在攻击者对目标模
型101进行对抗攻击,以干扰决策,其中,对抗攻击是指产生对抗样本并攻击模型的过程。为此,防御者有必要生成较为高效的对抗样本,对目标模型101进行对抗攻击测试并根据目标模型对抗攻击的输出判断攻击的效果,以测试或优化目标模型101。
72.如前文所述,在黑盒攻击场景下,无法获得目标模型101的内部信息,为了实现对抗攻击,首先需要获取目标模型101的至少一个替代模型102,所述替代模型102通过训练获得,或直接从模型库中获取,替代模型102与目标模型类似,或者目标模型101至少与替代模型102的任务类型相同。本场景将替代模型102作为待攻击模型,生成能够对替代模型102进行攻击的对抗样本,该对抗样本相对于目标模型而言可称为待迁移对抗样本,然后基于该待迁移对抗样本得到能够用于攻击目标模型101的对抗样本104,最终利用该对抗样本104(迁移后)攻击目标模型101。
73.在一些实施例中,当获取到攻击替代模型102效果较好的待迁移对抗样本时,由于待迁移对抗样本的迁移性较低,基于其获取的对抗样本104在攻击目标模型101时,攻击效果不佳。有鉴于此,本场景提供了一种能够生成具有良好迁移性的对抗样本的方法。
74.具体的,获取初始样本103和至少一个与目标模型101类似的模型作为替代模型102,基于初始样本103利用联合优化函数对替代模型102进行调整,以确定各替代模型102的扰动数据分布方向。其中,扰动数据分布方向与替代模型102的梯度方向相对初始样本的数据分布梯度方向相关。然后根据各替代模型102的扰动数据分布方向确定扰动数据,并将扰动数据增加到初始样本103中,以生成对抗样本104。由此得到的对抗样本104能够汲取不同模型的共性,从不同模型关注共同的数据分布的角度出发,通过扰动数据分布产生可以引起不同模型关注的对抗扰动,从而提升对抗扰动在不同模型间的迁移性。
75.与上述场景相对应的,本技术第一实施例提供了一种对抗样本生成方法,如图2所示,图2为本技术第一实施例提供的一种对抗样本生成方法的流程图。所述方法包括如下步骤:
76.步骤s201,获得初始样本和目标模型的至少一个替代模型;所述目标模型至少与替代模型的任务类型相同。
77.在本步骤中,初始样本可以是未添加扰动噪声的干净样本,其标签已知,例如,初始样本包括文本数据、音频数据或图像数据。
78.在本步骤中,为了实现对抗攻击,首先需要获取目标模型的至少一个替代模型,所述替代模型通过训练获得,或直接从模型库中获取。替代模型与目标模型类似,或者目标模型至少与替代模型的任务类型相同。例如,替代模型目标模型为分类模型,其输入可以包括一个或多个特征信息,输出为分类结果,对应的替代模型也为分类模型。替代模型可以包括但不限于vgg16、mobilenet等。再如,替代模型用于处理的样本类型可以与目标模型相同,其中样本类型可以为文本数据、音频数据或图像数据等。示例性的,假设目标模型为文本识别模型,其用于处理的样本类型为文本数据,那么替代模型可以同样是用于处理文本数据的模型。
79.在本技术第一实施例中,预先从模型库中选出一些模型作为候选模型,并判断候选模型与目标模型是否相似,以确定替代模型。其中,判断候选模型与目标模型是否相似包括:向候选模型与目标模型输入相同一组测试样本,基于两者具有相同的输出结构(如标签)的比例判断是否相似,并将相似的候选模型作为替代模型。当然,在其它示例中,还可以
通过其它方式判断候选模型与目标模型是否相似,本本技术第一实施例不做限制。
80.在本步骤中,将替代模型作为待攻击模型,生成能够对替代模型进行攻击的对抗样本,该对抗样本相对于目标模型而言可称为待迁移对抗样本,然后基于该待迁移对抗样本得到能够用于攻击目标模型的对抗样本,最终利用该对抗样本(迁移后)攻击目标模型。
81.步骤s202,基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关。
82.在获得初始样本和目标模型的至少一个替代模型后,进行一轮或多轮迭代,以构造对抗样本。其中的一轮迭代包括:获取当前轮的待调整样本,当当前轮为第一轮迭代时,待调整样本为初始样本,否则为前一轮的对抗样本。在本技术中,基于迭代是从第一轮开始的,则本实施例主要以第一轮迭代时的初始样本进行解释说明。具体的,在获得初始样本和目标模型的至少一个替代模型后,基于初始样本和替代模型,确定根据替代模型的梯度方向生成的扰动数据分布方向,包括如下操作:将初始样本输入至替代模型,以获取替代模型的梯度方向相对初始样本的数据分布梯度方向,并根据预设处理方式校准替代模型的梯度方向相对初始样本的数据分布梯度方向的对应关系,并将校准后的替代模型的梯度方向相对初始样本的数据分布梯度方向作为替代模型的扰动数据分布方向。
83.其中,将初始样本输入至替代模型,以获取替代模型的梯度方向相对初始样本的数据分布梯度方向,并根据预设处理方式校准替代模型的梯度方向相对初始样本的数据分布梯度方向的对应关系包括;将初始样本输入至替代模型,利用联合优化函数对该替代模型的参数信息进行调整,以获取替代模型的梯度方向相对初始样本的数据分布梯度方向。其中,梯度方向表示替代模型对当前初始样本在模型各方面的脆弱程度,在替代模型较为脆弱的位置为替代模型的梯度方向。替代模型较为脆弱的位置包括替代模型对初始样本的预测结果与初始样本的标签之间的差异较大的元素位置。
84.在本技术第一实施例中,将初始样本输入至替代模型,利用联合优化函数对该替代模型的参数信息进行调整,并获取校准后的替代模型的梯度方向相对初始样本的数据分布梯度方向,包括:首先,将初始样本输入至替代模型,并利用初始正则化损失函数对该替代模型的参数信息进行调整。其中,初始正则化损失函数包括:
[0085][0086]
其中,e表示数学期望,表示替代模型分类损失函数的梯度方向,表示数据分布梯度方向;x表示样本,y表示样本的标签。初始正则化损失函数的输出值表示替代模型的梯度与数据分布梯度之间的距离。
[0087]
然后,将初始正则化损失函数简化得到目标正则化损失函数,确定替代模型的参数信息,并获得调整后的该替代模型。其中,目标正则化损失函数包括:
[0088][0089]
其中,e表示数学期望,表示替代模型分类损失函数的梯度方向,tr表示矩阵的迹;x表示样本,y表示样本的标签。
[0090]
最后,将目标正则化损失函数最小化,使得替代模型的模型梯度方向与数据分布梯度方向一致。其中,需要说明的是,由于数据分布是未知的,且是难以获得的,因此使用目标正则化损失函数校准了替代模型的模型梯度方向与数据分布梯度方向之间的关系,再将目标正则化损失函数最小化,使得替代模型的模型梯度方向与数据分布梯度方向近似,即使得替代模型的模型梯度方向与数据分布梯度方向一致。
[0091]
在本技术第一实施例中,将初始样本输入至替代模型,以获取替代模型的梯度方向相对初始样本的数据分布梯度方向,包括:在无目标攻击场景下,将初始样本输入至替代模型,并使用梯度上升法计算出替代模型的模型梯度方向,根据替代模型的模型梯度方向与数据分布梯度方向的对应关系,获取替代模型的梯度方向相对初始样本的数据分布梯度方向。其中,替代模型的梯度方向包括替代模型对初始样本的预测结果与初始样本的标签之间的差异,替代模型对初始样本的预测结果与初始样本的标签之间的差异相对初始样本的数据分布梯度方向可以看作是用于生成初始样本的扰动数据。其中,无目标攻击是指产生对抗样本使深度神经网络产生错误的分类结果,而不约束分为哪一类。例如,图像中具有语义信息的特征,比如类别为“蝴蝶”的特征的图像、“鸟”的特征的图像。扰动数据分布相关的信息,在无目标攻击场景下是削弱目标类别的数据特征,比如dra(digital rise audio,数字音频编码技术)攻击和pgd(project gradient descent,投影梯度下降)攻击,dra攻击和pgd攻击可在“鸟”的图像里削弱“鸟”的特征(如图6所示),其中,图6中的(a)列为“蝴蝶”图像和“鸟”的原图,(b)列为pgd攻击后的对应图像,(c)列为对各个图像处理后的可视化pgd扰动图像。(d)列为dra攻击后的对应图像,(e)列为对各个图像处理后的可视化dra扰动图像。
[0092]
另外,在一种示例中,将初始样本输入至替代模型,以获取替代模型的梯度方向相对初始样本的数据分布梯度方向,包括:在有目标攻击场景下,将初始样本输入至替代模型,并使用梯度下降法计算出替代模型的模型梯度方向,根据替代模型的模型梯度方向与数据分布梯度方向的对应关系,获取替代模型的梯度方向相对初始样本的数据分布梯度方向。其中,替代模型的梯度方向包括替代模型对初始样本的预测结果与初始样本的标签之间的差异,替代模型对初始样本的预测结果与初始样本的标签之间的差异相对初始样本的数据分布梯度方向可以看作是用于生成初始样本的扰动数据。其中,有目标攻击是指产生对抗样本使深度神经网络产生特定的错误分类结果。例如,图像中具有语义信息的特征,比如类别为“鲨鱼”的特征的图像、“狗”的特征的图像(如图7所示)。扰动数据分布相关的信息,在有目标攻击场景下是增加目标类别的数据特征,比如dra攻击和pgd攻击,dra攻击和pgd攻击可在“鲨鱼”的图像里增加“时钟”的特征,在“狗”的图像里增加“玉米”的特征。其中,图7中的(a)列为“鲨鱼”图像和“狗”的原图,(b)列为pgd攻击后的对应图像,(c)列为对各个图像处理后的可视化pgd扰动图像。(d)列为dra攻击后的对应图像,(e)列为对各个图像处理后的可视化dra扰动图像。
[0093]
此外,需要补充说明的是,在本技术第一实施例中,联合优化函数包括:
[0094][0095]
其中,l表示交叉熵损失函数,f
θ
表示以θ为参数的替代模型,β表示调整正则项的超参数;x表示样本,y表示样本的标签。
[0096]
在获得替代模型的梯度方向相对初始样本的数据分布梯度方向后,将替代模型的梯度方向相对初始样本的数据分布梯度方向作为该替代模型的扰动数据分布方向。可以理解的是,对于一个替代模型,可以相应的获取一个扰动数据分布方向。
[0097]
在每一次迭代中,都会首先生成初始对抗样本,并利用这些样本获得更具欺骗性的方向,具体的,在本技术第一实施例中,在获得初始样本和目标模型的至少一个替代模型后,基于初始样本和替代模型,确定根据替代模型的梯度方向生成的扰动数据分布方向,具体对于替代模型还可以进行如下操作:
[0098]
首先,将初始样本输入至替代模型,以获取替代模型的梯度方向相对初始样本的数据分布梯度方向。具体的,首先,将初始样本输入至替代模型,并利用初始正则化损失函数对该替代模型的参数信息进行调整。其中,初始正则化损失函数包括:
[0099][0100]
其中,e表示数学期望,表示替代模型分类损失函数的梯度方向,表示数据分布梯度方向;x表示样本,y表示样本的标签。
[0101]
然后,将初始正则化损失函数简化得到目标正则化损失函数,确定替代模型的参数信息,并获得调整后的该替代模型。其中,目标正则化损失函数包括:
[0102][0103]
其中,e表示数学期望,表示替代模型分类损失函数的梯度方向,tr表示矩阵的迹;x表示样本,y表示样本的标签。
[0104]
最后,将目标正则化损失函数最小化,使得替代模型的模型梯度方向与数据分布梯度方向一致,以获取替代模型的梯度方向相对初始样本的数据分布梯度方向。
[0105]
在获得替代模型的梯度方向相对初始样本的数据分布梯度方向后,基于替代模型的梯度方向相对数据分布梯度方向和初始样本获得初始对抗样本。即将替代模型的梯度方向相对数据分布梯度方向与初始样本叠加,得到初始对抗样本。而后,将初始对抗样本输入至替代模型,以获取替代模型的梯度方向相对初始对抗样本的数据分布梯度方向,对于将初始对抗样本输入至替代模型,以获取替代模型的梯度方向相对初始对抗样本的数据分布梯度方向的具体步骤可参见上述初始样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向的步骤,其对样本的处理方式相同或相似,此处将不再重复赘述。最后,将替代模型的梯度方向相对初始对抗样本的数据分布梯度方向作为替代模型的扰动数据分布方向。
[0106]
步骤s203,根据所述扰动数据分布方向确定扰动数据。
[0107]
在获得替代模型的扰动数据分布方向后,根据扰动数据分布方向确定扰动数据。基于扰动数据分布方向确定扰动数据,以使初始样本所添加的扰动数据能够兼具扰动数据分布方向情况。扰动数据反映各替代模型的扰动数据分布方向的均值,具体的,均值可以是各替代模型的扰动数据分布方向的平均值。
[0108]
步骤s204,将所述扰动数据增加到所述初始样本中,以生成对抗样本。
[0109]
在获得扰动数据后,将扰动数据增加到初始样本中,以生成对抗样本。其中,对抗
样本是在初始样本中添加一定的扰动数据获得的,对抗样本与初始样本从肉眼看是没有明显区别,但是机器学习模型会将对抗样本识别为与初始标签不同甚至截然相反的结果。可以理解,当扰动数据越大,生成的对抗样本的攻击成功率越大,这会使得肉眼可辨其是非正常样本。因此,在生成对抗样本时,则对当前轮的扰动数据限制在扰动变化范围内,以使对抗样本与初始样本之间不会出现较大的差别。
[0110]
另外,需要补充说明的是,基于对抗样本是经过一轮或多轮迭代生成的,因此在获得每一轮迭代后的对抗样本时,可将对抗样本与预设对坑样本进行比较,若对抗样本与预设对坑样本相同,则将此轮迭代的对抗样本作为最终的对抗样本。若对抗样本与预设对坑样本不相同,则进行下一轮次的迭代。或者,根据当前轮的对抗样本是否满足预设要求以决定是否需要进行下一次迭代或以此作为最终的对抗样本。再或者,也可以设置迭代总次数,当迭代总次数达到时,则停止迭代,得到最终的对抗样本。
[0111]
本技术第一实施例提供一种对抗样本生成方法,包括:获得初始样本和目标模型的至少一个替代模型;所述目标模型至少与替代模型的任务类型相同;基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;根据所述扰动数据分布方向确定扰动数据;将所述扰动数据增加到所述初始样本中,以生成对抗样本。
[0112]
本技术第一实施例通过确定与替代模型的梯度方向相对初始样本的数据分布梯度方向相关的扰动数据分布方向,以增强替代模型产生的对抗攻击的梯度方向和扰动数据分布的方向之间的对齐关系,并在替代模型中注入初始样本的数据分布相关的信息,使用替代模型的梯度来替代真实数据分布的梯度,从而产生扰动数据分布的对抗样本。本技术第一实施例从数据分布的角度出发,使得产生的对抗样本具有清晰的语义信息,从而具有良好的目标攻击能力。此外,通过扰动数据分布产生可以引起不同替代模型关注的对抗样本,从而提升对抗样本在不同模型间的迁移性,进而提升深度神经网络模型抵御对抗攻击的能力。
[0113]
与本技术第一实施例提供的对抗样本生成方法相对应的,本技术第二实施例提供一种目标模型训练方法,如图3所示,如3为本技术第二实施例提供的一种目标模型训练方法的流程图。所述方法包括如下步骤:
[0114]
步骤s301,获得对抗样本。
[0115]
本步骤的对抗样本通过上述步骤s201-步骤s204获得,具体详见步骤s201-步骤s204的描述,此处将不再重复赘述。
[0116]
步骤s301,利用所述对抗样本对目标模型进行训练。
[0117]
在本步骤中,可以利用目标模型处理对抗样本,测试目标模型输出结果是否与对抗样本对应的初始样本的一致,如果一致,则说明目标模型具备一定的抵抗对抗攻击的能力,反之则说明目标模型需要进一步优化,以提供抵御攻击的能力。其中,测试目标模型输出结果是否与对抗样本对应的初始样本的一致包括:测试目标模型输出结果是否与对抗样本对应的初始样本的标签一致。另外,还可以利用对抗样本以及其对应的标签作为训练数据对目标模型进行进一步训练,以提高其抵御攻击的能力。
[0118]
与本技术第一实施例提供的对抗样本生成方法相对应的,本技术第三实施例提供一种对抗样本生成装置。由于装置实施例基本相似于第一实施例,所以描述得比较简单,相
关之处参见第一实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0119]
请参照图4,其为本技术第三实施例提供的一种对抗样本生成装置的示意图。该对抗样本生成装置包括:获得单元401,用于获得初始样本和目标模型的至少一个替代模型;所述目标模型至少与所述替代模型的任务类型相同;扰动数据分布方向确定单元402,用于基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;扰动数据确定单元403,用于根据所述扰动数据分布方向确定扰动数据;对抗样本生成单元404,用于将所述扰动数据增加到所述初始样本中,以生成对抗样本。
[0120]
可选的,所述扰动数据分布方向确定单元402具体用于将所述初始样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向;根据预设处理方式校准所述替代模型的梯度方向相对初始样本的数据分布梯度方向的对应关系;将校准后的替代模型的梯度方向相对初始样本的数据分布梯度方向作为所述替代模型的扰动数据分布方向。
[0121]
可选的,所述扰动数据分布方向确定单元402具体用于在无目标攻击场景下,将所述初始样本输入至所述替代模型,并使用梯度上升法计算出所述替代模型的模型梯度方向;
[0122]
根据所述替代模型的模型梯度方向与数据分布梯度方向的对应关系,获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向。
[0123]
可选的,所述扰动数据分布方向确定单元402具体用于在有目标攻击场景下,将所述初始样本输入至所述替代模型,并使用梯度下降法计算出所述替代模型的模型梯度方向;根据所述替代模型的模型梯度方向与数据分布梯度方向的对应关系,获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向。
[0124]
可选的,所述扰动数据分布方向确定单元402具体用于将所述初始样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始样本的数据分布梯度方向;基于所述替代模型的梯度方向相对初始样本的数据分布梯度方向和所述初始样本获得初始对抗样本;将所述初始对抗样本输入至所述替代模型,以获取所述替代模型的梯度方向相对初始对抗样本的数据分布梯度方向;将所述替代模型的梯度方向相对初始对抗样本的数据分布梯度方向作为所述替代模型的扰动数据分布方向。
[0125]
可选的,进行一轮或多轮迭代生成对抗样本;
[0126]
当当前轮为第一轮迭代时,输入至所述替代模型的样本为所述初始样本;否则为前一轮的对抗样本。
[0127]
可选的,将当前轮获得的扰动数据限制在预设的扰动变化范围内。
[0128]
与本技术第二实施例提供的对抗攻击方法相对应的,本技术第四实施例提供一种对抗攻击装置。由于装置实施例基本相似于第二实施例,所以描述得比较简单,相关之处参见第二实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0129]
请参照图5,其为本技术第四实施例提供的一种对抗攻击装置的示意图。该对抗攻击装置包括:对抗样本获得单元501,用于获得对抗样本,所述对抗样本通过上述步骤s201-步骤s204获得。目标模型训练单元502,用于利用所述对抗样本对目标模型进行训练。
[0130]
本技术第五实施例还提供一种目标模型验证方法,如图8所示,图8为本技术第五
实施例提供的一种目标模型验证方法的流程图。所述方法应用于saas(software-as-a-service,软件即服务)平台,所述方法包括如下步骤:
[0131]
步骤s801,获得客户端针对目标模型的验证请求信息。
[0132]
在步骤中,当用户需要确定一个模型是否为合格的模型时,其可以通过saas服务平台进行验证。其中,目标模型可以是用户当前正在使用的模型,也可以是用户即将从saas服务平台获得的模型或其它渠道获得的模型。
[0133]
步骤s802,根据所述验证请求信息获得初始样本和目标模型的至少一个替代模型;基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向,并根据所述扰动数据分布方向确定扰动数据;将所述扰动数据增加到所述初始样本中,以生成对抗样本;其中,所述目标模型至少与所述替代模型的任务类型相同;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关。
[0134]
本步骤的对抗样本的获取方式详见上述第一实施例的描述,此处将不再重复赘述。
[0135]
步骤s803,利用所述对抗样本对所述目标模型进行验证,并将针对所述目标模型的验证结果反馈给所述客户端。
[0136]
具体的,在获得对抗样本后,可以利用目标模型处理对抗样本,测试目标模型输出结果是否与对抗样本对应的初始样本的一致,如果一致,则说明目标模型具备一定的抵抗对抗攻击的能力,即针对所述目标模型的验证结果为合格结果。反之针对所述目标模型的验证结果为不合格结果,且目标模型需要进一步优化,以提供抵御攻击的能力。其中,测试目标模型输出结果是否与对抗样本对应的初始样本的一致包括:测试目标模型输出结果是否与对抗样本对应的初始样本的标签一致。另外,还可以利用对抗样本以及其对应的标签作为训练数据对目标模型进行进一步训练,以提高其抵御攻击的能力。
[0137]
本技术第六实施例还提供一种机器学习模型加固方法,如图9所示,图9为本技术第六实施例提供的一种机器学习模型加固方法的流程图。所述方法包括如下步骤:
[0138]
步骤s901,获得初始样本和目标模型的至少一个替代模型;所述初始样本的样本类型至少包括实体识别或自动驾驶领域中的文本数据、音频数据或图像数据;所述目标模型至少与所述替代模型的任务类型相同。
[0139]
其中,在本步骤中,实体识别包括面部对象识别。获得初始样本和目标模型的至少一个替代模型具体步骤详见上述第一实施例的描述,此处将不再重复赘述。
[0140]
步骤s902,基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关。
[0141]
步骤s903,根据所述扰动数据分布方向确定扰动数据。
[0142]
步骤s904,将所述扰动数据增加到所述初始样本中,以生成对抗样本。
[0143]
步骤s902-步骤s904中基于初始样本和替代模型生成对抗样本的具体步骤详见上述第一实施例的描述,此处将不再重复赘述。
[0144]
步骤s905,利用所述对抗样本对所述目标模型进行训练。
[0145]
与本技术第五实施例提供的目标模型验证方法相对应的,本技术第七实施例提供一种目标模型验证装置。由于装置实施例基本相似于第五实施例,所以描述得比较简单,相
关之处参见第五实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0146]
请参照图10,其为本技术第七实施例提供的一种目标模型验证装置的示意图。该目标模型验证装置包括:验证请求信息获得单元1001,用于获得客户端针对目标模型的验证请求信息;处理单元1002,用于根据所述验证请求信息获得初始样本和目标模型的至少一个替代模型;基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向,并根据所述扰动数据分布方向确定扰动数据;将所述扰动数据增加到所述初始样本中,以生成对抗样本;其中,所述目标模型至少与所述替代模型的任务类型相同;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;反馈单元1003,用于利用所述对抗样本对所述目标模型进行验证,并将针对所述目标模型的验证结果反馈给所述客户端。
[0147]
与本技术第六实施例提供的机器学习模型加固方法相对应的,本技术第八实施例提供一种机器学习模型加固装置。由于装置实施例基本相似于第六实施例,所以描述得比较简单,相关之处参见第六实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0148]
请参照图11,其为本技术第八实施例提供的一种机器学习模型加固装置的示意图。该机器学习模型加固装置包括:获得单元1101,用于获得初始样本和目标模型的至少一个替代模型;所述初始样本的样本类型至少包括实体识别和自动驾驶领域中的文本数据、音频数据或图像数据;所述目标模型至少与所述替代模型的任务类型相同;扰动数据分布方向确定单元1102,用于基于所述初始样本和所述替代模型,确定根据所述替代模型的梯度方向生成的扰动数据分布方向;所述扰动数据分布方向与替代模型的梯度方向相对初始样本的数据分布梯度方向相关;扰动数据确定单元1103,用于根据所述扰动数据分布方向确定扰动数据;对抗样本生成单元1104,用于将所述扰动数据增加到所述初始样本中,以生成对抗样本;目标模型训练单元1105,用于利用所述对抗样本对所述目标模型进行训练。
[0149]
与本技术第一实施例提供的对抗样本生成方法和第三实施例提供的对抗攻击方法、第五实施例提供的目标模型验证方法以及第六实施例提供的机器学习模型加固方法相对应的,本技术第九实施例还分别提供一种电子设备。如图12所示,图12为本技术第九实施例中提供的一种电子设备的示意图。该电子设备,包括:处理器1201;存储器1202,用于存储计算机程序,该计算机程序被处理器运行,执行第一实施例提供的对抗样本生成方法和第三实施例提供的对抗攻击方法。
[0150]
与本技术第一实施例提供的对抗样本生成方法和第三实施例提供的对抗攻击方法、第五实施例提供的目标模型验证方法以及第六实施例提供的机器学习模型加固方法相对应的,本技术第十实施例还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行提供的对抗样本生成方法和第三实施例提供的对抗攻击方法、第五实施例提供的目标模型验证方法以及第六实施例提供的机器学习模型加固方法。
[0151]
本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
[0152]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网
络接口和内存。
[0153]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0154]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0155]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1