[go: up one dir, main page]

CN112199535B - 一种基于集成知识蒸馏的图像分类方法 - Google Patents

一种基于集成知识蒸馏的图像分类方法 Download PDF

Info

Publication number
CN112199535B
CN112199535B CN202011058365.1A CN202011058365A CN112199535B CN 112199535 B CN112199535 B CN 112199535B CN 202011058365 A CN202011058365 A CN 202011058365A CN 112199535 B CN112199535 B CN 112199535B
Authority
CN
China
Prior art keywords
model
teacher
stage
training
student model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011058365.1A
Other languages
English (en)
Other versions
CN112199535A (zh
Inventor
杨柳
蔡登�
王闻箫
何晓飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202011058365.1A priority Critical patent/CN112199535B/zh
Publication of CN112199535A publication Critical patent/CN112199535A/zh
Application granted granted Critical
Publication of CN112199535B publication Critical patent/CN112199535B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于集成知识蒸馏的图像分类方法,包括以下步骤:(1)预训练教师模型,将教师模型的训练过程分为三个阶段,从每个阶段中取出一个最好的教师模型,得到3个教师模型T1、T2和T3;(2)训练学生模型,将学生模型的训练过程划分为三个阶段,每个阶段用得到的三个教师模型来联合指导学生模型;其中,T3在每个阶段的权重保持不变;T1在第一阶段权重最大,T2在第二阶段权重最大;(3)使用训练好的学生模型进行图片分类任务,输入待分类图片,进行分类预测。利用本发明,使得学生模型从教师模型中学习知识变得简单,从而进一步提高学生模型的性能,在提高模型响应速度的同时保证图像分类的精度。

Description

一种基于集成知识蒸馏的图像分类方法
技术领域
本发明属于图像分类技术领域,尤其是涉及一种基于集成知识蒸馏的图像分类方法。
背景技术
在自动驾驶领域,网络模型的实时性是一项十分重要的指标。模型需要根据摄像头传入的图片进行分类判断,然后进行驾驶决策。这就需要模型能够快速响应,短时间内得到分类结果。但现阶段的高性能模型参数量较多,一般无法实时响应。这就需要使用模型压缩技术对大模型进行压缩,得到规模较小模型的同时,不会造成太大的精度损失。
知识蒸馏是一种重要的模型压缩技术。在训练一个较小的模型时,会引入一个已训练好的较大模型的监督信息。这样的训练方式可使得原本的小模型的性能提升一至二个百分点。我们把较小的模型称作学生模型,把较大的模型称作教师模型。通过知识蒸馏,我们可以得到一个规模较小但性能较强的学生模型。学生模型参数量小,推理速度快,而且可以结合其他的模型压缩技术。
知识蒸馏最初由Hinton等人在2015年康奈尔大学Arxiv网站上公布的技术文章《Distilling the knowledge in a neural network》中提出。在图像分类任务上所使用。在训练学生模型的同时,引入了已训练好的教师模型的输出和学生模型输出的Kullback-Leibler散度。使得知识从教师模型可以迁移到学生模型,从而使得学习模型有着更好的性能。但相关研究表明,学生模型由于参数量小,因此其表征能力远逊色于教师模型。学生模型从教师模型中学习知识也是一个较困难的过程。从而使得学生模型和教师模型之间任然有着较大的性能差距。那么如何使得学生模型的学习过程变得更容易就是一个值得研究的内容。
发明内容
本发明提供了一种基于集成知识蒸馏的图像分类方法,使得学生模型从教师模型中学习知识变得简单,从而进一步提高学生模型的性能,在提高模型响应速度的同时保证图像分类的精度。
一种基于集成知识蒸馏的图像分类方法,包括以下步骤:
(1)预训练教师模型,将教师模型的训练过程分为三个阶段,从每个阶段中取出一个最好的教师模型,得到3个教师模型T1、T2和T3
(2)训练学生模型,将学生模型的训练过程划分为三个阶段,每个阶段用得到的三个教师模型来联合指导学生模型;其中,T3在每个阶段的权重保持不变;T1在第一阶段权重最大,T2在第二阶段权重最大;
(3)使用训练好的学生模型进行图片分类任务,输入待分类图片,进行分类预测。
本发明使用集成学习的思想,从教师模型的训练过程中提取出3个教师模型,依次由弱到强。之后训练学生模型的时候,同时引入这3个教师模型的监督信息。较弱的两个教师模型可起到桥梁的作用,使得学生模型的学习变得更简单。
步骤(1)的具体步骤为:
(1-1)对训练数据集进行预处理,然后将数据分批次送入教师网络中;
(1-2)训练模型使用交叉熵损失函数,使用随机梯度下降法进行模型的优化;训练过程中对学习率进行两次衰减,加速模型的收敛;
(1-3)按照学习率将教师模型的训练过程分为三个阶段,在每个阶段中选出一个测试分类准确率最好的教师模型,选出的教师模型为T1,T2和T3。而原始的知识蒸馏就只引入了T3模型的监督学习进行学生模型的训练。
步骤(2)中,将学生模型的训练阶段按照学习率分为三个阶段。
训练学生模型采用的损失函数为:
L=Lce(s,y)+KD(s,t3)+β1KD(s,t1)+β2KD(s,t2)
式中,Lce(s,y)为交叉熵损失函数,s表示训练过程中学生模型的输出,y表示图像的真实类别;KD()为知识蒸馏的损失函数,它是两个输出之间的Kullback-Leibler散度;t1,t2和t3分别表示T1,T2和T3在训练过程中的输出;β1,β2为超参数,分别表示T1,T2在训练学生模型时损失函数中的权重。
在学生模型训练的三个阶段中,β1,β2的取值为:
Figure BDA0002711482560000031
其中,a,b,η为超参数,从上式看出,T1在第一阶段权重最大,第二阶段和第三阶段的权重依次减小;T2在第二阶段权重最大,在第一阶段和第三阶段的权重相同。
由于在学生模型的训练后期,T1带来的监督学习的用处已经很低了,故需要减弱T1带来的影响。T3带来的监督学习是比较准确的,所以其权重是不变的。
优选地,所述的教师网络和学生模型均采用ResNet网络或MobileNet网络。
与现有技术相比,本发明具有以下有益效果:
1、本发明使用集成学习的思想,从原本的教师模型的训练过程中提取出较弱的两个教师模型,然后利用它们来辅助原有的知识蒸馏过程。由于较弱的教师模型的输出更加柔和,更加有利于学生模型从最强的教师模型中学习知识。最终训练出的模型能够有很好的分类准确率。
2、本发明的训练过程十分简便,不需要同步训练教师模型。而且参数调节简便,模型对参数不敏感。在多个数据集上均取得了良好的结果。
附图说明
图1为本发明一种基于集成知识蒸馏的图像分类方法的流程示意图;
具体实施方式
下面结合附图和实施例对本发明做进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。
如图1所示,一种基于集成知识蒸馏的图像分类方法,包括以下步骤:
S01,预训练教师模型
本实施例使用ImageNet-2012数据集作为图像分类训练数据集。ImageNet-2012数据集中包含128万张训练图片,总共有1000个类别。
在进行训练之前,对每张图片进行了图像变换处理,具体可参照发表在计算机视觉顶级会议IEEE Conference on Computer Vision and Pattern Recognition上的《Deepresidual learning for image recognition》。使用随机梯度下降算法来训练教师和学生模型,在ImageNet-2012数据集上总训练量为90轮,在第30和60轮进行学习率的收敛。之后在划分的三个区间内分别取出一个最好的教师模型。之后用这三个教师模型T1,T2和T3来联合指导学生模型的训练。
S02,训练学生模型
使用第一步中得到的三个教师模型来联合指导学生模型。学生模型不仅从教师模型T3中学习知识,同时也有T1和T2进行指导学习。由于T1和T2的性能较差,输出分布比T3更加柔和,因此学生模型的学习过程能够更加容易。同时在训练前期,就引入了T3模型的监督信息。这就避免了在学生模型的训练初期可能会走到一个较差极值区域的可能。
S03,教师模型权重调节
教师模型T1,T2在学生模型训练的过程中起到的作用是不一样的。因为教师模型T1的性能较差,在学生模型训练的后期作用很小,因此需要对T1,T2在损失函数中的权重进行调整。本发明将学生模型的训练过程也分为3个阶段,损失函数如下:
L=Lce(s,y)+KD(s,t3)+β1KD(s,t1)+β2KD(s,t2)
式中,Lce(s,y)为交叉熵损失函数,s表示训练过程中学生模型的输出,y表示图像的真实类别;KD()为知识蒸馏的损失函数,它是两个输出之间的Kullback-Leibler散度;t1,t2和t3分别表示T1,T2和T3在训练过程中的输出;β1,β2为超参数,分别表示T1,T2在损失函数中的权重。
将学生模型的训练阶段按照和教师模型训练过程一样的划分方式也分为三个阶段。在第一个阶段,学生模型主要从T1中学习知识,到了训练的后期,学生模型主要从T2中学习知识。同时,在学生模型的训练过程的任何时刻,都引入了T3的监督信息。由于T3模型是性能最好的教师模型,它可以避免学生模型的优化过程陷入比较差的极值点区域。
在学生模型训练的三个阶段中,β1,β2的取值可以设计为:
Figure BDA0002711482560000051
其中,a,b,η为超参数。
S04训练学生模型
按照上述方式进行训练,直到学生模型收敛。
为了证明本方法的有效性,本发明选择了ResNet和MobileNet两种网络结构作为不同的教师模型和学生模型对照组,并在ImageNet数据集上进行实验来证明我们的方法的有效性。在ImageNet-2012数据集上的实验结果如表1所示。
表1
Figure BDA0002711482560000061
本发明的方法所训练出的学生模型的分类准确率可超过由普通的知识蒸馏方法所训练出的学生模型近0.4个百分点。从其它方法的实验结果可以看,在ImageNet数据集上,学生模型从教师模型中学习知识变得极为困难。基于知识蒸馏所改进的方法的提升很小。而本发明的方法依然有明显的提升。这充分显示了本发明方法的优越性。
以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于集成知识蒸馏的图像分类方法,其特征在于,包括以下步骤:
(1)预训练教师模型,将教师模型的训练过程分为三个阶段,从每个阶段中取出一个最好的教师模型,得到3个教师模型T1、T2和T3;具体步骤为:
(1-1)对图像数据集进行预处理,然后将图像数据分批次送入教师网络中;
(1-2)训练模型使用交叉熵损失函数,使用随机梯度下降法进行模型的优化;训练过程中对学习率进行两次衰减,加速模型的收敛;
(1-3)按照学习率将教师模型的训练过程分为三个阶段,在每个阶段中选出一个测试分类准确率最好的教师模型,选出的教师模型为T1,T2和T3
(2)训练学生模型,将学生模型的训练过程划分为三个阶段,每个阶段用得到的三个教师模型来联合指导学生模型;其中,T3在每个阶段的权重保持不变;T1在第一阶段权重最大,T2在第二阶段权重最大;训练学生模型采用的损失函数为:
L=Lce(s,y)+KD(s,t3)+β1KD(s,t1)+β2KD(s,t2)
式中,Lce(s,y)为交叉熵损失函数,s表示训练过程中学生模型的输出,y表示图像的真实类别;KD()为知识蒸馏的损失函数,它是两个输出之间的Kullback-Leibler散度;t1,t2和t3分别表示T1,T2和T3在训练过程中的输出;β1,β2为超参数,分别表示T1,T2在训练学生模型时损失函数中的权重;
(3)使用训练好的学生模型进行图片分类任务,输入待分类图片,进行分类预测。
2.根据权利要求1所述的基于集成知识蒸馏的图像分类方法,其特征在于,步骤(2)中,将学生模型的训练阶段按照学习率分为三个阶段。
3.根据权利要求1所述的基于集成知识蒸馏的图像分类方法,其特征在于,在学生模型训练的三个阶段中,β1,β2的取值为:
Figure FDA0003634186270000021
其中,a,b,η为超参数,从上式看出,T1在第一阶段权重最大,第二阶段和第三阶段的权重依次减小;T2在第二阶段权重最大,在第一阶段和第三阶段的权重相同。
4.根据权利要求1所述的基于集成知识蒸馏的图像分类方法,其特征在于,所述的教师网络和学生模型均采用ResNet网络或MobileNet网络。
CN202011058365.1A 2020-09-30 2020-09-30 一种基于集成知识蒸馏的图像分类方法 Active CN112199535B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011058365.1A CN112199535B (zh) 2020-09-30 2020-09-30 一种基于集成知识蒸馏的图像分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011058365.1A CN112199535B (zh) 2020-09-30 2020-09-30 一种基于集成知识蒸馏的图像分类方法

Publications (2)

Publication Number Publication Date
CN112199535A CN112199535A (zh) 2021-01-08
CN112199535B true CN112199535B (zh) 2022-08-30

Family

ID=74007140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011058365.1A Active CN112199535B (zh) 2020-09-30 2020-09-30 一种基于集成知识蒸馏的图像分类方法

Country Status (1)

Country Link
CN (1) CN112199535B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112365885B (zh) * 2021-01-18 2021-05-07 深圳市友杰智新科技有限公司 唤醒模型的训练方法、装置和计算机设备
CN112801209B (zh) * 2021-02-26 2022-10-25 同济大学 基于双特长教师模型知识融合的图像分类方法及存储介质
CN113538334B (zh) * 2021-06-09 2025-01-03 香港中文大学深圳研究院 一种胶囊内窥镜图像病变识别装置及训练方法
CN113393494A (zh) * 2021-06-10 2021-09-14 上海商汤智能科技有限公司 模型训练及目标跟踪方法、装置、电子设备和存储介质
CN113536922A (zh) * 2021-06-11 2021-10-22 北京理工大学 一种加权融合多种图像任务的视频行为识别方法
CN113222123B (zh) * 2021-06-15 2024-08-09 深圳市商汤科技有限公司 模型训练方法、装置、设备及计算机存储介质
CN113255899B (zh) * 2021-06-17 2021-10-12 之江实验室 一种通道自关联的知识蒸馏方法与系统
CN113762463A (zh) * 2021-07-26 2021-12-07 华南师范大学 一种用于树莓派处理器的模型剪枝方法及系统
CN113591978B (zh) * 2021-07-30 2023-10-20 山东大学 一种基于置信惩罚正则化的自我知识蒸馏的图像分类方法、设备及存储介质
CN115774772A (zh) * 2021-09-09 2023-03-10 中移物联网有限公司 一种敏感信息识别方法、装置及网络设备
CN114155436B (zh) * 2021-12-06 2024-05-24 大连理工大学 长尾分布的遥感图像目标识别逐步蒸馏学习方法
CN114298224B (zh) * 2021-12-29 2024-06-18 云从科技集团股份有限公司 图像分类方法、装置以及计算机可读存储介质
CN116153466A (zh) * 2023-03-17 2023-05-23 电子科技大学 一种食物成分识别及营养推荐系统
CN116205290B (zh) * 2023-05-06 2023-09-15 之江实验室 一种基于中间特征知识融合的知识蒸馏方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059740A (zh) * 2019-04-12 2019-07-26 杭州电子科技大学 一种针对嵌入式移动端的深度学习语义分割模型压缩方法
CN110472730A (zh) * 2019-08-07 2019-11-19 交叉信息核心技术研究院(西安)有限公司 一种卷积神经网络的自蒸馏训练方法和可伸缩动态预测方法
CN111199242A (zh) * 2019-12-18 2020-05-26 浙江工业大学 一种基于动态修正向量的图像增量学习方法
CN111611377A (zh) * 2020-04-22 2020-09-01 淮阴工学院 基于知识蒸馏的多层神经网络语言模型训练方法与装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180268292A1 (en) * 2017-03-17 2018-09-20 Nec Laboratories America, Inc. Learning efficient object detection models with knowledge distillation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059740A (zh) * 2019-04-12 2019-07-26 杭州电子科技大学 一种针对嵌入式移动端的深度学习语义分割模型压缩方法
CN110472730A (zh) * 2019-08-07 2019-11-19 交叉信息核心技术研究院(西安)有限公司 一种卷积神经网络的自蒸馏训练方法和可伸缩动态预测方法
CN111199242A (zh) * 2019-12-18 2020-05-26 浙江工业大学 一种基于动态修正向量的图像增量学习方法
CN111611377A (zh) * 2020-04-22 2020-09-01 淮阴工学院 基于知识蒸馏的多层神经网络语言模型训练方法与装置

Also Published As

Publication number Publication date
CN112199535A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN112199535B (zh) 一种基于集成知识蒸馏的图像分类方法
CN110674714B (zh) 基于迁移学习的人脸和人脸关键点联合检测方法
CN113743474B (zh) 基于协同半监督卷积神经网络的数字图片分类方法与系统
CN107403141B (zh) 人脸检测方法及装置、计算机可读存储介质、设备
CN113112020B (zh) 一种基于生成网络与知识蒸馏的模型网络提取和压缩方法
CN114972839B (zh) 一种基于在线对比蒸馏网络的广义持续分类方法
CN110084202A (zh) 一种基于高效三维卷积的视频行为识别方法
CN109711422A (zh) 图像数据处理、模型的建立方法、装置、计算机设备和存储介质
CN112070768B (zh) 基于Anchor-Free的实时实例分割方法
CN115019173A (zh) 基于ResNet50的垃圾识别与分类方法
CN116798093B (zh) 一种基于课程学习和标签平滑的两阶段面部表情识别方法
CN107609638A (zh) 一种基于线性解码器和插值采样优化卷积神经网络的方法
CN115578248B (zh) 一种基于风格引导的泛化增强图像分类算法
CN110490298A (zh) 基于膨胀卷积的轻量化深度卷积神经网络模型
CN111753918B (zh) 一种基于对抗学习的去性别偏见的图像识别模型及应用
CN115731396A (zh) 一种基于贝叶斯变分推断的持续学习方法
CN108985457A (zh) 一种受优化算法启发的深度神经网络结构设计方法
CN106874959A (zh) 一种多尺度扫描级联森林学习机的训练方法
CN116386102A (zh) 一种基于改进残差卷积网络inception块结构的人脸情绪识别方法
Zhao et al. The application of convolution neural networks in sign language recognition
CN113535911B (zh) 奖励模型处理方法、电子设备、介质和计算机程序产品
CN113239866A (zh) 一种时空特征融合与样本注意增强的人脸识别方法及系统
Yao et al. Research and comparison of ship classification algorithms based on variant CNNs
Soujanya et al. A CNN based approach for handwritten character identification of Telugu guninthalu using various optimizers
CN113505804B (zh) 一种基于压缩深度神经网络的图像识别方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant