计算;推算;计数设备的制造及其应用技术1.本发明涉及网络模型处理技术领域,具体而言,涉及一种对深度神经网络进行剪枝的方法及装置。背景技术:2.深度神经网络在计算机领域能够实现较高的辨识度,广泛应用在图像识别、分类、预测等领域。但由于基于上游任务训练得到的深度神经网络的参数量十分庞大,所需的硬件部署要求高,因而,如何在硬件资源有限、不影响辨识精度的情形下,提升深度神经网络的运算速度是亟需解决的技术问题。其中,利用网络剪枝方法,能够对过度参数化的深度神经网络进行剪枝处理,得到参数量较少的稀疏子网络,再基于应用的下游任务,对稀疏子网络进行精细化训练,能够达到与深度神经网络相似的性能。3.但目前的剪枝方法,主要依据深度神经网络中各参数的权重进行剪枝,使得剪枝后得到的稀疏子网络容易受到对抗样本的攻击而产生错误的预测结果,相较于剪枝前的深度神经网络,表现出更差的鲁棒性。因而,如何提升剪枝后的稀疏子网络的鲁棒性、提升稀疏子网络的预测精度,成为一亟需解决的技术问题。技术实现要素:4.有鉴于此,本发明的目的在于提供对深度神经网络进行剪枝的方法及装置,以提高剪枝后得到的稀疏子网络的预测精度。5.第一方面,本发明实施例提供了对深度神经网络进行剪枝的方法,包括:6.将基于上游任务生成的深度神经网络迁移到下游目标任务,得到精调模型,所述上游任务包括多个下游任务,所述下游目标任务为所述多个下游任务中的一个;7.基于对抗样本以及所述下游目标任务对应的数据集,对精调模型的参数进行优化,得到参数对应的权重优化掩码;8.获取所述权重优化掩码的期望;9.按照从小至大的排序方式,对各权重优化掩码的期望进行排序,将满足预设稀疏度的期望对应的参数从精调模型中裁剪掉,得到稀疏子网络。10.结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述基于对抗样本以及所述下游目标任务对应的数据集,对精调模型的参数进行优化,得到参数对应的权重优化掩码,包括:11.依据均匀分布,为精调模型的每一参数进行赋值,生成对应的样本;12.基于hardconcrete分布以及预设的激活函数,对样本进行处理,得到二值的初始权重掩码;13.在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点以及初始权重掩码,构建最小-最大优化问题;14.求解所述最小-最大优化问题,得到参数对应的权重优化掩码。15.结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述基于引入对抗样本的数据点以及初始权重掩码,构建最小-最大优化问题,包括:16.获取初始权重掩码中非零元素的概率期望;17.基于初始权重掩码重构精调模型,在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点、概率期望以及重构的精调模型,构建最小-最大优化问题。18.结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述基于引入对抗样本的数据点以及初始权重掩码,构建最小-最大优化问题,包括:19.基于初始权重掩码重构精调模型,在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点以及重构的精调模型,构建最小-最大优化问题。20.结合第一方面、第一方面的第一种可能的实施方式至第三种可能的实施方式中的任一种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述对抗样本依据k投影梯度下降算法生成。21.结合第一方面、第一方面的第一种可能的实施方式至第三种可能的实施方式中的任一种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述将基于上游任务生成的深度神经网络迁移到下游目标任务,得到精调模型,包括:22.依据下游目标任务对应的任务样本数据集,对所述深度神经网络进行训练,依据完成训练的深度神经网络生成精调模型。23.结合第一方面、第一方面的第一种可能的实施方式至第三种可能的实施方式中的任一种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,在所述基于权重优化掩码,对精调模型进行裁剪,得到稀疏子网络的步骤之后,所述方法还包括:24.基于所述下游目标任务对应的数据集,对稀疏子网络进行精调,得到应用于该下游目标任务的任务剪枝模型。25.第二方面,本发明实施例还提供了一种对深度神经网络进行剪枝的装置,包括:26.迁移模块,用于将基于上游任务生成的深度神经网络迁移到下游目标任务,得到精调模型,所述上游任务包括多个下游任务,所述下游目标任务为所述多个下游任务中的一个;27.优化模块,用于基于对抗样本以及所述下游目标任务对应的数据集,对精调模型的参数进行优化,得到参数对应的权重优化掩码;28.剪枝模块,用于获取所述权重优化掩码的期望,按照从小至大的排序方式,对各权重优化掩码的期望进行排序,将满足预设稀疏度的期望对应的参数从精调模型中裁剪掉,得到稀疏子网络。29.第三方面,本技术实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。30.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。transformers)模型为例,设该bert模型为f(θ0),其中,f表示预训练语言模型,θ0为预训练后的bert模型的bert参数,则基于下游目标任务对f(θ0)进行精调后,得到精调模型为f(θ),其中,θ为精调模型的参数。44.本发明实施例中,作为一可选实施例,将基于上游任务生成的深度神经网络迁移到下游目标任务,得到精调模型,包括:45.依据下游目标任务对应的任务样本数据集,对所述深度神经网络进行训练,依据完成训练的深度神经网络生成精调模型。46.本发明实施例中,作为一可选实施例,以下游任务为下游文本分类任务、预训练语言模型为bert模型为例,在将bert模型应用在下游文本分类任务时,基于预先获取的文本分类数据集,将文本分类数据集中的样本文本分类数据,依次输入bert模型,通过bert模型的最后一层,即表示分类(cls,classification)层的线性分类器,得到文本分类,基于得到的文本分类以及样本文本分类数据对应的样本文本分类,对bert模型的bert参数的权重进行微调,从而通过对bert模型和线性分类器的精调,得到精调模型。47.步骤102,基于对抗样本以及所述下游目标任务对应的数据集,对精调模型的参数进行优化,得到参数对应的权重优化掩码;48.本发明实施例中,若剪枝后得到的稀疏子网络受到对抗样本攻击,预测结果的精度将降低,从而降低了稀疏子网络的鲁棒性,为了提升稀疏子网络的预测精度以及鲁棒性,作为一可选实施例,将对抗样本引入参数优化的流程中,以降低对抗样本对稀疏子网络的攻击影响。49.本发明实施例中,作为一可选实施例,基于对抗样本以及所述下游目标任务对应的数据集,对精调模型的参数进行优化,得到参数对应的权重优化掩码,包括:50.a11,依据均匀分布,为精调模型的每一参数进行赋值,生成对应的样本;51.本发明实施例中,生成的样本如下:[0052][0053]其中,ui为生成的第i个参数对应的样本,从均匀分布中进行采样得到,即为各参数的赋值(样本)满足均匀分布。[0054]本发明实施例中,作为另一可选实施例,也可以基于其它分布,例如,随机分布等生成样本。[0055]a12,基于hardconcrete分布以及预设的激活函数,对样本进行处理,得到二值的初始权重掩码;[0056]本发明实施例中,作为一可选实施例,对样本进行处理后,使之符合hardconcrete分布,这样,可以使得精调模型的各子网络的拓扑结构具有可学习性:[0057][0058]mi=min(1,max(0,si(ζ-γ)+γ))[0059]式中,[0060]βi为hardconcrete分布的温度系数;[0061]logαi为hardconcrete分布的位置系数;[0062]σ为激活(sigmoid)函数;[0063]γ、ζ为固定常数,其中,γ=-0.1,ζ=1.1;[0064]si为随机变量;[0065]mi为第i个参数对应的初始权重掩码;[0066]m={m1,m2,…,mi}。[0067]本发明实施例中,[0068]本发明实施例中,对样本进行变换得到的随机变量si遵循二元混凝土(binary concrete)分布。其中,随着温度系数βi逼近于0,随机变量逼近于概率(期望)为αi的伯努利分布。[0069]本发明实施例中,若随机变量si大于(1-γ)/(ζ-γ),mi被置为1,若si小于(-γ)/(ζ-γ),mi被置为0。[0070]本发明实施例中,在获取某一参数的初始权重掩码时,依据均匀分布进行采样,再根据采样值、hardconcrete分布以及激活函数,确定该参数对应的初始权重掩码是1还是0。[0071]本发明实施例中,初始权重掩码mi的估计值为:[0072]min(1,max(0,σ(logαi)(ζ-γ)+γ))[0073]本发明实施例中,在得到初始权重掩码后,为了增强后续剪枝后得到的稀疏子网络的稀疏性,作为另一可选实施例,该方法还包括:[0074]获取初始权重掩码中非零元素的概率期望。[0075]本发明实施例中,利用下式惩罚权重掩码中非零元素的概率期望:[0076][0077]式中,[0078]r(m)为初始权重掩码中存在非零元素的概率期望。[0079]a13,在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点以及初始权重掩码,构建最小-最大优化问题;[0080]本发明实施例中,作为一可选实施例,基于引入对抗样本的数据点以及初始权重掩码,构建最小-最大优化问题,包括:[0081]基于初始权重掩码重构精调模型,在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点以及重构的精调模型,构建最小-最大优化问题。[0082]本发明实施例中,依据初始权重掩码对精调模型进行重构,以精调模型为f(θ)为例,重构后的精调模型为:f(m⊙θ)。其中,其中,m为二值的初始权重掩码,⊙为初始权重掩码与对应参数相乘。[0083]本发明实施例中,在利用数据集对重构后的精调模型进行训练时,重构后的精调模型可以表示为:f(x;m⊙θ),y。其中,(x,y)为数据集中的数据点。[0084]本发明实施例中,为了有效降低对抗样本的攻击,作为一可选实施例,将对抗样本引入参数优化中,对抗训练求解下述的最小(min)-最大(max)优化问题:[0085][0086]其中,[0087]d为数据集,作为一可选实施例,数据集为文本分类数据集,包括但不限于:斯坦福情感树库(sst-2,the stanford sentiment treebank)、互联网电影资料库(imdb,internet movie database),ag新闻数据集(agnews)等;[0088](x+δ),y为引入对抗样本的数据点;[0089]δ为被限制在∈球中的对抗样本;[0090]为惩罚函数。[0091]本发明实施例中,作为一可选实施例,使用k投影梯度下降(pgd-k,projected gradient descent)算法生成对抗样本δ:[0092][0093]式中,[0094][0095]δk为第k步的对抗样本;[0096]η为对抗样本的步长,为一常数;[0097]∏‖δ‖≤∈(·)为将对抗样本投影到斐波那契球中。[0098]本发明实施例中,作为一可选实施例,利用对抗攻击算法求解min-max优化问题,得到各参数对应的权重优化掩码。[0099]本发明实施例中,作为另一可选实施例,基于引入对抗样本的数据点以及初始权重掩码,构建最小-最大优化问题,包括:[0100]基于初始权重掩码重构精调模型,在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点、概率期望以及重构的精调模型,构建最小-最大优化问题。[0101]本发明实施例中,对于前述获取概率期望的情形,还可以将概率期望引入到min-max优化问题中,并进行优化,即基于初始权重掩码重构精调模型,在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点、概率期望以及重构的精调模型,构建最小-最大优化问题,求解所述最小-最大优化问题,得到权重优化掩码。[0102]本发明实施例中,构建如下的最小-最大优化问题:[0103][0104]式中,[0105]λ为正则化强度。[0106]a14,求解所述最小-最大优化问题,得到参数对应的权重优化掩码。[0107]本发明实施例中,通过训练求解最小-最大优化问题,可得到各参数对应的权重优化掩码。[0108]本发明实施例中,通过为每一参数赋值对应的二值的初始权重掩码,对初始权重掩码进行优化,得到权重优化掩码,若一参数对应的二值的权重优化掩码为零或小于预先设置的掩码阈值,表示可以舍弃该参数,从而实现对精调模型的参数的优化。[0109]步骤103,获取所述权重优化掩码的期望;[0110]步骤104,按照从小至大的排序方式,对各权重优化掩码的期望进行排序,将满足预设稀疏度的期望对应的参数从精调模型中裁剪掉,得到稀疏子网络。[0111]本发明实施例中,作为一可选实施例,对于获取的各权重优化掩码,按照从小至大的排序方式,对权重优化掩码进行排序,依据预设的稀疏度,例如,排序前n位,将排序前n位的权重优化掩码对应的参数从精调模型中裁剪掉,即将排序前n位的权重优化掩码设置为零,得到稀疏子网络,该稀疏子网络为裁剪掉参数的精调模型。[0112]本发明实施例中,作为另一可选实施例,由于权重优化掩码mi与随机变量si相关,而随机变量si的期望(概率)为e{si}=αi。因而,可依据预设的稀疏度,根据参数对应的掩码优化权重的期望αi进行剪枝。例如,稀疏度为占总数的50%,则对参数对应的掩码优化权重的期望αi,按照从小至大的顺序进行排序,将排序前50%的期望对应的参数从精调模型中裁剪掉,得到稀疏子网络。[0113]本发明实施例中,在对精调模型的参数进行优化时,通过在用于训练精调模型的数据集的数据点中引入对抗样本,从而对参数的权重进行优化,并基于各参数的优化权重对精调模型进行剪枝。由于在对精调模型的参数进行剪枝时,考虑了对抗样本的攻击对精调模型的影响,使得分枝后得到的稀疏子网络能够有效抵抗对抗样本的攻击,从而提升了稀疏子网络的鲁棒性,提高了稀疏子网络的预测精度。[0114]本发明实施例中,作为一可选实施例,该方法还包括:[0115]基于所述下游目标任务对应的数据集,对稀疏子网络进行精调,得到应用于该下游目标任务的任务剪枝模型。[0116]本发明实施例中,对剪枝得到的稀疏子网络f(m⊙θ),在下游任务上进行微调。以bert模型为例,对bert模型进行剪枝后,得到稀疏子网络,利用稀疏子网络的表示分类(cls)层的线性分类器,基于文本分类数据集进行文本分类任务训练。[0117]本发明实施例中,得到的稀疏子网络,用以取代预训练的深度神经网络,例如,预训练语言模型,再基于下游任务进行精调,得到的任务剪枝模型,将针对下游目标任务待处理的数据点输入任务剪枝模型,可以得到任务剪枝模型对该待处理的数据点的预测结果。相较于原始的深度神经网络,包含的参数量少,收敛速度更快,且预测精度相似。[0118]本发明实施例的方法,可以适用基于知识图谱的企业风险预警的应用中,例如,对于当前的发生风险事件,需要从该事件中进行实体识别并抽取相关实体,然后从企业知识图谱中,寻找和该风险事件相关联的企业,最终对这些企业进行风险预警。[0119]图2示出了本发明实施例所提供的任务剪枝模型与其它模型的对比示意图。如图2所示,在原始干净样本和对抗攻击样本下的测试结果可以看出,本发明实施例在训练阶段能够更快的收敛,并具有明显提升的对抗鲁棒性。例如,相较于自然语言处理领域中的对抗训练算法(freelb,free large batch),如随机子网络以及原始网络(深度神经网络),本发明实施例的任务剪枝模型(鲁棒子网络),能在保持相似预测精度的情形下,取得20%以上的鲁棒性提升。[0120]图3示出了本发明实施例所提供的对深度神经网络进行剪枝的装置结构示意图。如图3所示,该装置包括:[0121]迁移模块301,用于将基于上游任务生成的深度神经网络迁移到下游目标任务,得到精调模型,所述上游任务包括多个下游任务,所述下游目标任务为所述多个下游任务中的一个;[0122]本发明实施例中,作为一可选实施例,将基于上游任务生成的深度神经网络迁移到下游目标任务,得到精调模型,包括:[0123]依据下游目标任务对应的任务样本数据集,对所述深度神经网络进行训练,依据完成训练的深度神经网络生成精调模型。[0124]优化模块302,用于基于对抗样本以及所述下游目标任务对应的数据集,对精调模型的参数进行优化,得到参数对应的权重优化掩码;[0125]本发明实施例中,作为一可选实施例,优化模块302包括:[0126]样本生成单元(图中未示出),用于依据均匀分布,为精调模型的每一参数进行赋值,生成对应的样本;[0127]初始权重掩码获取单元,用于基于hardconcrete分布以及预设的激活函数,对样本进行处理,得到二值的初始权重掩码;[0128]期望计算单元,用于获取初始权重掩码中非零元素的概率期望;[0129]第一权重优化掩码获取单元,用于基于初始权重掩码重构精调模型,在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点、概率期望以及重构的精调模型,构建最小-最大优化问题,求解所述最小-最大优化问题,得到权重优化掩码。[0130]本发明实施例中,作为另一可选实施例,对抗样本依据k投影梯度下降算法生成。[0131]本发明实施例中,作为另一可选实施例,优化模块302包括:[0132]样本生成单元,用于依据均匀分布,为精调模型的每一参数进行赋值,生成对应的样本;[0133]初始权重掩码获取单元,用于基于hardconcrete分布以及预设的激活函数,对样本进行处理,得到二值的初始权重掩码;[0134]第二权重优化掩码获取单元,用于基于初始权重掩码重构精调模型,在所述数据集的数据点中引入对抗样本,基于引入对抗样本的数据点以及重构的精调模型,构建最小-最大优化问题,求解所述最小-最大优化问题,得到权重优化掩码。[0135]剪枝模块303,用于获取所述权重优化掩码的期望,按照从小至大的排序方式,对各权重优化掩码的期望进行排序,将满足预设稀疏度的期望对应的参数从精调模型中裁剪掉,得到稀疏子网络。[0136]本发明实施例中,作为一可选实施例,剪枝模块303包括:[0137]期望获取单元,用于获取所述权重优化掩码的期望;[0138]排序单元,用于按照从小至大的排序方式,对各权重优化掩码的期望进行排序;[0139]裁剪单元,用于将满足预设稀疏度的期望对应的参数从精调模型中裁剪掉。[0140]本发明实施例中,作为一可选实施例,该装置还包括:[0141]任务剪枝模型生成模块(图中未示出),用于基于所述下游目标任务对应的数据集,对稀疏子网络进行精调,得到应用于该下游目标任务的任务剪枝模型。[0142]图4所示,本技术一实施例提供了一种计算机设备400,用于执行图1中的对深度神经网络进行剪枝的方法,该设备包括存储器401、与存储器401通过总线相连的处理器402及存储在该存储器401上并可在该处理器402上运行的计算机程序,其中,上述处理器402执行上述计算机程序时实现上述对深度神经网络进行剪枝的方法的步骤。[0143]具体地,上述存储器401和处理器402能够为通用的存储器和处理器,这里不做具体限定,当处理器402运行存储器401存储的计算机程序时,能够执行上述对深度神经网络进行剪枝的方法。[0144]对应于图1中的对深度神经网络进行剪枝的方法,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述对深度神经网络进行剪枝的方法的步骤。[0145]具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述对深度神经网络进行剪枝的方法。[0146]在本技术所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0147]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0148]另外,在本技术提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。[0149]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。[0150]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。[0151]最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围。都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
一种对深度神经网络进行剪枝的方法及装置与流程
作者:admin
2022-08-31 08:32:43
501
关键词:
计算;推算;计数设备的制造及其应用技术
专利技术
- 下一篇: 一种生物减水剂研发用多功能振动台的制作方法
- 上一篇: 空间并行的相干伊辛机及包含其的求解器的制作方法