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

server/2024/9/24 6:20:32/

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和小核网络更强大。

http://www.ppmy.cn/server/121207.html

相关文章

杰发科技——Eclipse环境安装

文件已传到网盘: 1. 安装文件准备 2. 安装Make 默认路径:C:\Program Files (x86)\GnuWin32\bin\ 不复制的话会报错 Error: Program "make" not found in PATH 3. 安装工具链 默认路径:C:\Program Files (x86)\Arm GNU Toolchain…

WPF TextBox 控件文本水平垂直居中

WPF TextBox 控件文本水平垂直居中 水平居中 HorizontalContentAlignment"Center"垂直居中 VerticalContentAlignment"Center"

电子电气架构---智能汽车应该是怎么样的架构?

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不…

为什么推荐使用英文版LabVIEW

在LabVIEW开发中,中文版和英文版主要在界面语言、功能习惯以及社区支持等方面存在差异。以下是两者的特点以及推荐使用英文版的原因: 中文版特点: 界面和帮助文档为中文:对于中文母语开发者来说,中文版LabVIEW的界面和…

实验十七:串口通信实验

串口通信实验硬件接口图 具体原理可以查看相应的资料和视频 现就代码分享如下; main.c #include<reg52.h>typedef unsigned int u16; typedef unsigned char u8;sbit LED1=P2^0;void delay_10us(u16 n) {while(n--); }int n=0;void delay_ms(u16 ms) {u16 i,j;for(i=…

cuda与机器学习

cuda与机器学习框架 1.基础概述 CUDA是由NVIDIA开发的并行计算平台和编程模型&#xff0c;允许开发者利用支持CUDA的NVIDIA GPU来加速计算密集型任务。CUDA提供了扩展的C/C语言&#xff0c;以及用于在GPU上执行并行计算的API。 线程、线程块、网格、束 线程 基本执行单元&am…

信息安全概论期末复习笔记

大三时我曾选修《信息安全概论》课程&#xff0c;一直觉得这是学过的最有趣的课程之一&#xff0c;在老师的指导要求下我们做了涉及访问控制、加密、缓冲区溢出等各种小实验&#xff0c;并且调研了特殊的访问控制模型ORCON、Windows自启动位置、可执行文件扩展名等。本文将分享…

软件测试面试八股文(含文档)

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一般软件测试的面试分为三轮&#xff1a;笔试&#xff0c;HR面试&#xff0c;技术面试。 前两轮&#xff0c;根据不同企业&#xff0c;或有或无&#xff0c;但最…