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

一种用于知识蒸馏的边界样本数据增强方法及装置与流程

2022-03-23 01:53:32 来源:中国专利 TAG:


1.本技术涉及深度网络中知识蒸馏训练的数据增强,具体地涉及一种用于知识蒸馏的边界样本数据增强方法及装置。


背景技术:

2.随着对深度神经网络(dnn)的研究的深入,深度网络被应用于越来越复杂的问题上,网络的深度与广度也变得越来越大。然而,庞大的参数规模不仅会导致训练上的困难,也会大大增加推理阶段花费的时间,使得网络模型无法部署在个人电脑等计算力较弱的设备上。因此,很多最近的工作都致力于研究如何将庞大的深度网络压缩为更轻量的网络,而方法之一就是知识蒸馏(kd)。
3.知识蒸馏是一种知识迁移的实现方式,它通过使用已经训练好的复杂模型的输出来训练简单模型,以此达到模型压缩和提升简单模型准确率的效果。在这一过程中,复杂模型被称为教师模型而简单模型被称为学生模型。由于知识蒸馏实际上是学生模型学习教师模型决策边界的过程,越靠近决策边界的样本学习的效率越高。虽然知识蒸馏最大的信息来源是教师模型,但仍然依赖适合的训练数据以完成知识从教师到学生的迁移。在实际应用中,由于进行知识蒸馏的人员并不一定是教师模型的训练方,经常会出现虽然可以获取到教师模型,却无法收集到足量用于知识蒸馏的数据的情况。此时就需要进行数据增强(data augmentation)以扩充数据集。
4.数据增强又称数据扩增,指通过实际采集数据以外的方式,使用现有的数据生成更多有助于机器学习模型训练的数据。通俗的讲,数据增强是使用已有的训练数据进行加工处理生成更多的训练数据的过程。数据增强能够帮助被训练模型更好的总结同种类样本上共有的特征。当数据足够多时,被训练模型才不易出现过拟合,才会拥有较好的泛化能力,在知识蒸馏中也是如此。此外,数据增强分为事先执行所有转换的线下增强,以及送入机器学习之前在批量数据上执行的线上增强。
5.然而,通用的数据增强方法如cutout方法和mixup方法,由于没有利用到教师模型,扩充出的样本不能很好的满足知识蒸馏的需要。因此,如何在知识蒸馏的特定背景下进行有效的数据增强是知识蒸馏领域亟待解决的问题之一。


技术实现要素:

6.本发明针对上述问题,提供了一种用于知识蒸馏的边界样本数据增强方法、装置及计算机存储介质。
7.本发明的第一方面,提供了一种用于知识蒸馏的数据增强方法,包括:
8.s1、根据原始样本在原始类别外的分类概率,得到进行边界化修改的目标类别;
9.s2、将样本空间中与原始类别分类概率相同的点组成决策边界面,对原始样本进行对抗攻击生成原始类别与目标类别之间的第一边界样本;
10.s3、将第一边界样本作为基础样本进行第一轮迭代,迭代过程s4-s5;
11.s4、根据基础样本所处的切面确定决策边界面上的n个方向,沿着n个方向进行基础样本修改,得到n个备选样本;
12.s5、对n个备选样本进行对抗攻击,生成n个第二边界样本;
13.s6、从第2轮迭代开始,将n个第二边界样本作为基础样本集合,对基础样本集合中的每个基础样本执行s4-s5,每个基础样本生成的n个第二边界样本中,只保留与基础样本集合中其他基础样本平均位置相距最远的1个第二边界样本,放入下一轮迭代的基础样本集合中;
14.s7、如果迭代轮次达到预定次数,迭代结束,最后一轮迭代得到的n个第二边界样本即为增强的边界样本数据。
15.进一步的,目标类别c被选到的概率pc基于教师模型f对目标类别的分类概率fc(x
ori
),具体表达式为:其中原始样本x
ori
∈[0,1]d,c0为原始类别。
[0016]
进一步的,使用deepfool算法进行对抗攻击。
[0017]
进一步的,根据基础样本所处的切面确定决策边界面上的n个方向,具体方法包括:令fc(x0)=z0所表示的面为σ0,其中x0表示第一边界样本,表示针对样本x0教师模型f对原始类别c0的分类概率,fc(x0)表示针对样本x0教师模型f对目标类别c的分类概率,z0表示样本x0到决策边界面的距离,σ0在x0处的切面π0表达式为:x表示样本空间中的点,令向量δx=x-x0,根据δx值生成n个修改后仍在切面上的备选样本。
[0018]
进一步的,基础样本修改的具体方法包括:将第i 1轮迭代的基础样本集合中的第i轮第j个样本记为x
i,j
,随机对x
i,j
的两个维度进行修改,针对第i 1轮迭代的基础样本集合共进行n次修改,第k次修改量δxk需满足:其中其中表示针对样本x
i,j
教师模型f对原始类别c0的分类概率,fc(x
i,j
)表示针对样本x
i,j
教师模型f对目标类别c的分类概率。
[0019]
进一步的,每个基础样本生成的n个第二边界样本中,只保留与基础样本集合中其他基础样本平均位置相距最远的1个第二边界样本,具体表达式为:他基础样本平均位置相距最远的1个第二边界样本,具体表达式为:其中第i 1轮迭代的基础样本集合中的第i轮第l个基础样本x
i,l
生成的n个第二边界样本中的第k个第二边界样本。
[0020]
本发明的第二方面,提供了一种用于知识蒸馏的边界样本数据增强装置,包括:目标类别获取单元,用于根据原始样本在原始类别外的分类概率,得到进行边界化修改的目标类别;第一边界样本获取单元,用于将样本空间中与原始类别分类概率相同的点组成决策边界面,对原始样本进行对抗攻击生成原始类别与目标类别之间的第一边界样本;迭代单元,包括第一次迭代模块、迭代模块、迭代更新模块,其中,第一次迭代模块用于将第一边界样本作为基础样本,利用迭代模块进行第一轮迭代;迭代模块用于根据基础样本所处的切面确定决策边界面上的n个方向,沿着n个方向进行基础样本修改,得到n个备选样本,以及对n个备选样本进行对抗攻击,生成n个第二边界样本;迭代更新模块用于从第二轮迭代
开始,将n个第二边界样本作为基础样本集合,对基础样本集合中的每个基础样本利用迭代模块进行迭代,每个基础样本生成的n个第二边界样本中,只保留与基础样本集合中其他基础样本平均位置相距最远的一个第二边界样本,放入下一轮迭代的基础样本集合中;增强的边界样本数据获取单元,用于监督迭代单元中的迭代轮次,如果迭代轮次达到预定次数,迭代结束,最后一轮迭代得到的n个第二边界样本即为增强的边界样本数据。
[0021]
本发明的第三方面,提供了一种用于知识蒸馏的边界样本数据增强装置,包括:处理器;以及存储器,其中,所述存储器中存储有计算机可执行程序,当由所述处理器执行所述计算机可执行程序时,执行上述用于知识蒸馏的边界样本数据增强方法。
[0022]
本发明的第四方面,提供了一种计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行上述用于知识蒸馏的边界样本数据增强方法。
[0023]
本发明提供的一种用于知识蒸馏的边界样本数据增强方法、装置及计算机存储介质,对每一个原始样本沿教师模型的决策边界进行逐步迭代的修改,从而扩充出多个适合用于知识蒸馏的边界样本。本方法在每轮迭代中,使用原始样本或上轮修改出的每个样本作为基础样本,利用教师模型的输出求出该样本附近决策边界的近似切面,在该切面上沿多个方向修改样本,随后进行对抗攻击的边界化操作;最后,挑选与其他基础样本距离最远的数个样本作为该轮修改的结果以及下轮迭代修改的基础样本。最终达到的有益效果:与现有的数据增强方法相比,本发明提供的面向知识蒸馏的边界样本数据增强方法、装置及计算机存储介质针对知识蒸馏场景的特点,充分利用了教师模型,提升了样本知识迁移的效率,从而提升了训练出的学生模型的分类精度,具有很大的实用价值。
附图说明
[0024]
图1是本发明实施例的用于知识蒸馏的边界样本数据增强方法流程示意图;
[0025]
图2是本发明实施例的用于知识蒸馏的边界样本数据增强装置结构示意图;
[0026]
图3是本发明实施例中的计算机设备的架构;
[0027]
图4是本发明实施例中cifar-10数据集上进行数据增强的效果可视化展示图;
[0028]
图5是本发明实施例中对完整的cifar-10与cifar-100数据集进行数据增强后与其他方法的性能对比图;
[0029]
图6是本发明实施例中对一定比例的cifar-10与cifar-100数据集进行数据增强后与其他方法的性能对比图。
具体实施方式
[0030]
为进一步对本发明的技术方案作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的步骤。
[0031]
本发明实施例针对一种用于知识蒸馏的边界样本数据增强方法、装置及计算机存储介质。
[0032]
实施例1
[0033]
如图1为本发明实施例的面向知识蒸馏的边界样本数据增强方法流程图:
[0034]
s1、根据原始样本在原始类别外的分类概率,得到进行边界化修改的目标类别;
[0035]
具体实施过程中,对于一个维数为d的原始样本x
ori
∈[0,1]d,在对其进行数据扩
充之前,需要先选择其进行边界化操作的另一侧的类别,也即对抗攻击的目标类别。本发明随机选择边界化操作的目标类别,除原始类别c0不会被选中外,目标类别c被选到的概率pc基于教师模型f对目标类别的分类概率fc(x
ori
),计算方式为:
[0036][0037]
s2、将样本空间中与原始类别分类概率相同的点组成决策边界面,对原始样本进行对抗攻击生成原始类别与目标类别之间的第一边界样本;
[0038]
具体实施过程中,对原始样本利用deepfool算法进行抗攻击,生成原始类别与目标类别之间的第一边界样本,称为边界化操作。样本空间中满足的点共同组成了决策边界面,x表示样本空间中的点,本发明使用二者的差fc(x)衡量样本到边界的距离,即:
[0039][0040]
记曲面σ为fc(x)=0所表示的曲面为决策边界面,根据局部近似理论,根据直线边界情形的计算方式求出到达决策边界面某切线的最小距离,从而通过数次迭代找到越过决策边界面的对抗样本表达式为:
[0041][0042]
其中,为向量微分算子,xi表示样本空间中点x经过i次迭代后的对抗样本,f(xi)表示针对对抗样本xi教师模型f的分类概率,这一迭代方式决定了生成的对抗样本都与决策边界的距离十分的相近,所以这些对抗样本均为第一边界样本。对原始样本x
ori
进行边界化操作f
bs
(
·
)生成第一边界样本x0,记为:
[0043]
x0=f
bs
(x
ori
)
[0044]
s3、将第一边界样本作为基础样本进行第一轮迭代,迭代过程s4-s5;
[0045]
具体实施过程中,第一轮迭代,基础样本集合s0仅包含一个第一边界样本x0。
[0046]
s4、根据基础样本所处的切面确定决策边界面上的n个方向,沿着n个方向进行基础样本修改,得到n个备选样本;
[0047]
具体实施过程中,记σ0为fc(x0)=z0也即fc(x)-z0=0所表示的面,其中x0表示第一边界样本,表示针对样本x0教师模型f对原始类别c0的分类概率,fc(x0)表示针对样本x0教师模型f对目标类别c的分类概率,z0表示样本x0到决策边界面的距离,当z

0时,可以通过σ0在x0处的切面来估计决策边界面的方向,也即样本要修改的方向。具体的,σ0在x0处的切面π0表达式为:
[0048][0049]
记向量δx=x-x0,也即用δx表示x0与切面上点的差值。本发明在每一轮迭代中沿切面上的n个方向修改样本,即挑选δx值以生成n个修改后仍在切面上的备选样本。
[0050]
在第i 1轮迭代中,基于上一轮的生成的基础样本集合si作为基础样本直至到达最大迭代轮数i
max
。第1轮迭代中,s0仅包含一个第一边界样本x0。在随后的每一轮迭代中,本方法都需要新生成n个样本,即除了第1轮的基础样本数为1外,其余轮次的基础样本集合si中的基础样本数均为n。
[0051]
将作为第i 1轮基础样本的第i轮的第j个样本记为x
i,j
,为减少计算量并保证修改后的样本仍位于切面上,每次随机对x
i,j
的两个维度a和b进行修改。这一步骤共进行n次,从而构成n个经δx修改的样本集合在计算第k次修改量δxk时,对被选中的随机维度a和b,将δxk在维度a上的值设置为[-1,1]内的随机值,根据计算得到δxk在维度b上的值并将δxk在维度a和维度b以外的所有维度上的值置为0。此时,为了让x
i,j-δxk仍位于面上,需要满足:
[0052][0053]
也即:
[0054][0055]
从而有:
[0056][0057]
其中表示针对样本x
i,j
教师模型f对原始类别c0的分类概率,fc(x
i,j
)表示针对样本x
i,j
教师模型f对目标类别c的分类概率。为了使得样本不因改动过大而过分偏离边界,本发明限制δxk的长度为固定参数μ。也即对于上述操作得到的向量δxk,还需要乘以系数μ/‖δxk‖2。这一线性操作不会改变样本在切面上的性质。进行上述的线性放缩后,可以获得最终的切面上的修改量δxk。
[0058]
s5、对n个备选样本进行对抗攻击,生成n个第二边界样本;
[0059]
具体实施过程中,对于每个经δxk修改的样本,需要再进行一次边界化操作才能获得本次修改的最终结果,第二边界样本即:
[0060][0061]
s6、从第2轮迭代开始,将n个第二边界样本作为基础样本集合,对基础样本集合中的每个基础样本执行s4-s5,每个基础样本生成的n个第二边界样本中,只保留与基础样本集合中其他基础样本平均位置相距最远的1个第二边界样本,放入下一轮迭代的基础样本集合中;
[0062]
具体实施过程中,只保留与基础样本集合中其他基础样本平均位置相距最远的1个第二边界样本,具体表达式为:
[0063][0064]
其中第i 1轮迭代的基础样本集合中的第i轮第l个基础样本x
i,l
生成的n个第二边界样本中的第k个第二边界样本。该样本随即加入下轮迭代修改的基础样本集合s
i 1

[0065]
s7、如果迭代轮次达到预定次数i
max
,迭代结束,最后一轮迭代得到的n个第二边界样本即为增强的边界样本数据。
[0066]
实施例2
[0067]
以下,参照图2来描述根据本公开实施例1的与图1所示的方法对应的装置,一种用于知识蒸馏的边界样本数据增强装置,所述装置100包括:包括:目标类别获取单元101,用于根据原始样本在原始类别外的分类概率,得到进行边界化修改的目标类别;第一边界样本获取单元102,用于将样本空间中与原始类别分类概率相同的点组成决策边界面,对原始样本进行对抗攻击生成原始类别与目标类别之间的第一边界样本;迭代单元103,包括第一次迭代模块1031、迭代模块1032、迭代更新模块1033,其中,第一次迭代模块1031用于将第一边界样本作为基础样本,利用迭代模块1032进行第一轮迭代;迭代模块1032用于根据基础样本所处的切面确定决策边界面上的n个方向,沿着n个方向进行基础样本修改,得到n个备选样本,以及对n个备选样本进行对抗攻击,生成n个第二边界样本;迭代更新模块1033用于从第二轮迭代开始,将n个第二边界样本作为基础样本集合,对基础样本集合中的每个基础样本利用迭代模块1032进行迭代,每个基础样本生成的n个第二边界样本中,只保留与基础样本集合中其他基础样本平均位置相距最远的1个第二边界样本,放入下一轮迭代的基础样本集合中;增强的边界样本数据获取单元104,用于监督迭代单元103中的迭代轮次,如果迭代轮次达到预定次数,迭代结束,最后一轮迭代得到的n个第二边界样本即为增强的边界样本数据。除了这4个单元以外,装置100还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。
[0068]
一种用于知识蒸馏的边界样本数据增强装置的具体工作过程参照上述用于知识蒸馏的边界样本数据增强装置方法实施例1的描述,不再赘述。
[0069]
实施例3
[0070]
根据本发明实施例1-实施例2的装置也可以借助于图3所示的计算设备的架构来实现。图3示出了该计算设备的架构。如图3所示,计算机系统201、系统总线203、一个或多个cpu 204、输入/输出组件202、存储器205等。存储器205可以存储计算机处理和/或通信使用的各种数据或文件以及cpu所执行包括实施例1和实施2执行的程序指令。图3所示的架构只是示例性的,在实现不同的设备时,根据实际需要调整图3中的一个或多个组件。
[0071]
实施例4
[0072]
本发明实施例也可以被实现为计算机可读存储介质。根据实施例的计算机可读存储介质上存储有计算机可读指令。当所述计算机可读指令由处理器运行时,可以执行参照以上实施例1-实施例3描述的方法。
[0073]
本发明实施例的一种用于知识蒸馏的边界样本数据增强方法、装置及计算机存储介质,以上四个实施例的结果与当前典型的数据增强方法cutout、mixup、smote和samplepairing在学生模型分类精度进行比对,实施例在两个真实数据集cifar-10、cifar-100上进行。
[0074]
两个示例数据集的介绍如下:
[0075]
cifar-10数据集:包含飞机、汽车、鸟类、狗等10种常见类别的彩色图像数据集。cifar-10中的每一张图片的大小均为32像素*32像素,并且由rgb模式的3个通道组成。样本的总维度大小为3072。训练集共50000张图片,测试集共10000张图片。
[0076]
cifar-100数据集:与cifar-10相似,包含猫、汽车、衣物等种常见类别的彩色图像数据集,样本总个数与cifar-10相同。cifar-100中的每一张图片的大小也是32像素*32像素,同样由3个通道组成,样本的总维度大小为3072。训练集共50000张图片,测试集共10000张图片。
[0077]
本发明实施例在cifar-10数据集上生成的样本的可视化效果如图4所示,在两个完整数据集下所训练出的学生模型分类精度如图5所示,在一定比例的两数据集下所训练出的学生模型分类精度如图6所示。
[0078]
由图4所示,使用基于边界样本的知识蒸馏数据增强方法获得的样本仍旧具有原样本的特征,故可以使用原样本的标签作为数据增强生成样本的标签。由图5所示,在完整cifar-10数据集上,本方法与mixup方法差距较小。在cifar-100数据集上,本方法性能则胜过了其他所有方法。由图6所示,当数据量极少(10%比例)时,相比于常规的数据增强方法cutout、smote、samplepairing与mixup,本发明的优势是明显的。当初始数据样本比例增大到50%时,本发明仍有明显的优势。
[0079]
综合上述各实施例提供的用于知识蒸馏的边界样本数据增强方法、装置及计算机存储介质,能通过一系列的修改获得更加适合知识蒸馏场景的边界样本,充分利用了教师模型,提升了样本知识迁移的效率,从而提升了训练出的学生模型的分类精度。
[0080]
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的步骤、方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种步骤、方法所固有的要素。
[0081]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献