System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向深度神经网络鲁棒性的剪枝和形式化验证方法技术_技高网

面向深度神经网络鲁棒性的剪枝和形式化验证方法技术

技术编号:40148102 阅读:7 留言:0更新日期:2024-01-24 00:45
本发明专利技术公开了面向深度神经网络鲁棒性的剪枝和形式化验证方法,包括:S1:选取一个待验证的样本,在规定的扰动范围内,生成大量不重复的随机样本;S2:将每一个随机样本通过待验证的神经网络,在此过程中,统计神经元的覆盖率;S3:计算每一个隐藏层神经元的取值范围;S4:根据隐藏层神经元的取值范围,将处于未激活状态的神经元以及和它关联的边从神经网络中移除;S5:使用混合整数线性规划方法对剪枝后的神经网络进行建模;S6:将建模后的神经网络和待验证的属性输入线性规划求解器进行求解,根据求解结果判断当前样本下神经网络的鲁棒性。本发明专利技术的有益效果是:减少神经网络鲁棒性的验证时间,提高可验证的神经网络规模。

【技术实现步骤摘要】

本专利技术涉及人工智能领域,具体涉及面向深度神经网络鲁棒性的形式化验证方法。


技术介绍

0、技术背景

1、近年来深度学习技术的飞速发展,使其在各个行业得到了广泛的应用。但研究表明,深度神经网络很容易受到轻微的扰动,做出错误的判断。这在应用于自动驾驶、医疗诊断和模式识别等安全性要求较高的领域时,容易造成很大的危害。因此,使用形式化的方法来证明深度神经网络的鲁棒性已经成为了深度神经网络应用过程中的重要挑战性问题。深度神经网络的鲁棒性是指,在网络模型受到扰动攻击时,能否保证正确的输出结果。

2、深度神经网络模型普遍具有大规模的特点。而针对大规模的神经网络模型,目前尚缺少高效的验证方法,无法对其鲁棒性进行有效的验证。


技术实现思路

1、针对大规模深度神经网络模型的鲁棒性无法进行有效形式化验证的现状,本专利提出了解决方案,其能够通过剪枝的手段有效减小待验证的神经网络模型的规模,并使用混合整数线性规划有效验证其鲁棒性。

2、为实现上述目的,本申请的技术方案为:面向使用relu激活函数的深度神经网络鲁棒性的剪枝和形式化验证方法,包括:

3、步骤1:选取一个待验证的样本,在规定的扰动范围内,生成大量不重复的随机样本;

4、步骤2:将每一个随机样本通过待验证的神经网络,在此过程中,计算每一个隐藏层神经元的值,判断神经元的激活状态,根据激活状态统计神经元的覆盖率;

5、步骤3:将每一个输入层神经元使用一个符号表示,并逐层向后传播,将每一个隐藏层神经元转化为和输入层相关的符号表达式,然后结合每一个输入层神经元的取值范围,计算每一个隐藏层神经元的取值范围,其中覆盖率为0的神经元,结合符号表达式进行计算成本更高但是更精确的范围计算,覆盖率不为0的神经元,结合取值范围使用计算成本更低,但是误差较大的范围计算。当遇到神经元为不稳定激活状态时,采用线性松弛方法进行处理;

6、步骤4:根据隐藏层神经元的取值范围,将处于未激活状态的神经元以及和它关联的边从神经网络中移除,如果某个神经元的因为边的移除,不再有神经元和其相连,此类神经元也从神经网络中移除;

7、步骤5:使用混合整数线性规划方法对剪枝后的神经网络进行建模;

8、步骤6:将建模后的神经网络和待验证的属性输入线性规划求解器,使用求解器进行求解,根据求解结果,判断当前样本下神经网络的鲁棒性。

9、进一步的,所述步骤1中的扰动范围是指在待验证样本上可以添加的扰动大小,通常用范数计算。要生成的随机样本的数量需要人为指定。

10、进一步的所述扰动范围的计算公式如下:

11、||x-x'||p≤ε

12、其中,x是待验证的原始样本,x'是添加扰动后的对抗样本。p是规定的计算扰动的范数,可以是一范数、二范数和无穷范数等。ε是规定的扰动范围,即计算出扰动范围不能超过此范围。

13、进一步的,所述步骤2中的神经元激活状态是通过经过relu激活函数后的神经元值判断,当值小于等于零时,激活后值为零,不会对后续计算产生影响,为未激活状态;值大于零时,激活后值不变,会对后续计算产生影响,为激活状态。神经元覆盖率是指神经元为激活状态的次数在总随机样本数量中所占的比例。

14、进一步的,所述步骤3的具体实现方法为:

15、步骤3.1,根据待验证的原始样本x和扰动范围ε,计算出每一个输入层神经元的取值范围[x-ε,x+ε],并将每一个输入层神经元使用一个不重复的符号表示。

16、步骤3.2,将表示输入层的符号向后传播,计算每一个隐藏层神经元的符号表达式。当传播到一个神经元的覆盖率为零时,则认为它可能不会对神经网络在当前样本下的验证产生影响,结合符号表达式和取值范围计算此神经元的取值范围,用于后续判断,是否剪枝此神经元。当因为经过relu激活函数,神经元处于不稳定激活状态,造成非线性的情况时,使用线性松弛的方法进行处理。

17、进一步的所述神经元的不稳定的激活状态是指,当神经元的取值下界小于零,上界大于零时,无法判定其是否会对计算产生影响。且其通过relu激活函数为非线性的状态,所以采用线性松弛的手段对其进行处理,将其松弛为一个三角形的线性区域,方便后续计算。因为此松弛手段为上近似,所以可以保证后续计算结果是sound的,即若计算出神经元的上界小于零,其真实上界一定小于零且小于计算出的上界,下界同理。

18、进一步的,针对relu激活函数的神经元符号表达式处理公式如下:

19、

20、

21、

22、其中是第i层第j个神经元的激活前值,是神经元的激活后值,和分别是神经元激活前的取值上界和取值下界。

23、进一步的,所述步骤5的混合整数线性规划的建模公式如下:

24、

25、

26、

27、

28、

29、

30、

31、

32、其中,x(i)表示第i层神经元的激活前值,表示第i-1层神经元的激活后值,w(i)表示第i层神经网络的权重值,b(i)表示第i层的偏差值,m是神经网络的层数,n是每层神经元的个数。和分别第i层神经元所有n个神经元的不同激活状态,其中i+是激活状态,i-是为未激活状态,i是不稳定激活状态。是一个整数类型的二值变量,用于在求解时固定第i层第j个不稳定激活状态神经元的激活状态。

33、进一步的,所述步骤6的鲁棒性是指神经网络在规定的扰动范围内是否会将待验证样本误判为其它一个或多个不同结果,通常用一个线性表达式表示,具体属性需要在验证开始前人为设定。

34、本专利技术由于采用以上技术方案,能够取得如下的技术效果:本申请通过结合神经元覆盖率和符号边界传播方法来计算在给定的扰动范围内覆盖率为零的神经元的取值范围,并通过取值范围来判断神经元的激活状态,对神经网络进行剪枝,可以有效缩减神经网络的规模,减少神经网络鲁棒性的验证时间,提高可验证的神经网络规模。本申请通过使用混合整数线性规划方法对神经网络进行建模,通过引入01二值变量来固定处于不稳定激活状态的神经元的状态,实现对神经网络的准确建模,从而可以实现对神经网络鲁棒性的完全验证,给出神经网络是否鲁棒的确定性保证。

本文档来自技高网...

【技术保护点】

1.面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,包括:

2.根据权利要求1所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述S1中的扰动范围是指在待验证样本上可以添加的扰动大小,用范数计算。

3.根据权利要求2所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述扰动范围的计算公式如下:

4.根据权利要求1所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述S2中的神经元激活状态是通过经过ReLU激活函数后的神经元值判断,当值小于等于零时,激活后值为零,不会对后续计算产生影响,为未激活状态;值大于零时,激活后值不变,会对后续计算产生影响,为激活状态;神经元覆盖率是指神经元为激活状态的次数在总随机样本数量中所占的比例。

5.根据权利要求3所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述S3的具体实现方法为:

6.根据权利要求5所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述神经元的不稳定的激活状态是指,当神经元的取值下界小于零,上界大于零时,无法判定其是否会对计算产生影响。

7.根据权利要求5所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述针对ReLU激活函数的神经元符号表达式处理公式如下:

8.根据权利要求1所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述S5的混合整数线性规划的建模公式如下:

9.根据权利要求1所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述S6的鲁棒性是指神经网络在规定的扰动范围内是否会将待验证样本误判为其它一个或多个不同结果,用一个线性表达式表示。

...

【技术特征摘要】

1.面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,包括:

2.根据权利要求1所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述s1中的扰动范围是指在待验证样本上可以添加的扰动大小,用范数计算。

3.根据权利要求2所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述扰动范围的计算公式如下:

4.根据权利要求1所述面向深度神经网络鲁棒性的剪枝和形式化验证方法,其特征在于,所述s2中的神经元激活状态是通过经过relu激活函数后的神经元值判断,当值小于等于零时,激活后值为零,不会对后续计算产生影响,为未激活状态;值大于零时,激活后值不变,会对后续计算产生影响,为激活状态;神经元覆盖率是指神经元为激活状态的次数在总随机样本数量中所占的比例。

5.根据权利要求3所述面向深度神经网...

【专利技术属性】
技术研发人员:侯刚熊焕璋孔维强王洁葛沈云
申请(专利权)人:大连理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1