一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种针对梯度裁剪的深度学习模型鲁棒性评估方法和系统与流程

2022-11-28 12:38:42 来源:中国专利 TAG:


1.本发明实施例涉及深度学习技术领域,尤其涉及针对梯度裁剪的深度学习模型鲁棒性评估方法和系统。


背景技术:

2.随着深度学习的发展和大规模应用,针对深度学习模型的攻击也层出不穷。其中就包括数据投毒攻击。数据投毒攻击的目的是通过恶意修改训练集来操纵学习算法生成的模型,训练完成的模型会按照攻击者的需求产生预测结果。数据投毒的基本方法是在某个具体的训练样本(x,y)上添加扰动生成投毒样本(xp,yp),然后将投毒样本混入模型的训练数据集中,使用投毒后的训练集训练得到的模型,其预测结果会根据攻击者的意愿发生改变。比如在智能驾驶领域,如果一个智能汽车所用的图像识别模型遭受到了数据投毒攻击,它就可能将停车标志识别为左转,从而造成严重的社会危害。
3.一个深度学习模型抵抗数据投毒攻击能力的强弱被称为该模型的鲁棒性。也就是说一个模型在面对数据投毒攻击时对输入样本的预测结果和实际结果偏差的越小,就证明该模型的鲁棒性越强。模型设计者在发布一个深度学习模型时,除了考虑模型的可用性外还需要评估该模型的鲁棒性,即分析其抵抗投毒攻击的能力。特别是在人脸识别和智能驾驶等关键领域,模型的鲁棒性直接关系到公共安全。
4.针对深度学习模型鲁棒性的评估问题,相关人员做了大量研究。现有的模型鲁棒性评估方法的基本框架是根据对目标模型架构的分析设计相应的测试样本集,使用该样本集作为训练样本训练待测模型,然后将目标模型的偏移程度等指标作为该模型鲁棒性的评估标准。评估方案评估结果的可信程度取决于该方案中所设计的测试样本集对模型行为偏移程度的影响效果,也就是说对模型行为的影响越大代表着评估的结果越可信,越有参考价值。
5.现有评估方案中,所使用的测试样本集是在随机的方向上对模型进行改变,为了使模型行为的偏移更加明显,测试样本往往需要在模型训练过程中产生更大的梯度,才能使训练得到的模型参数的原始分布和新分布变得可区分。
6.但是现有的深度学习模型在模型训练过程中广泛使用的随机梯度下降算法会进行梯度裁剪操作,该操作是指对大于某一阈值的梯度按特定比例进行缩小。而现有评估方案为了评估效果生成的测试样本往往会产生较大的梯度,也就导致了现有的评估方案对梯度裁剪操作是敏感的。也就是说,深度学习模型训练过程中随机梯度下降算法的梯度裁剪操作会削弱现有测试样本集产生的效果,导致了鲁棒性评估方案的评估结果参考意义不强。


技术实现要素:

7.本发明实施例提供一种针对梯度裁剪的深度学习模型鲁棒性评估方法和系统,以解决现有技术中深度学习模型训练过程中随机梯度下降算法的梯度裁剪操作会削弱现有
测试样本集产生的效果,导致了鲁棒性评估方案的评估结果参考意义不强的问题。
8.第一方面,本发明实施例提供一种针对梯度裁剪的深度学习模型鲁棒性评估方法,包括:步骤s1、提取目标模型的原始训练集中的原始样本集,对所述原始样本集进行奇异值分解,以得到投毒样本;基于所述投毒样本,以及所述投毒样本经所述目标模型的预测结果构建测试样本;步骤s2、将所述测试样本插入原始训练集生成测试训练集,基于所述测试训练集进行神经网络训练得到偏移模型;步骤s3、基于所述偏移模型对所述投毒样本进行预测,基于预测结果确定偏移模型是否偏移成功;获取目标模型的偏移成功率,将所述偏移成功率作为评估结果。
9.作为优选的,所述步骤s1具体包括:步骤s11、获取目标模型以及训练所述目标模型使用的原始训练集d=(x,y),其中,x为原始样本集,y为原始标签集,训练样本(x,y)∈d;步骤s12、基于梯度方差最小时的测试样本(x
p
, y
p
),并确定在预设梯度方差上界下的x
p
表达式;步骤s13、对训练集中的测试样本进行奇异值分解,得到投毒样本x
p
;基于目标模型对投毒样本x
p
进行预测,得到投毒样本x
p
的最小概率类标签y
p
,将(x
p
, y
p
)作为测试样本。
10.作为优选的,所述步骤s12具体包括;计算所述目标模型的权重参数w的梯度g
ω
:g
ω
=
∇wloss(w,b;x,y)上式中,loss表示损失函数;
∇w表示对权重参数w求梯度;b为目标模型的偏移参数;获取测试样本(x
p
,y
p )的计算公式:上式中,var[]表示梯度方差;预设梯度方差上界为var[x
p
,x],得到:
[0011]
作为优选的,对训练集中的测试样本进行奇异值分解,具体包括:基于奇异值分解方法求解x
p
表达式;将奇异值分解后最小奇异值对应的奇异值向量缩放到与原始训练样本集中其余训练样本相同的范数,得到投毒样本x
p

上式中,svd为奇异值分解函数;vd为奇异值分解后最小奇异值对应的奇异值向量缩放到与原始训练样本集中其余训练样本相同的范数,m表示范数;令x为i
×
j的矩阵;u表示一个i
×
i的矩阵;σ表示一个i
×
j的对角矩阵,除了主对角线外其他元素值均为0,主对角线上每个元素均为奇异值;v是一个j
×
j的矩阵。
[0012]
作为优选的,所述步骤s2具体包括:将测试样本复制k份,并将k份测试样本混入原始训练集d中,得到测试训练集;基于测试训练集进行神经网络训练,得到偏移模型。
[0013]
作为优选的,所述步骤s3中,基于所述偏移模型对所述投毒样本进行预测,基于预测结果确定偏移模型是否偏移成功,具体包括:将投毒样本输入偏移模型,得到偏移模型的预测结果f
θ
(x
p
),并确定损失值,若判断所述损失值小于预设损失阈值则判断偏移模型偏移成功。
[0014]
作为优选的,所述步骤s3中,获取目标模型的偏移成功率,将所述偏移成功率作为评估结果,具体包括:基于蒙特卡洛估计方法确定攻击成功率p:上式中,n表示不同投毒样本下的攻击总次数;k表示攻击成功次数;α表示本次估计的置信度;betainv为betainv函数。
[0015]
第二方面,本发明实施例提供一种针对梯度裁剪的深度学习模型鲁棒性评估系统,包括:测试样本生成模块,提取目标模型的原始训练集中的原始样本集,对所述原始样本集进行奇异值分解,以得到投毒样本;基于所述投毒样本,以及所述投毒样本经所述目标模型的预测结果构建测试样本;偏移模型生成模块,将所述测试样本插入原始训练集生成测试训练集,基于所述测试训练集进行神经网络训练得到偏移模型;评估模块,基于所述偏移模型对所述投毒样本进行预测,基于预测结果确定偏移模型是否偏移成功;获取目标模型的偏移成功率,将所述偏移成功率作为评估结果。
[0016]
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明第一方面实施例所述针对梯度裁剪的深度学习模型鲁棒性评估方法的步骤。
[0017]
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明第一方面实施例所述针对梯度裁剪的深度学习模型鲁棒性评估方法的步骤。
[0018]
本发明实施例提供的一种针对梯度裁剪的深度学习模型鲁棒性评估方法和系统,为了减少梯度裁剪对测试样本集造成的模型偏移效果的影响,首先得到目标模型中权重参数w的梯度g
ω
。然后对g
ω
的分布进行分析,计算其数据分布方差最小的方向,并将该方向作为模型鲁棒性评估方案中模型修改的方向。然后在该方向上计算生成测试样本(x
p
,y
p
)。按
照本方法得到的测试样本,只需要产生较小的梯度就可以使模型参数的分布产生明显区分,从而达到较好的模型偏移效果,提升了评估方案的评估可信度。
附图说明
[0019]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]
图1为根据本发明实施例的针对梯度裁剪的深度学习模型鲁棒性评估方法流程框图;图2为根据本发明实施例的鲁棒性评估具体流程图;图3为根据本发明实施例的模型权重参数的梯度数据分布图示;图4为本发明提供的电子设备的结构示意图。
具体实施方式
[0021]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022]
本技术实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
[0023]
本技术实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本技术的描述中,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列部件或单元的系统、产品或设备没有限定于已列出的部件或单元,而是可选地还包括没有列出的部件或单元,或可选地还包括对于这些产品或设备固有的其它部件或单元。本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0024]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0025]
在深度学习模型应用于智能驾驶、人脸支付、智能安防等敏感领域时,如果遭受对抗样本攻击,将会威胁驾驶安全、资金安全和公共安全。通常把深度学习模型抵御对抗样本的能力称为深度学习模型的鲁棒性,评估深度学习模型的鲁棒性是一项非常重要的工作。
[0026]
因此,本发明实施例提供一种针对梯度裁剪的深度学习模型鲁棒性评估方法和系统,在基本的深度学习模型鲁棒性评估方法框架的基础上,针对模型训练过程中广泛使用的随机梯度下降算法设计了一种可以减小梯度裁剪操作影响的鲁棒性测试样本集方法,从而提高评估结果的可信程度。下面结合附图描述针对梯度裁剪的深度学习模型鲁棒性评估
方法和系统。
[0027]
图1和图2为根据本发明实施例提供一种针对梯度裁剪的深度学习模型鲁棒性评估方法,可应用于深度学习模型的鲁棒性评估中,包括自动控制模型,如系统建模和辨识,参数整定,极点配置,内模控制,优化设计,预测控制,最优控制,滤波与预测容错控制的模型等;处理组合优化模型,如最大匹配,装箱和作业调度的模型;模式识别模型,如手写字符,汽车牌照,指纹和声音识别的模型,以及目标的自动识别,目标跟踪,机器人传感器图像识别及地震信号的鉴别的模型;图像处理模型,如图像进行边缘监测,图像分割,图像压缩和图像恢复的模型;信号处理模型,如对通讯、语音、心电和脑电信号进行处理分类的模型,以及用于海底声纳信号的检测与分类的模型;机器人控制模型,如对机器人轨道控制,操作机器人眼手的模型,用于机械手的故障诊断及排除,智能自适应移动机器人的导航,视觉模型;卫生保健医疗模型,评估方法包括:步骤s1、提取目标模型的原始训练集中的原始样本集,对所述原始样本集进行奇异值分解,以得到投毒样本;基于所述投毒样本,以及所述投毒样本经所述目标模型的预测结果构建测试样本;本实施例中,对要评估的目标模型f进行梯度分析,通过测试样本生成方法生成k个测试样本(x
p
,y
p
);具体包括:步骤s11、获取目标模型以及训练所述目标模型f使用的原始训练集d=(x,y),其中,x为原始样本集,y为原始标签集,训练样本(x,y)∈d;步骤s12、基于梯度方差最小时的测试样本(x
p
, y
p
),并确定在预设梯度方差上界下的x
p
表达式;计算所述目标模型的权重参数w的梯度g
ω
:g
ω
=
∇wloss(w,b;x,y)
ꢀꢀ
(1)上式中,loss表示损失函数;
∇w表示对权重参数w求梯度;b为目标模型的偏移参数;获取测试样本(x
p
,y
p )的计算公式: (2)上式中,var[]表示梯度方差;公式(2)是获得一个测试样本(x
p
,y
p )的计算公式,也就是说满足公式(2)中的测试样本(x
p
,y
p ),可以实现在梯度方差最小的方向上修改模型参数。
[0028]
因为每轮训练都会更新权重参数,所以公式(2)取值会随着训练过程而变化,导致无法获得一个确定的(x
p
,y
p )。因此给方差计算设定一个上界,公式(2)也就转化为计算该上界的最小值。预设梯度方差上界为var[x
p
,x],得到:
ꢀꢀ
(3)
ꢀꢀ
(4)步骤s13、对训练集中的测试样本进行奇异值分解,得到投毒样本x
p
;通过奇异值分解的方法来求解公式(4);将奇异值分解后最小奇异值对应的奇异值向量缩放到与原始训练样本集中其余训练样本x相同的范数,得到投毒样本x
p

ꢀꢀ
(5)
ꢀꢀ
(6)上式中,svd为奇异值分解函数;vd为奇异值分解后,最小奇异值对应的奇异值向量;将vd缩放到与原始训练样本集中其余训练样本相同的范数,m表示范数;令x为i
×
j的矩阵;u表示一个i
×
i的矩阵;σ表示一个i
×
j的对角矩阵,除了主对角线外其他元素值均为0,主对角线上每个元素均为奇异值;v是一个j
×
j的矩阵。
[0029]
基于目标模型f对投毒样本x
p
进行预测,得到投毒样本x
p
的最小概率类标签y
p
,将(x
p
, y
p
)作为测试样本。
[0030]
ꢀꢀ
(7)
ꢀꢀ
(8)如图3中所示,图中实线代表原始模型中参数的数据分布,虚线代表被测试样本偏移后模型中参数的数据分布,箭头则代表了测试样本造成模型偏移后模型参数修改的方向;本实施例的方案保证了测试样本集产生的模型梯度分布和原始训练数据集产生的模型梯度分布有明显的偏差,椭圆代表梯度分布,两个椭圆相交的面积越小,代表两个分布区分度越大。本实施例中,通过对梯度分布进行分析,在梯度方差最小的方向上修改模型参数,也就是说测试样本不需要产生较大的梯度,也可以达到明显的模型行为偏移效果,从而提高模型评估结果的可信度。
[0031]
步骤s2、将所述测试样本插入原始训练集生成测试训练集,基于所述测试训练集进行神经网络训练得到偏移模型;本实施例中,将测试样本复制k份,并将k份测试样本混入原始训练集d中,得到测试训练集d’;基于测试训练集d’进行神经网络训练,得到偏移模型f
θ

[0032]
步骤s3、基于所述偏移模型对所述投毒样本进行预测,基于预测结果确定偏移模型是否偏移成功;具体包括:将投毒样本输入偏移模型f
θ
,得到偏移模型的预测结果f
θ
(x
p
),并确定损失值loss(f
θ
(x
p
);y
p
),若判断所述损失值小于预设损失阈值z则判断偏移模型偏移成功。
[0033]
获取目标模型的偏移成功率,将所述偏移成功率作为评估结果,具体包括:基于蒙特卡洛估计方法结合置信区间确定攻击成功率p:上式中,n表示不同投毒样本下的攻击总次数;k表示攻击成功次数;α表示本次估计的置信度;betainv为betainv函数,是一个可直接调用的现有函数,该函数的主要作用就是依据beta分布累积概率密度函数的反函数。
[0034]
若该评估结果达到预期,可发布该模型用于实际场景。否则模型设计者应该对模
型进行修改或重新设计。
[0035]
本发明实施例还提供一种针对梯度裁剪的深度学习模型鲁棒性评估系统,基于上述各实施例中的针对梯度裁剪的深度学习模型鲁棒性评估方法,包括:测试样本生成模块,提取目标模型的原始训练集中的原始样本集,对所述原始样本集进行奇异值分解,以得到投毒样本;基于所述投毒样本,以及所述投毒样本经所述目标模型的预测结果构建测试样本;偏移模型生成模块,将所述测试样本插入原始训练集生成测试训练集,基于所述测试训练集进行神经网络训练得到偏移模型;评估模块,基于所述偏移模型对所述投毒样本进行预测,基于预测结果确定偏移模型是否偏移成功;获取目标模型的偏移成功率,将所述偏移成功率作为评估结果。
[0036]
基于相同的构思,图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)310、通信接口(communications interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行基于横断面的管道内部漫游方法,该方法包括:步骤s1、提取目标模型的原始训练集中的原始样本集,对所述原始样本集进行奇异值分解,以得到投毒样本;基于所述投毒样本,以及所述投毒样本经所述目标模型的预测结果构建测试样本;步骤s2、将所述测试样本插入原始训练集生成测试训练集,基于所述测试训练集进行神经网络训练得到偏移模型;步骤s3、基于所述偏移模型对所述投毒样本进行预测,基于预测结果确定偏移模型是否偏移成功;获取目标模型的偏移成功率,将所述偏移成功率作为评估结果。
[0037]
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0038]
基于相同的构思,本发明实施例还提供一种非暂态计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包含至少一段代码,该至少一段代码可由主控设备执行,以控制主控设备用以实现如上述各实施例所述针对梯度裁剪的深度学习模型鲁棒性评估方法的步骤。例如包括:步骤s1、提取目标模型的原始训练集中的原始样本集,对所述原始样本集进行奇异值分解,以得到投毒样本;基于所述投毒样本,以及所述投毒样本经所述目标模型的预测结果构建测试样本;
步骤s2、将所述测试样本插入原始训练集生成测试训练集,基于所述测试训练集进行神经网络训练得到偏移模型;步骤s3、基于所述偏移模型对所述投毒样本进行预测,基于预测结果确定偏移模型是否偏移成功;获取目标模型的偏移成功率,将所述偏移成功率作为评估结果。
[0039]
基于相同的技术构思,本技术实施例还提供一种计算机程序,当该计算机程序被主控设备执行时,用以实现上述方法实施例。
[0040]
所述程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
[0041]
基于相同的技术构思,本技术实施例还提供一种处理器,该处理器用以实现上述方法实施例。上述处理器可以为芯片。
[0042]
综上所述,本发明实施例提供的一种针对梯度裁剪的深度学习模型鲁棒性评估方法和系统,为了减少梯度裁剪对测试样本集造成的模型偏移效果的影响,首先得到目标模型中权重参数w的梯度g
ω
。然后对g
ω
的分布进行分析,计算其数据分布方差最小的方向,并将该方向作为模型鲁棒性评估方案中模型修改的方向。然后在该方向上计算生成测试样本(x
p
,y
p
)。按照本方法得到的测试样本,只需要产生较小的梯度就可以使模型参数的分布产生明显区分,从而达到较好的模型偏移效果,提升了评估方案的评估可信度。
[0043]
本发明的各实施方式可以任意进行组合,以实现不同的技术效果。
[0044]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid statedisk)等。
[0045]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
[0046]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献