一种对齐不同结构分类神经网络类别精度的方法技术

技术编号:37988209 阅读:13 留言:0更新日期:2023-06-30 10:02
一种对齐不同结构分类神经网络类别精度的方法,涉及计算机视觉。包括以下步骤:1)预训练:利用早期版本数据集对新结构的模型进行预训练以优化模型权重;2)知识蒸馏:利用神经网络知识蒸馏技术进行新老模型间的知识迁移;3)微调全连接层:利用权重冻结技术,冻结神经网络浅层参数,对全连接层部分精度较差的类别进行微调。通过简单的训练方式对齐不同神经网络模型针对相同数据集的各类别精度,有效降低新模型相比于原模型的各类别精度差异。模型相比于原模型的各类别精度差异。模型相比于原模型的各类别精度差异。

【技术实现步骤摘要】
一种对齐不同结构分类神经网络类别精度的方法


[0001]本专利技术涉及计算机视觉,尤其是涉及一种对齐不同结构分类神经网络类别精度的方法。

技术介绍

[0002]近年来,神经网络已经在计算机视觉领域取得非常大的成功。图片分类作为一个典型的计算机视觉下游任务,在自动驾驶、医学影响分析、行为识别等诸多场景中发挥着巨大作用。在这些不同的任务中,模型精度都是度量任务完成度的重要指标之一。但目前学术界一般都会着眼于模型的平均精度,鲜有人会关注不同类别各自的精度,而各类别精度在实际的工业部署中是更重要的。优化各类别精度的技术亟需提出。
[0003]工业界对分类模型的更新迭代一般会关注于对同个模型进行针对新版本数据集的微调训练,这种迭代方式的优点是可以继承上代模型的权重,即尽量蕴含其所包含的特征信息,对于实现保持各个类别精度这一目标是有天然优势的。但在实际工业界不仅会存在更新数据集这种迭代方式,还会有模型迭代的情况发生。在模型迭代的情况下,新模型参数通常需要随机初始化,这种随机初始化的方式注定其不会包含原模型的特征信息。新模型通过朴素的训练方式,通常可以达到与原模型可比的分类平均精度,但在各类别单独精度的这一指标中,却难以与原模型对齐,导致难以适应实际应用场景的要求。

技术实现思路

[0004]本专利技术的目的旨在针对两个不同的神经网络在分类任务下各类别精度难以对齐等问题,提供一种对齐不同结构分类神经网络类别精度的方法。通过简单的训练方式对齐不同神经网络模型针对相同数据集的各类别精度。
[0005]本专利技术所述一种对齐不同结构分类神经网络类别精度的方法,包括以下步骤:
[0006]1)预训练:利用早期版本数据集对新结构的模型进行预训练以优化模型权重;
[0007]2)知识蒸馏:利用神经网络知识蒸馏技术进行新老模型间的知识迁移;
[0008]3)微调全连接层:利用权重冻结技术,冻结神经网络浅层参数,对全连接层部分精度较差的类别进行微调。
[0009]在步骤1)中,所述预训练是将早期版本数据集按版本迭代顺序,依次传入新神经网络模型中进行对新模型的训练。其中原模型的版本是通过多个版本数据集的迭代训练以更新的,新模型的早期版本数据集可采用原模型迭代训练所使用的所有版本的数据集,并按照版本顺序作为新模型的训练数据集从而对新模型进行预训练,也可使用部分版本的数据集(如取单数版本的数据集)对新模型进行预训练以降低训练成本。
[0010]如果使用所有版本的数据集对新模型进行预训练,其子步骤为:
[0011](1)使用最初版本数据集并使用高学习率预训练新模型。
[0012](2)使用后续版本数据集并使用低学习率预训练新模型直至迭代到最新版本数据集。
[0013]在步骤2)中,所述知识蒸馏是在使用原模型的输出作为新模型的学习目标,使用特定损失函数以优化新模型的各类别精度;
[0014]所使用的损失函数如下:
[0015][0016]该损失中的α,β,γ为超参数,用来平衡各个损失之间的大小关系。
[0017]其中公式中的为标签监督损失,旨在优化新模型的输出与训练集标签的距离关系。如下式所示,对于多标签图像分类任务,损失函数可以使用BCE Loss,该损失函数中N为样本数,y
i
是第i个样本的所属类别,p
i
是第i个样本的预测值:
[0018][0019]知识蒸馏损失函数被定义为原模型和新模型输出的类间损失,这个知识蒸馏损失函数可以保持每个教师和学生模型输出向量的线性相关关系;相较于普通的知识蒸馏损失函数而言,其条件更为松弛;其中B为Batch大小,d为距离度量,此距离度量可以选择皮尔逊相关系数,Y为模型的输出,t表示原模型,s表示新模型。
[0020][0021]知识蒸馏损失函数被定义为原模型和新模型输出的类内损失,希望将原模型对同类不同样本之间的输出分布传递给新模型,其中C为类别数量;
[0022][0023]在步骤3)中,所述微调全连接层,对于一个包含多层的新深度神经网络模型,需将新模型中除最尾端全连接层以外的全部权重进行冻结,即阻止非最末层参数的梯度更新,而在反向传播过程中只更新新模型最深的全连接层参数。其子步骤为:
[0024](1)对于预训练好的新模型,对除最尾端全连接层以外的全部权重进行冻结操作,只对最深的全连接层参数进行微调。
[0025](2)使用最新版本的数据集对模型最深的全连接层参数进行更新,得到新模型。
[0026]本专利技术的方法中主要包含一种对齐不同结构分类神经网络类别精度的方法,主要包含了预训练、知识蒸馏、微调全连接层三个步骤,可以有效处理工业界中部署新模型时各类别精度和原模型差异较大的问题。
[0027]与现有技术相比,本专利技术的技术效果和优点在于:
[0028]第一,本专利技术指出工业界中部署新模型时存在各类别精度与原模型精度差异较大的问题,并设计有效的解决方法。
[0029]第二,本专利技术创造性地通过迭代版本数据预训练、知识蒸馏、微调全连接层这3个步骤,降低部署新模型时与原模型各类别的精度差异。
[0030]第三,本专利技术提出的方法在多标签分类数据集上取得良好的实验结果。
附图说明
[0031]图1为本专利技术实施例的方法流程示意图。
[0032]图2为本专利技术实施例新模型的预训练流程示意图。
[0033]图3为本专利技术实施例知识蒸馏流程示意图。
[0034]图4为本专利技术实施例微调全连接层技术流程示意图。
具体实施方式
[0035]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下实施例将结合附图对本专利技术进行作进一步的说明。
[0036]如图1所示,本专利技术实施例包括以下步骤:
[0037]1)预训练:利用早期版本数据集对新结构的模型进行预训练以优化模型权重;
[0038]2)知识蒸馏:利用神经网络知识蒸馏技术进行新老模型间的知识迁移;
[0039]3)微调全连接层:利用权重冻结技术,冻结神经网络浅层参数,对全连接层部分精度较差的类别进行微调。
[0040]1)预训练
[0041]如图2所示,在步骤1)中,所述预训练是将早期版本数据集按版本迭代顺序,依次传入新神经网络模型中进行对新模型的训练。其中原模型的版本是通过多个版本数据集的迭代训练以更新的,新模型的早期版本数据集可采用原模型迭代训练所使用的所有版本的数据集,并按照版本顺序作为新模型的训练数据集从而对新模型进行预训练,也可使用部分版本的数据集(如取单数版本的数据集或取双数版本的数据集)对新模型进行预训练以降低训练成本。
[0042]若使用所有版本的数据集对新模型进行预训练,其子步骤为:
[0043](1)使用最初版本数据集并使用高学习率预训练新模型。
[0044](2)使用后续版本数据集并使用低学习率预训练新模型直至迭代到最新版本数据集。
[0045]2)知识蒸馏本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对齐不同结构分类神经网络类别精度的方法,其特征在于包括以下步骤:1)预训练:利用早期版本数据集对新结构的模型进行预训练以优化模型权重;2)知识蒸馏:利用神经网络知识蒸馏技术进行新老模型间的知识迁移;3)微调全连接层:利用权重冻结技术,冻结神经网络浅层参数,对全连接层部分精度较差的类别进行微调。2.如权利要求1所述一种对齐不同结构分类神经网络类别精度的方法,其特征在于在步骤1)中,所述预训练是将早期版本数据集按版本迭代顺序,依次传入新神经网络模型中进行对新模型的训练;其中原模型的版本是通过多个版本数据集的迭代训练以更新的,新模型的早期版本数据集采用原模型迭代训练所使用的所有版本的数据集,即全数据集,并按版本顺序作为新模型的训练数据集从而对新模型进行预训练,或使用部分数据集(如取单数版本的数据集)对新模型进行预训练以降低训练成本。3.如权利要求2所述一种对齐不同结构分类神经网络类别精度的方法,其特征在于采用全数据集对新模型预训练,其子步骤为:(1)使用最初版本数据集并使用高学习率预训练新模型;(2)使用后续版本数据集并使用低学习率预训练新模型直至迭代到最新版本数据集。4.如权利要求2所述一种对齐不同结构分类神经网络类别精度的方法,其特征在于所述部分数据集取单数版本的数据集或取双数版本的数据集。5.如权利要求1所述一种对齐不同结构分类神经网络类别精度的方法,其特征在于在步骤2)中,所述知识蒸馏是在使用原模型的输出作为新模型的学习目标,使用特定损失函数以优化新模型的各类别精度;所使用的损失函数如下:该...

【专利技术属性】
技术研发人员:纪荣嵘郑侠武陈柄翰武凡
申请(专利权)人:厦门大学深圳研究院
类型:发明
国别省市:

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

1