【论文速递】CCDC2021 - 轻量级网络的结构化注意知识蒸馏

article/2025/11/7 6:54:26

【论文速递】CCDC2021 - 轻量级网络的结构化注意知识蒸馏

【论文原文】:Structured Attention Knowledge Distillation for Lightweight Networks

获取地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9601745
CSDN下载:https://download.csdn.net/download/qq_50757624/87389656

博主关键词:知识蒸馏,轻量级网络,注意力

推荐相关论文:

- 无

摘要:

知识蒸馏是通过设计的损失函数将教师网络学到的有效知识转移到学生网络中,帮助学生网络以更低的计算成本获得更好的性能。但是,当学生网络和教师网络在结构和计算量上存在很大差异时,以前的知识蒸馏方法很难有效提高学生网络性能。为了改善这种情况,本文提出了轻量级网络的结构化注意力蒸馏。结构化注意力蒸馏对模型中的特征进行通道分组,通过细化空间注意力图,帮助学生网络学习教师网络的特征提取能力。我们提出的方法是在CIFAR100和大规模人脸识别验证集(LFW,CFP-FP,Age-DB)上进行评估的。与其他蒸馏方法相比,我们提出的方法在CIFAR100和人脸识别验证集上获得了更好的精度。

简介:

近年来,深度学习已广泛应用于计算机视觉的各个方面,性能显著。AlexNet的出现因其ImageNet竞赛中的出色表现而引起了研究人员的注意。随后,研究人员发现卷积神经网络的层越深,参数越多,网络的性能就越好。但是,当卷积网络中有更多的层时,由于梯度消失,网络将难以收敛。为了解决这个问题,提出了ResNet和BN,以使卷积网络能够容纳更多的参数和层。尽管大型深度卷积神经网络在各种视觉任务中取得了惊人的效果,但由于参数庞大,计算成本巨大,很难将其部署在嵌入式终端或移动设备上。知识蒸馏是模型压缩的一种突出方法。知识蒸馏通过设计的损失函数将教师网络学习的有效知识转移到学生网络中,这有助于学生模型以更低的计算成本获得更好的性能。为了提高小型网络的性能,一些知识蒸馏方法陆续被提出。Geoffrey Hinton等人引入了知识蒸馏的概念,并提出使用教师网络的输出作为软标签来指导学生网络。FitNet提出了一种特征蒸馏的方法,使学生网络模仿教师网络的隐藏特征,从而提高学生网络的性能。谢尔盖·扎戈鲁伊科(Sergey Zagoruyko) 提出了注意力转移蒸馏,它通过提取教师网络生成的空间注意力图来指导学生网络。在注意力转移蒸馏的帮助下,学生模型可以学习教师模型提取特征的能力。通道蒸馏计算中间层特征的通道注意力,以帮助学生学习教师模型识别通道表示的能力。ShrinkTeaNet提出了一种新的角蒸馏损失,用于从教师模型的超球体到学生的特质方向和样本分布。但是,考虑到轻量级网络与教师模型的巨大差异,参数数量和计算成本并不在同一数量级,提取特征的维度和信息也存在较大差异。因此,学生很难直接学习和模仿教师模型的输出或特征来达到理想的效果。以MobileNetV2为学生,ResNet50 为教师模型,在CIFAR100上进行了对比实验。为了验证学生网络和教师网络存在巨大结构差异时不同知识蒸馏方法的效果,我们调整了 MobileNetV2 的结构,将输出通道数改为[16]、[24]、[32]、[64],ResNet50 对应的输出通道数为[256]、[512]、[1024], [2048]. 在表1中,很容易发现 KD 和 CD 降低了学生模型的准确性,而 AT 和 SH 稍微提高了精度。很明显,模型之间的结构差异确实会影响知识蒸馏的有效性。此外,在 CD 和 SH 中,为了匹配教师网络的输出大小,学生需要添加图层和参数,这对轻量级网络相当不友好。

针对上述问题,我们提出了一种新的知识蒸馏方法,以提高学生提取特征的能力。我们通过结构化注意力蒸馏(SA)的方法将知识传授给学生,这是一种特殊的注意力蒸馏,我们将在第2.1节中详细解释。实验结果表明,所提方法在图像分类和人脸识别方面优于其他对比方法。

Fig. 1. Structured attention maps for various networks from pre-softmax activation.

 Fig. 1.来自pre-softmax激活的各种网络的结构化注意图。

Table 1 Accuracy of the student network MobileNetV2 under different distillation methods on CIFAR100

Table 1CIFAR100上d不同蒸馏方法下学生网络MobileNetV2的准确性

Fig. 2. Structured attention mapping over feature dimension.

Fig. 2.在特征维度上的结构化注意映射。

 【社区访问】

【论文速递 | 精选】

阅读原文访问社区

https://bbs.csdn.net/forums/paper


http://chatgpt.dhexx.cn/article/vpy3uWMj.shtml

相关文章

从Hinton开山之作开始,谈知识蒸馏的最新进展

作者 | 孟让 转载自知乎 导读:知识蒸馏是一种模型压缩常见方法,模型压缩指的是在teacher-student框架中,将复杂、学习能力强的网络学到的特征表示“知识”蒸馏出来,传递给参数量小、学习能力弱的网络。本文对17、18年知识蒸馏的最…

深度学习精度提升 3 个小妙招:模型集成、知识蒸馏、自蒸馏

本文转载自 AI公园。 作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的原理到底是什么呢,这要从模型集成开始说起。 在现在的标…

AI关键组件 | 集成,知识蒸馏和蒸馏「AI核心算法」

关注:耕智能,深耕AI脱水干货 作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 报道:AI公园 转载请联系作者 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的…

深度学习中的3个秘密:集成,知识蒸馏和自蒸馏

点击上方“CVer”,选择加"星标"置顶 重磅干货,第一时间送达 本文转载自:AI公园 作者:Zeyuan Allen-Zhu | 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能&#…

深度学习中的3个秘密:集成,知识蒸馏和蒸馏

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶” 作者:Zeyuan Allen-Zhu 编译:ronghuaiyang 导读 训练好的模型,用自己蒸馏一下,就能提高性能,是不是很神奇,这里面的原理到…

【论文笔记_知识蒸馏_2022】Knowledge Distillation with the Reused Teacher Classifier

(下文中的知识提炼即知识蒸馏) 摘要 知识提炼的目的是将一个强大而繁琐的教师模型压缩到一个轻量级的学生模型中,而不至于牺牲很多性能。为此,在过去的几年里,人们提出了各种方法,一般都有精心设计的知识…

深度学习优化利器:集成、知识蒸馏和自蒸馏

为什么简单的「集成」便能够提升性能呢?本文是对上述问题的解析,作者解读了来自微软研究院高级研究员朱泽园博士,以及卡内基梅隆大学机器学习系助理教授李远志的最新论文《在深度学习中理解集成,知识蒸馏和自蒸馏》。 本文授权转自…

深度学习中的3个秘密:集成、知识蒸馏和蒸馏

作者:Zeyuan Allen-Zhu 来源:AI公园 编译:ronghuaiyang 在现在的标准技术下,例如过参数化、batch-normalization和添加残差连接,“现代”神经网络训练 —— 至少对于图像分类任务和许多其他任务来说 —— 通常是相当稳…

【知识蒸馏】Knowledge Distillation with the Reused Teacher Classifier

文章目录 一、摘要二、引言三、相关工作四、创新点五、实验5.1精度对比5.2. 分类器重用操作分析5.3 应用一:多教师知识提炼5.4 应用二:无数据的知识蒸馏 六.结论七. 限制性和未来工作 一、摘要 知识蒸馏的目的是将一个强大而繁琐的教师模型压缩到一个轻…

集成、知识蒸馏和自蒸馏有区别?

点击上方“视学算法”,选择加"星标"或“置顶” 重磅干货,第一时间送达 作者丨梦佳 来源丨智源社区 编辑丨极市平台 集成(Ensemble,又称模型平均)是一种「古老」而强大的方法。只需要对同一个训练数据集上&am…

知识蒸馏学习

一.知识蒸馏综述 1.简介 大模型在部署到资源有限的设备上(手机、嵌入式设备等)会遇到体积和速度问题,知识蒸馏作为有代表性的模型压缩和加速的技术之一(其他还有:参数裁剪和共享、低秩分解和Transferred compact con…

深度学习三大谜团:集成、知识蒸馏和自蒸馏

来源:数据派THU 链接:https://www.microsoft.com/en-us/research/blog/three-mysteries-in-deep-learning-ensemble-knowledge-distillation-and-self-distillation/ 编辑:王萌(深度学习冲鸭公众号) 著作权归作者所有,本文仅作学术…

sql 一条语句统计男女人数

第一种方法: SELECT user.sex, count(user.sex) as 总数 FROM test.user group by user.sex; 执行结果 ​​​​ 第二种方法: select sum(case when sex 男 then 1 else 0 end) 男生人数 , sum(case when sex 女 then 1 else 0 end) 女生人数 from …

Sql根据不同条件统计总数

前言 经常会遇到根据不同的条件统计总数的问题&#xff0c;一般有两种写法&#xff1a;count和sum都可以 数据准备&#xff1a; 方法一 &#xff1a;Count 代码&#xff1a; SELECTCOUNT(CASEWHEN age > 20AND age < 25 THEN1ELSENULLEND) AS cnt0,COUNT(CASEWHEN a…

SQLServer查询多条件统计总数

业务需求&#xff1a;根据不同条件查询统计出总价钱 select SUM(case when status0 then price else 0 end) A, SUM(case when status5 then price else 0 end) B, SUM(case when status4 then price else 0 end) C, SUM(case when status1 then price else 0 end) D, SUM(ca…

SQL--统计出每日在线总数

需求&#xff1a; 一张表有uid、起始日期和终止日期&#xff0c;能不能一条sql统计出每日在线总数 样例&#xff1a; 比如 三条数据&#xff1a; a 20220510 20220512 b 20220510 20220511 c 20220511 20220512 结果: 20220510 2 20220511 3 20220512 2 数据准备&#xff1a;…

MySQL一条sql语句多个count统计

user表&#xff1a; 多个count统计sql语句 selectcount(case when sex 男 then 1 end) as man,count(case when sex 女 then 1 end) as woman,count(case when age>18 then 1 end) as adult,count(case when age<18 then 1 end) as nonagefrom user 可根据自己的业务更改…

sql 按时间段统计数据个数

插入数据sql样例 insert into using_time (create_time, fid) VALUES ("2022-09-15 14:24:50","17988413a036e3c80dd97d476f9d5b2f627a2cb20d8bcaa0af7f6a94cc8f1a6a");查询sql样例 select count(*) from using_time where create_time between 2022-09-…

SQL语句统计排行前10

SQL语句统计排行前10 引言一、创建表二、插入数据三、执行查询1、统计当天迟到的人员名单2、统计当月迟到次数排行前十的人员名单 引言 场景&#xff1a;公司每天要进行打卡上班&#xff0c;每个人每天也可以多次打卡&#xff0c;所有打卡信息会记录到表A 中&#xff0c;表A中有…

SQL 根据分类进行个数统计

前言&#xff1a;使用数据库存储数据时&#xff0c;常会有根据存储数据的类型对数据的个数进行分类统计&#xff0c;可采用以下两种方法使用sql直接进行统计。 业务场景&#xff1a;消息表中存储各种消息&#xff0c;消息有多种类型&#xff0c;每条消息对应一个类型&#xff…