一种多样性驱动的深度学习模型对抗样本生成及系统

文档序号:37341456发布日期:2024-03-18 18:11阅读:9来源:国知局
一种多样性驱动的深度学习模型对抗样本生成及系统

本申请涉及人工智能,尤其涉及一种多样性驱动的深度学习模型对抗样本生成及系统。


背景技术:

1、前,深度学习取得了显著的进展,在各个领域展现出了出色的性能。然而,尽管在性能方面取得了显著成就,但深度学习模型在决策制定中的透明度不足,这使得我们在理解这些模型的可靠性方面面临挑战,特别是在现实世界的场景下。此外,随着深度学习系统在安全关键领域得到广泛应用,人们对深度学习模型的脆弱性产生了担忧。因此,软件工程和人工智能领域都强调了严格测试流程的重要性,以确保深度学习模型的稳健性和安全性。然而,与传统软件测试不同的是,深度学习模型的决策逻辑遵循数据驱动编程范式,其逻辑是由训练数据而非显式代码确定的。这从根本上增加了对深度学习模型进行充分测试的挑战。先前的研究表明深度学习模型容易受到对抗攻击,攻击者会制作对抗样本,从而操纵模型分类并导致错误结果。

2、大量研究利用对抗样本来测试深度学习模型的鲁棒性,但却没有理解对抗攻击算法的固有特性。要认识到,攻击者寻求对对抗攻击进行最佳扰动,以导致从正确类别到目标类别的错误分类。

3、最近的研究进展还进行了基于梯度的攻击与损失函数极小值之间的形式分析,以证明强大的对手具有高概率共享类似的特征表示,这意味着现有的对抗样本不适合作为探索深度学习模型更多内在逻辑的测试用例生成算法。因此,这显然与"iso/iec tr 29119-11软件测试-关于测试基于ai的系统的指南"[1]中概述的包含各种逻辑场景的多样化测试用例相违背。


技术实现思路

1、本申请实施例提供一种多样性驱动的深度学习模型对抗样本生成及系统,用以在不影响攻击成功率的情况下产生更多样化的测试用例。

2、本申请实施例提供一种多样性驱动的深度学习模型对抗样本生成方法,包括:

3、执行如下系统初始化:初始化测试种子集合seed_set、扰动的数量n、扰动方向的数量ndir、存储新生成对抗样本的栈s、贪心搜索的步长step_size、初始对抗样本集合a、空集合gen_test,以及将测试种子推入栈s;

4、对于range(n_ods)中的每个数i,根据存储新生成对抗样本的栈s中的每个元素x进行弹出,初始化梯度g,并设置起始点x_adv;

5、根据当前的扰动方向数量ndir,对栈s中的每个元素x_adv、计算梯度,以生成测试样例x_adv,并加入空集合gen_test;

6、将加入测试样例的空集合gen_test与初始对抗样本集合a合并,以获得对抗样本集合b。

7、可选的,初始化梯度g是将梯度g初始化为0。

8、可选的,根据当前的扰动方向数量ndir,对栈s中的每个元素x_adv、计算梯度满足gradient=compute_gradient(x_adv),其中gradient是指对于元素x_adv的梯度,compute_gradient是指计算x_adv梯度的函数。

9、可选的,生成测试样例x_adv包括:

10、若当前的扰动方向数量ndir=0,则基于一系列旋转角度rotation_angles,采用贪婪搜索寻找最佳扰动方向,并根据最佳扰动方向调整梯度方向至匹配的初始方向adjust_gradient_direction(gradient)。

11、可选的,基于一系列旋转角度rotation_angles,采用贪婪搜索寻找最佳扰动方向包括:

12、对于旋转角度rotation_angles中的每个角度,执行如下步骤:

13、旋转梯度rotated_gradient=rotate_gradient(gradient,angle,eta),其中angle是指扰动方向的角度,eta是指一个固定的角度调整步长;

14、计算损失值loss=compute_loss(x_adv),并将损失值添加到损失值的集合losses中;

15、判断当前损失是否最大,若是,则记录导致模型损失最大的梯度方向,作为最佳扰动方向。

16、可选的,根据当前的扰动方向数量ndir,对栈s中的每个元素x_adv、计算梯度还包括:

17、若当前的扰动方向数量ndir≠0,则使用原梯度gradient进行扰动更新:x_adv=x_adv+e*sign(gradient),其中e表示范数限制;

18、将元素裁剪到指定范围内:x_adv=clip_to_valid_range(x_adv),以生成测试样例x_adv;

19、将生成的测试样例x_adv添加到空集合gen_test。

20、本申请实施例还提出一种多样性驱动的深度学习模型对抗样本生成系统,其特征在于,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的多样性驱动的深度学习模型对抗样本生成方法的步骤。

21、本申请实施例通过惩罚扰动梯度方向来生成更多样化的对抗样本,通过积极搜索更多局部最优解,确保对抗性攻击中的扰动影响不同特征。

22、上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。



技术特征:

1.一种多样性驱动的深度学习模型对抗样本生成方法,其特征在于,包括:

2.如权利要求1所述的多样性驱动的深度学习模型对抗样本生成方法,其特征在于,初始化梯度g是将梯度g初始化为0。

3.如权利要求1所述的多样性驱动的深度学习模型对抗样本生成方法,其特征在于,根据当前的扰动方向数量ndir,对栈s中的每个元素x_adv、计算梯度满足gradient=compute_gradient(x_adv),gradient是指对于元素x_adv的梯度,compute_gradient是指计算x_adv梯度的函数。

4.如权利要求3所述的多样性驱动的深度学习模型对抗样本生成方法,其特征在于,生成测试样例x_adv包括:

5.如权利要求4所述的多样性驱动的深度学习模型对抗样本生成方法,其特征在于,基于一系列旋转角度rotation_angles,采用贪婪搜索寻找最佳扰动方向包括:

6.如权利要求4所述的多样性驱动的深度学习模型对抗样本生成方法,其特征在于,根据当前的扰动方向数量ndir,对栈s中的每个元素x_adv、计算梯度还包括:

7.一种多样性驱动的深度学习模型对抗样本生成系统,其特征在于,包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的多样性驱动的深度学习模型对抗样本生成方法的步骤。


技术总结
本申请公开了一种多样性驱动的深度学习模型对抗样本生成及系统,包括:执行如下系统初始化:初始化测试种子集合、扰动的数量、扰动方向的数量、存储新生成对抗样本的栈、贪心搜索的步长、初始对抗样本集合、空集合;对于range(N_ODS)中的每个数i,根据存储新生成对抗样本的栈中的每个元素进行弹出,初始化梯度,并设置起始点;根据当前的扰动方向数量,对栈中的每个元素、计算梯度,以生成测试样例,加入空集合;合并集合,以获得对抗样本集合。本申请的方法能够在不影响攻击成功率的情况下产生更多样化的测试用例。

技术研发人员:李虎,孔伟,况晓辉,张明,吴振东,赵刚
受保护的技术使用者:中国人民解放军军事科学院系统工程研究院
技术研发日:
技术公布日:2024/3/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1