当前位置: 首页 > news >正文

【论文笔记】Are Large Kernels Better Teacheres than Transformers for ConvNets

Abstract

本文提出蒸馏中小核ConvNet做学生时,与Transformer相比,大核ConvNet因其高效的卷积操作和紧凑的权重共享,使得其做教师效果更好,更适合资源受限的应用。
用蒸馏从Transformers蒸到小核ConvNet的效果并不好,原因是架构不同。

Github Repository

1 Information

在蒸馏过程,小核ConvNet做学生模型时,与Vision Transformers相比,大核ConvNet有以下优势:

  • 同样好的精度
  • 相似甚至更大的有效感受野(Effective receptive field, ERF)
  • (更重要的)是卷积操作,而不是自注意力模块

本文,在小核ConvNet做学生模型时,将现代大核ConvNet和先进Vision Transformers进行对比。本文发现在logits-level distillation和feature-level distillation下,大核ConvNet的效果都比Vision Transformers更有效。

3 Experimental Setup

本文目标是在蒸馏下全面比较Vision Transformers和现代大核ConvNet,并研究哪种更适合作为小核ConvNet的教师。

Evaluation Metrics

给定教师模型 T T T(具有较高的任务准确率 a c c ( t e a c h e r ) acc(teacher) acc(teacher),学生模型 S S S(具有较低的任务准确率 a c c ( s t u d e n t ) acc(student) acc(student),通过知识蒸馏提高后者的准确率至 a c c ( d i s t i l l e d ) acc(distilled) acc(distilled)
采用两种度量:
Direct Gain表示有知识蒸馏和无知识蒸馏的直接表现差异:
Direct Gain = a c c ( d i s t i l l e d ) − a c c ( s t u d e n t ) (1) \text{Direct Gain}=acc(distilled)-acc(student)\tag{1} Direct Gain=acc(distilled)acc(student)(1)
教师很难拥有相同的准确率,因此使用Effective Gain:
Effective Gain = a c c ( d i s t i l l e d ) − a c c ( s t u d e n t ) a c c ( t e a c h e r ) (2) \text{Effective Gain}=\frac{acc(distilled)-acc(student)}{acc(teacher)}\tag{2} Effective Gain=acc(teacher)acc(distilled)acc(student)(2)

Dataset, Teacher and Student Models

在常用的ImageNet数据集(1000类别,1281167训练图像,50000验证图像)进行实验。

有两个主要的蒸馏pipeline:

  • Pipeline I: 大核ConvNet→小核ConvNet
  • Pipeline II: Transformers→小核ConvNet

对于两个pipeline,学生模型选择了带有3×3卷积核的ResNet-50和带有7×7卷积核的ConvNeXt-T。
对于Pipeline I,教师模型选择ConvNeXt-T和SLaK;
对于Pipeline II,教师选择ViT-S,Swin-T,CSWin-T。

Distillation Methods

为了得出可靠的结论,本研究采用了logits-level distillation和feature-level distillation相结合的方法。
不失一般性,选择KD、NKD作为logits-level distillation,选择FD作为feature-level distillation。

4 Experimental Results

4.1 Large-Kernel ConvNet vs. Transformer as Teachers

4.1.1 Logit-level Distillation

![[Pasted image 20240920200800.png]]
![[Pasted image 20240920200809.png]]

  • 大核ConvNets比Transformers更适合做小核ConvNets的教师。
  • 与小核相比,学生模型从大核ConvNets获得的提升更多。
  • 大核ConvNets可以让学生训练得更快。

4.1.2 Feature-level Distillation

![[Pasted image 20240920202947.png]]
![[Pasted image 20240920204102.png]]

在feature distillation下,从蒸馏出的学生模型的表现来看,大核ConvNet比Transformers的表现要好。
当使用多层特征图进行特征蒸馏(FD)时,大核卷积网络作为教师模型的优势仍然优于基于Transformer的教师模型。

4.2 Scaling to Longer Training

本文还将训练epoch从120次延长到300次,并展现了从大核教师和基于Transformer的教师中提取的ResNet-50的性能。
![[Pasted image 20240920212721.png]]
显而易见,较长训练周期的性能趋势与短周期高度一致。在所有五个教师模型中,SLaK-T教师模型使得学生模型表现最佳,这表明大核教师模型相较于基于Transformer的教师模型在较长训练过程中同样具有优势。

5 What Else are Transferrable from Larger Kernels Teachers?

5.1 Transferring Effective Receptive Fields(ERF)

有效感受野(Effective Receptive Fields, ERF)是指包含对该单元输出有非忽略影响的任意输入像素的区域。
![[Pasted image 20240920215356.png]]

图1:ConvNeXt-T从不同教师模型蒸馏而来的有效感受野(ERF)。学生模型是带有7×7卷积核的ConvNeXt-T。左图为未经蒸馏的监督学习ConvNeXt-T,而其余图像来自于蒸馏后的ConvNeXt-T。
总体而言,来自51×51大核SLaK蒸馏的学生模型相比于来自Transformer教师模型蒸馏的学生模型,表现出更大且更密集的ERF。这进一步证明大核卷积网络在蒸馏过程中比Transformer更能有效地传递大ERF,从而提高学生模型的性能。

5.2 Transferring Robustness

![[Pasted image 20240920221853.png]]
结果如表7所示。

  • 从现代ConvNets蒸馏出的学生优于从最新的Transformer模型学习的学生模型。
  • 在大核教师中,SLaK-T相比ConvNeXt向学生传递了更好的鲁棒性,尽管它作为教师模型的鲁棒性较低。
  • 鲁棒的Transformer并不一定能有效地传递给小核学生。这表明,在分布内(in-distribution)和分布外(out-of-distribution)的表现上,大核卷积网络比先进的视觉Transformer和小核网络更强大。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 一文入门生成式AI(理解ChatGPT的原理)
  • C语言的一些小知识(四)
  • C++ | Leetcode C++题解之第414题第三大的数
  • docker基础学习
  • 2024 研究生数学建模竞赛(D题)建模秘籍|大数据驱动的地理综合问题|文章代码思路大全
  • Git常用指令整理【新手入门级】【by慕羽】
  • Matlab simulink建模与仿真 第十五章(信号源库)
  • EmguCV学习笔记 VB.Net 12.1 二维码解析
  • wsl2桥接网络 ubuntu到弃坑到又跳坑
  • Java 多态(难)
  • Python语言基础教程(下)4.0
  • 小程序地图展示poi帖子点击可跳转
  • Go语言设计与实现 学习笔记 第七章 内存管理(1)
  • 基于ACMEv2协议的免费SSL证书申请-支持Let‘s Encrypt/Google/ZeroSSL
  • 图形化编程012(变量-倒计时)
  • ----------
  • Otto开发初探——微服务依赖管理新利器
  • Rancher如何对接Ceph-RBD块存储
  • Redis 中的布隆过滤器
  • spring学习第二天
  • STAR法则
  • Sublime text 3 3103 注册码
  • Swoft 源码剖析 - 代码自动更新机制
  • vagrant 添加本地 box 安装 laravel homestead
  • Vue--数据传输
  • 初探 Vue 生命周期和钩子函数
  • 简单易用的leetcode开发测试工具(npm)
  • 开源SQL-on-Hadoop系统一览
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 关于Android全面屏虚拟导航栏的适配总结
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (23)Linux的软硬连接
  • (4) PIVOT 和 UPIVOT 的使用
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (九)c52学习之旅-定时器
  • (一)Java算法:二分查找
  • .NET 通过系统影子账户实现权限维持
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET4.0并行计算技术基础(1)
  • .NetCore发布到IIS
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • /boot 内存空间不够
  • @Conditional注解详解
  • [ C++ ] STL---string类的模拟实现
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [BJDCTF2020]EzPHP1
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [CSS]一文掌握