CN116796810A - 一种基于知识蒸馏的深度神经网络模型压缩方法及装置 - Google Patents
一种基于知识蒸馏的深度神经网络模型压缩方法及装置 Download PDFInfo
- Publication number
- CN116796810A CN116796810A CN202310769582.9A CN202310769582A CN116796810A CN 116796810 A CN116796810 A CN 116796810A CN 202310769582 A CN202310769582 A CN 202310769582A CN 116796810 A CN116796810 A CN 116796810A
- Authority
- CN
- China
- Prior art keywords
- network model
- student
- teacher
- attention
- spatial
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 32
- 230000006835 compression Effects 0.000 title claims abstract description 26
- 238000007906 compression Methods 0.000 title claims abstract description 26
- 238000003062 neural network model Methods 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 40
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 238000007781 pre-processing Methods 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 23
- 238000004821 distillation Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 7
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000002708 enhancing effect Effects 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 2
- 108091006146 Channels Proteins 0.000 claims 12
- 230000008901 benefit Effects 0.000 abstract description 6
- 238000013527 convolutional neural network Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 101150041570 TOP1 gene Proteins 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 1
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/096—Transfer learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于知识蒸馏的深度神经网络模型压缩方法及系统,所述方法包括:对样本图像数据进行预处理;基于预处理后的样本图像数据预训练教师网络模型;利用预训练后的教师网络模型提取待分类图像的空间注意力特征,基于各通道基本特征利用自注意力机制获得空间相关性特征,二者结合得到空间注意力特征;使用同样的方法提取学生网络空间注意力特征;利用空间注意力特征,依据细粒度层权重指导学生网络模型的训练,迭代蒸馏学生网络模型直至其收敛,其中以λj表示所选择的教师和学生网络n个中间层中的第j层的权重,细粒度层权重被设置为λ1<λ2<…<λn;保存学生神经网络模型用于进行图像分类预测。本发明具有更快更准确的优点。
Description
技术领域
本发明涉及计算机视觉、深度学习技术领域,具体涉及一种基于知识蒸馏的深度神经网络模型压缩方法及装置。
背景技术
近年来,基于深度学习的人工智能技术不仅在学术界成为各国研究人员追逐的焦点,同样在工业界也广受欢迎,大量的先进技术得以落地普及。从姿势识别、戴口罩人脸识别、对话系统、GAN(Generative Adversarial Network)生成人脸图片到自动驾驶,这些人工智能技术已经开始服务于人类社会,这一切的背后都得益于深度学习领域科研人员的不懈努力。卷积神经网络作为实现人工智能基础之一,也在各类任务场景中被大量应用。然而,比如城市智能安防、城市智能交通、无人驾驶、边缘人机交互、视频监控等这类应用场景无一不对网络模型提出了极高的要求。这些应用模型在借助深度卷积神经网络强大的特征提取和处理能力的同时,也不得不需要面对深度卷积神经网络为部署平台带来的高昂的存储和计算成本,这也导致这些深度模型虽然已达到了满足任务性能的指标需求,却仍然难以被部署在移动边缘设备或嵌入式平台上运行,网络模型的巨大参数量和计算量限制了其进一步发展。
于是,卷积神经网络模型的轻量化技术研究显得尤为重要,而如何保持网络模型的轻量化和精度损失之间的平衡成为了研究的重难点。当前学术界除了手工设计轻量化网络外,在现有网络的基础上完成深度卷积神经网络轻量化的主流技术路线主要分为四种压缩算法:参数量化、神经网络架构搜索、模型剪枝以及知识蒸馏。在这些技术中,知识蒸馏涉及在较大网络(教师)的指导下训练较小的网络(学生),在不改变原始网络的结构和参数的情况下提高网络性能。与其他模型压缩算法相比,知识蒸馏对模型进行压缩具备以下优点:(1)蒸馏后的模型精度有保障。(2)蒸馏后的模型不需设计专用硬件平台和系统架构,灵活性高。(3)蒸馏后的模型网络结构规则,利于二次加速。总之,进行卷积神经网络的轻量化技术不仅可以推动降低高性能神经网络在移动计算平台的部署难度,为卷积神经网络胜任高实时性任务奠定基础,促进视频物联网,智慧城市的发展与建设,而且可以帮助研究人员增强对神经网络的认知,理解神经网络的学习过程。而知识蒸馏作为一项新颖的“无损”轻量化技术,对于解决上述问题具有丰富的研究价值和意义。
自KD工作引入软标签蒸馏以来,知识蒸馏已经经历了重大的发展。此处KD表示Hinton首次提出的知识蒸馏工作(Distilling the Knowledge in a Neural Network),后来KD也表示Knowledge Distillation。然而,高性能教师网络生成的软标签通常与数据集的真实标签输出没有显著差异。因此,在使用高性能教师时,单纯依靠软标签来训练学生网络可能会限制知识蒸馏的效果。为了更有效地利用教师网络中可用的信息,FitNets引入了利用教师的特征图来指导学生模型的做法。然而,该方法仅仅提取了实例级别的一致性信息,而忽略了教师网络特征空间中的结构化信息。OEKD(On the Efficacy of KnowledgeDistillation)方法指出,大型模型可能并不总是更好的老师,小型模型可能无法完全模仿大型模型。为了解决教师和学生之间的结构性差异,他们建议在培训过程中及早停止策略。但是,此方法仅仅是一个大概的方向,没有一个明确的解决方案和具体提前结束时间。在AT工作“Paying More Attention to Attention:Improving the Performance ofConvolutional Neural Networks via Attention Transfer”中,使用二维的特征来表示注意图,并使用约束特征表示来指导学生。但是,效果依然有限。然而,上述的方法都忽略了空间相关信息的重要性,这对于有效的知识蒸馏至关重要。
发明内容
发明目的:本发明提出一种基于知识蒸馏的深度神经网络模型压缩方法,基于通道平均、自注意力机制和细粒度层权重技术,获取了空间全局知识和空间相关性知识,并更好的突显出神经网络不同层的特征表示能力。在不改变任何原有模型结构和参数量的前提下,大大提高了网络模型的处理下游任务的性能,与其他基于中间特征蒸馏方法相比,计算效率更快。
本发明还提供一种基于知识蒸馏的深度神经网络模型压缩装置、设备和存储介质。
技术方案:为了实现以上发明目的,本发明的技术方案如下:
一种基于知识蒸馏的深度神经网络模型压缩方法,包括以下步骤:
对样本图像数据进行预处理,包括消除无关信息、增强有关信息的可检测性、标注标签;
基于预处理后的样本图像数据预训练教师网络模型;
利用预训练后的教师网络模型提取待分类图像的空间注意力特征,包括:获取教师网络模型每个通道输出的基本特征,基于各通道基本特征利用自注意力机制获得空间相关性特征,将空间相关性特征与基本特征结合得到空间注意力特征;使用同样的方法提取学生网络空间注意力特征;
利用提取的空间注意力特征,依据细粒度层权重指导学生网络模型的训练,迭代蒸馏学生网络模型直至学生网络模型收敛,其中以λj表示所选择的教师和学生网络n个中间层中的第j层的权重,所述细粒度层权重被设置为λ1<λ2<…<λn;
保存所述学生神经网络模型用于进行图像分类预测。
本发明还提供一种基于知识蒸馏的深度神经网络模型压缩装置,包括:
数据预处理模块,用于对样本图像数据进行预处理,包括消除无关信息、增强有关信息的可检测性、标注标签;
教师网络预训练模块,用于基于预处理后的样本图像数据预训练教师网络模型;
空间注意力特征提取模块,用于利用预训练后的教师网络模型提取待分类图像的空间注意力特征,包括:获取教师网络模型每个通道输出的基本特征,基于各通道基本特征利用自注意力机制获得空间相关性特征,将空间相关性特征与基本特征结合得到教师网络空间注意力特征;使用同样的方法提取学生网络空间注意力特征;
学生网络训练模块,用于利用提取的空间注意力特征,依据细粒度层权重指导学生网络模型的训练,迭代蒸馏学生网络模型直至学生网络模型收敛,其中以λj表示所选择的教师和学生网络n个中间层中的第j层的权重,所述细粒度层权重被设置为λ1<λ2<…<λn;
模型保存及应用模块,用于保存所述学生神经网络模型以进行图像分类预测。
本发明还提供一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如上所述的基于知识蒸馏的深度神经网络模型压缩方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于知识蒸馏的深度神经网络模型压缩方法的步骤。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明提出一种结合空间注意力特征的知识蒸馏的新方法,以非常小的开销来指导学生网络模型的训练,该方法利用了两种类型的空间注意特征:通过自注意力机制获得的空间相关性特征和通过通道平均获得的全局空间特征,空间注意力特征利用了一个紧凑的二维的特征表示,其中包含较少的不相关和冗余信息,以有效地指导学生网络。此外,通过引入细粒度的层蒸馏权重,并利用教师网络模型不同层的特性,可以更好地利用每一层提供的指导。(2)本发明对于软标签知识蒸馏有限性、师生网络模型结构化差异过大、教师中间层知识不够精简、师生学习过程过于复杂繁琐等问题都有很好的解决。可以使学生模型能够更好地理解教师模型的空间注意力特征,同时避免可能对学生网络产生负面影响的潜在误导特征,并且在图像分类任务中实现了显著的性能改进。(3)本发明在模型压缩的效率和多功能性上的提升为部署边缘模型开辟了新的机会。
附图说明
图1是根据本发明的基于知识蒸馏的深度神经网络模型压缩方法流程图;
图2是根据本发明的空间注意力特征提取图;
图3是根据本发明的注意力机制计算示意图;
图4是根据本发明的模型训练过程示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
本发明提出一种基于知识蒸馏的深度神经网络模型压缩方法,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息来训练这个小模型,以期达到更好的性能和精度。这个大模型一般称之为teacher(教师模型、教师网络模型、或教师网络),小模型称之为Student(学生模型、学生网络模型或学生网络)。来自Teacher模型输出的监督信息称之为knowledge(知识),而student学习迁移来自teacher的监督信息的过程称之为Distillation(蒸馏)。本发明实施例中,教师模型采用ResNet110,学生模型采用ResNet32。参照图1,本发明的方法包括以下步骤:
步骤(1),对样本图像数据进行处理。
模型的训练需要使用干净有效的图像数据集,因此,首先要对原始的图像数据进行清洗、预处理和打乱等处理。具体地,对图像数据作清洗,筛选,特征标记等处理工作。进一步地,消除图像中无关的信息,恢复有用的真实信息,增强有关信息的可检测性、最大限度地简化数据,从而改进特征提取、图像分割、匹配和识别的可靠性。其中涉及的主要工作包括:对图像进行灰度化处理、水平翻转和随机裁剪等几何操作、图像数值归一化操作等。
最后图像数据集划分为训练集和测试集,以便使用训练集的数据来训练模型,模型在测试集上测试后,再用测试集上的误差近似模型在现实场景中的泛化误差。
步骤(2),预训练大型高性能的图像分类教师网络模型。
将图像训练集送入网络,根据网络的实际输出与期望输出间的差别来调整参数。训练模型的步骤如下:
a、选择训练集合中的一个图像样本(A,B),A为图像数据,B为标签,即图像所属的类别;
b、将图像样本输入到神经网络(开始时网络中参数都是随机值),计算网络的实际输出Y,即预测值;
c、计算预测值与实际值之间的误差:D=B-Y;
d、利用反向传播根据误差D调整网络中的参数W;
e、对每个图像样本重复上述a-d过程,直至遍历完整个图像样本集;
重复上述所有a-e步骤,直到网络模型收敛,误差值不再变小,即迭代收敛。
进一步地,对训练后的教师模型进行测试,将图像测试集送入网络,根据网络的实际输出,判断当前网络模型的预测图像分类性能。测试模型的步骤如下:
(i)选择测试集合的一个图像样本(E,F),E为图像数据,F为标签,即图像所属类别;
(ii)将图像样本输入到神经网络,此时网络中参数经过训练已经更新过,计算网络的实际输出Y;
(iii)判断网络输出值的最大值是否和真实标签相等(F==YMAX),如果相等正确分类个数加1;
(iv)对每个图像样本重复上述(i)-(iii)的过程,直至遍历完整个图像测试集;
(v)重复上述所有(i)-(iv)步骤,获取整个图像测试集的准确率,并记录网络模型的精度变化。
训练大型高性能的图像分类教师网络模型结束后,保存训练好的高性能教师模型,用于指导学生模型。
步骤(3),提取教师网络和学生网络的空间注意力特征。
下面结合图2提供了教师网络空间注意力特征提取过程的描述。但是,应该注意的是,在本发明提出的方法中,对教师模型(t)和学生模型(s)执行了相同的操作。所不同的仅在于教师模型是经过预训练的,学生模型此时还未经过训练。
教师网络空间注意力特征提取过程包括空间全局特征和空间相关性特征提取。
根据本发明的实施方式,利用训练后的大模型,来提取待分类图像的原始特征,特征集表示为其中n表示特征的数量,具体的特征选取来自于卷积神经网络的中间层,本发明利用了每个卷积块激活函数后的特征。具体来说,每个特征都是3维的数据(C*H*W),包括通道维C、高度维H和长度维W。其中,同一网络模型的不同深度的特征维度是不同的,不同网络模型的相同深度的特征维度也是不尽相同的。
(3-1)空间全局特征的提取过程如下:
每个教师特征都是按照通道维度进行平均的,以生成具有二维特征(H*W)属性的注意力图(查询qt、键kt和值vt),这里的全局空间特征(查询qt、键kt和值vt)也称为基本特征,用于后续获取空间相关性特征。在平均后的特征空间中,每个像素代表对应位置的全部通道平均后的信息。教师模型的通道处理在数学上用公式表示:
其中表示教师网络中从第j层获得的特征。此外,学生网络s和教师网络t执行相同的信道平均操作,用表示/>具体来说,其中p是一个指数权重参数,在本方法中设置为2,|hi|2表示原始特征取绝对值后再平方。应用上述平均方法后,得到了表示全局空间特征的二维矩阵v(H*W)。/>分别表示通道平均操作生成的注意力图的查询向量、键向量、值向量,C为通道数量,H为高度,W为长度,小t表示教师网络。
(3-2)空间相关性特征的提取过程如下:
然而,仅仅依靠全局特征是不够的,在特征空间中捕获像素之间的相关性信息是至关重要的。为了解决这个问题,本发明利用自注意力机制来获得关键的空间相关性特征,具体自注意力机制计算如图3所示。获得空间相关信息的方程为:
获取空间相关性特征的过程是使用查询q和键k计算空间特征图中内部像素之间关系的注意值,然后应用softmax(·)函数。然后,应用得到的注意力评分表 对值/>(全局空间特征的二维矩阵)进行加权,二维矩阵/>(H*W)中的每一个像素点都与注意力评分表中对应的值相乘,从而得到捕获空间内部相关知识的特征图m。缩放因子/>用于控制空间相关特征的权重。将通过自我注意获得的空间相关特征m与全局空间特征v结合,得到最终的特征图M,表示教师模型的空间注意力特征,如下公式所示:
使用和教师网络空间注意力特征相同的提取方法,利用学生网络提取学生网络空间注意力特征
步骤(4),利用提取的空间注意力特征,依据细粒度层权重指导小型目标学生网络的训练。
根据本发明的实施方式,在步骤(3)中获得教师空间注意力特征和学生空间注意力特征/>建立如下蒸馏项:
在特征知识传递过程中,对所使用的特征映射进行L2归一化处理。这意味着每个向量化的特征映射M被取代。此外,赋予更深层次的特征更高的权重可以更好地展示教师网络的引导能力。为了实现这一目标,本发明提出了一个更细粒度的深度和浅层特征精馏权重分布。细粒度权重分布公式如下:
lsad表示手工选择的教师和学生网络n个中间层之间全部特征分类损失的总和。λj表示第j层的权重。其中λ1<λ2<…<λn突出了网络中间层中更深层次特性的重要性。Mean(lj)表示教师网络与学生网络空间注意力特征蒸馏项lj求和后做平均(二维的矩阵求和后平均成一个数值)。教师网络和学生网络中间层在训练学生模型前就手工选取好,学生网络的每个中间层会选取每个模型网络层组的末端输出而教师网络模型会深于学生模型,教师模型中间层的选择是每两个模型层组的末端输出/>这样学生和教师的中间层个数n就能保持一致(比如ResNet110到ResNet32的蒸馏设置中n的个数为4)。
依据输入的图像数据、空间注意力特征提取和细粒度层权重,利用三个不同的图像分类损失迭代蒸馏学生模型直至学生模型收敛。
除了损失lsad,本发明学生模型的总损失函数还包括真实标签的分类损失、软标签的分类损失,总损失函数表示为:
lstudent=lrls+αlsls+βlsad
参照图4,在本方法中,更新学生模型的总损失函数由几个分量表示。lrls是基于真标签的分类损失,lsls是基于教师模型生成软标签的分类损失。lsad表示增强网络模型中间层特征图后的特征损失。权衡参数α和β控制不同的蒸馏损失。利用该损失函数,学生模型可以学习到教师网络的知识以及数据集的真实标签信息。
真实标签的知识转移的具体过程由以下公式表示:
式中和/>分别表示教师网络(ResNet110)和学生网络(ResNet32)中i类别在softmax分类前的输出,比如在Cifar-100数据集中,i有100类,softmax分类前的输出是最后一个线性层(输出维为100)的输出结果,每一个值代表预测该分类的数值,之后经过softmax分类后就是归一化后每个类的概率。N表示分类任务的类别总数,η(·)表示softmax函数。函数DCEL(·)使用交叉熵损失表示学生类别和教师类别之间的相似性。
软标签的知识转移的具体过程由以下公式表示:
式中和/>分别表示教师网络(ResNet110)和学生网络(ResNet32)中i类别在softmax分类前的输出,比如在Cifar-100数据集中,i有100类,softmax分类前的输出是最后一个线性层(输出维为100)的输出结果,每一个值代表预测该分类的数值,之后经过普通softmax分类后就是归一化后每个类的概率。T表示蒸馏温度,N表示分类任务的类别总数,η(·)表示softmax函数,之后经过带温度T的softmax分类后就是归一化后每个类软化后的概率。函数DkL(·)使用KL散度表示学生类别和教师类别之间的相似性。软化后标签会比真实的标签具有更泛化的信息,以便学生模型学习教师模型。
步骤(5)依据输入的图像数据、空间注意力特征提取和细粒度层权重得到的总损失函数来指导训练学生网络,得到基于教师网络模型训练完成的学生网络,以作为图像分类模型,用于对输入的图像进行类别分布预测。
为了验证本发明所提压缩方法的有效性,对图像分类任务进行了实验。首先,对于图像分类任务,本发明在Cifar-100和大规模图像数据集ImageNet上进行了蒸馏实验。并与该领域一些有影响力的工作进行了比较。
表1示出了本发明和现有知识蒸馏算法在CIFAR-100图像分类数据集上不同网络结构的Top1准确率(%)对比。
表1在CIFAR-100图像分类数据集上的精度
表2示出了本发明和现有知识蒸馏算法在ImageNet图像分类数据集上不同网络结构的Top1和Top5准确率(%)对比。
表2在ImageNet图像分类数据集上的精度
教师网络 | 学生网络 | KD | CRD | AFD | Ours | |
Top1 | 73.31 | 69.75 | 70.66 | 71.35 | 71.38 | 71.57 |
Top5 | 91.42 | 89.07 | 89.88 | 90.49 | 90.36 | 90.64 |
通过对比本发明与其他知识蒸馏算法的分类准确率,可以观察到在所有网络结构上本方法均达到了最优的结果。值得一提的是,本发明是首次实现使用ResNet32网络在Cifar-100分类任务上超过74.38%的Top-1精度的方法。
基于和方法实施例同样的发明构思,还本发明还提供一种基于知识蒸馏的深度神经网络模型压缩装置,包括:
数据预处理模块,用于对样本图像数据进行预处理,包括消除无关信息、增强有关信息的可检测性、标注标签;
教师网络预训练模块,用于基于预处理后的样本图像数据预训练教师网络模型;
空间注意力特征提取模块,用于利用预训练后的教师网络模型提取待分类图像的空间注意力特征,包括:获取教师网络模型每个通道输出的基本特征,基于各通道基本特征利用自注意力机制获得空间相关性特征,将空间相关性特征与基本特征结合得到教师网络空间注意力特征;使用同样的方法提取学生网络空间注意力特征;
学生网络训练模块,用于利用提取的空间注意力特征,依据细粒度层权重指导学生网络模型的训练,迭代蒸馏学生网络模型直至学生网络模型收敛,其中以λj表示所选择的教师和学生网络n个中间层中的第j层的权重,所述细粒度层权重被设置为λ1<λ2<…<λn;
模型保存及应用模块,用于保存所述学生神经网络模型以进行图像分类预测。
应理解,本发明实施例中的基于知识蒸馏的深度神经网络模型压缩装置可以实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本发明还提供一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如上所述的基于知识蒸馏的深度神经网络模型压缩方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于知识蒸馏的深度神经网络模型压缩方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、计算机设备或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程以及流程图中的流程的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程中指定的功能的步骤。
Claims (10)
1.一种基于知识蒸馏的深度神经网络模型压缩方法,其特征在于,包括以下步骤:
对样本图像数据进行预处理,包括消除无关信息、增强有关信息的可检测性、标注标签;
基于预处理后的样本图像数据预训练教师网络模型;
利用预训练后的教师网络模型提取待分类图像的空间注意力特征,包括:获取教师网络模型每个通道输出的基本特征,基于各通道基本特征利用自注意力机制获得空间相关性特征,将空间相关性特征与基本特征结合得到教师网络空间注意力特征;使用同样的方法提取学生网络空间注意力特征;
利用提取的空间注意力特征,依据细粒度层权重指导学生网络模型的训练,迭代蒸馏学生网络模型直至学生网络模型收敛,其中以λj表示所选择的教师和学生网络n个中间层中的第j层的权重,所述细粒度层权重被设置为λ1<λ2<…<λn;
保存所述学生神经网络模型用于进行图像分类预测。
2.根据权利要求1所述的方法,其特征在于,获取教师网络模型每个通道输出的基本特征包括:
提取教师网络模型每个通道i的原始特征hi,将原始特征按照通道维度进行平均,以生成具有二维特征H*W属性的注意力图,在平均后的特征空间中,每个像素代表对应位置的全部通道平均后的信息,教师网络模型在每个通道上的处理表示为:
其中表示从教师网络模型中第j层获得的特征,/>表示信道平均操作,分别表示通道平均操作生成的注意力图的查询向量、键向量、值向量,p为指数权重,C为通道数量,H为高度,W为长度。
3.根据权利要求2所述的方法,其特征在于,基于各通道基本特征利用自注意力机制获得空间相关性特征包括:
使用查询向量和键向量/>计算空间特征图中内部像素之间关系的注意值,然后应用softmax(·)函数得到注意力评分表,再用注意力评分表对值向量/>进行加权,计算过程表示为:
其中为缩放因子,/>为第j层得到的空间相关性特征。
4.根据权利要求3所述的方法,空间相关性特征与基本特征结合得到教师网络空间注意力特征表示为:
5.根据权利要求1所述的方法,其特征在于,迭代蒸馏学生网络模型包括:
结合教师网络模型提取的教师网络空间注意力特征和学生网络模型提取的学生网络空间注意力特征/>建立蒸馏项/>
构建网络中间层的特征分类损失函数Mean表示对于教师网络与学生网络空间注意力特征蒸馏项lj求和后做平均;
结合真标签的分类损失lrls、教师网络模型生成软标签的分类损失lsls,得到学生网络模型的总损失函数:lstudent=lrls+αlsls+βlsad,α和β是权衡参数;
利用该总损失函数训练训练学生网络模型。
6.根据权利要求5所述的方法,其特征在于,真标签的分类损失lrls的计算方法如下:
其中和/>分别表示教师网络和学生网络中类别i在softmax分类前的输出,η(·)表示softmax函数,函数DCEL(·)使用交叉熵损失表示学生类别和教师类别之间的相似性,N表示分类任务的类别总数。
7.根据权利要求5所述的方法,其特征在于,教师网络模型生成软标签的分类损失lsls计算方法如下:
其中和/>分别表示教师网络和学生网络中类别i在softmax分类前的输出,T表示蒸馏温度,N表示分类任务的类别总数,η(·)表示softmax函数,函数DKL(·)使用KL散度表示学生类别和教师类别之间的相似性。
8.一种基于知识蒸馏的深度神经网络模型压缩装置,其特征在于,包括:
数据预处理模块,用于对样本图像数据进行预处理,包括消除无关信息、增强有关信息的可检测性、标注标签;
教师网络预训练模块,用于基于预处理后的样本图像数据预训练教师网络模型;
空间注意力特征提取模块,用于利用预训练后的教师网络模型提取待分类图像的教师空间注意力特征,包括:获取教师网络模型每个通道输出的基本特征,基于各通道基本特征利用自注意力机制获得空间相关性特征,将空间相关性特征与基本特征结合得到教师网络空间注意力特征;使用同样的方法提取学生网络空间注意力特征;
学生网络训练模块,用于利用提取的空间注意力特征,依据细粒度层权重指导学生网络模型的训练,迭代蒸馏学生网络模型直至学生网络模型收敛,其中以λj表示所选择的教师和学生网络n个中间层中的第j层的权重,所述细粒度层权重被设置为λ1<λ2<…<λn;
模型保存及应用模块,用于保存所述学生神经网络模型以进行图像分类预测。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如权利要求1-7中任一项所述的基于知识蒸馏的深度神经网络模型压缩方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的基于知识蒸馏的深度神经网络模型压缩方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310769582.9A CN116796810A (zh) | 2023-06-28 | 2023-06-28 | 一种基于知识蒸馏的深度神经网络模型压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310769582.9A CN116796810A (zh) | 2023-06-28 | 2023-06-28 | 一种基于知识蒸馏的深度神经网络模型压缩方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116796810A true CN116796810A (zh) | 2023-09-22 |
Family
ID=88036063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310769582.9A Pending CN116796810A (zh) | 2023-06-28 | 2023-06-28 | 一种基于知识蒸馏的深度神经网络模型压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116796810A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421678A (zh) * | 2023-12-19 | 2024-01-19 | 西南石油大学 | 一种基于知识蒸馏的单导联房颤识别系统 |
CN117437459A (zh) * | 2023-10-08 | 2024-01-23 | 昆山市第一人民医院 | 基于决策网络实现用户膝关节髌骨软化状态分析方法 |
-
2023
- 2023-06-28 CN CN202310769582.9A patent/CN116796810A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117437459A (zh) * | 2023-10-08 | 2024-01-23 | 昆山市第一人民医院 | 基于决策网络实现用户膝关节髌骨软化状态分析方法 |
CN117437459B (zh) * | 2023-10-08 | 2024-03-22 | 昆山市第一人民医院 | 基于决策网络实现用户膝关节髌骨软化状态分析方法 |
CN117421678A (zh) * | 2023-12-19 | 2024-01-19 | 西南石油大学 | 一种基于知识蒸馏的单导联房颤识别系统 |
CN117421678B (zh) * | 2023-12-19 | 2024-03-22 | 西南石油大学 | 一种基于知识蒸馏的单导联房颤识别系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110609891B (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN110490946B (zh) | 基于跨模态相似度和生成对抗网络的文本生成图像方法 | |
CN111583263B (zh) | 一种基于联合动态图卷积的点云分割方法 | |
CN110110080A (zh) | 文本分类模型训练方法、装置、计算机设备及存储介质 | |
CN110070183A (zh) | 一种弱标注数据的神经网络模型训练方法及装置 | |
CN113887610A (zh) | 基于交叉注意力蒸馏Transformer的花粉图像分类方法 | |
CN116796810A (zh) | 一种基于知识蒸馏的深度神经网络模型压缩方法及装置 | |
Gao et al. | YOLOv4 object detection algorithm with efficient channel attention mechanism | |
CN111339281A (zh) | 一种多视角融合的阅读理解选择题的答案选择方法 | |
CN114912612A (zh) | 鸟类识别方法、装置、计算机设备及存储介质 | |
CN110175248B (zh) | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 | |
CN112464004A (zh) | 一种多视角深度生成图像聚类方法 | |
CN117033609B (zh) | 文本视觉问答方法、装置、计算机设备和存储介质 | |
Alem et al. | Deep learning models performance evaluations for remote sensed image classification | |
CN114283285A (zh) | 交叉一致性自训练遥感图像语义分割网络训练方法及装置 | |
CN114241191A (zh) | 一种基于跨模态自注意力的无候选框指代表达理解方法 | |
Yu et al. | Exemplar-based recursive instance segmentation with application to plant image analysis | |
CN113538472B (zh) | 一种基于编码-解码网络的向量场引导精细化分割方法 | |
Geng | Influence of self-efficacy improvement on online learning participation | |
Alharbi et al. | Learning interpretation with explainable knowledge distillation | |
CN117576149A (zh) | 一种基于注意力机制的单目标跟踪方法 | |
Jain et al. | Flynet–neural network model for automatic building detection from satellite images | |
CN116434087A (zh) | 基于goa-svm协同算法与无人机的混凝土裂缝识别方法及装置 | |
ZiWen et al. | Multi-objective Neural Architecture Search for Efficient and Fast Semantic Segmentation on Edge | |
CN115455162A (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 |