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

【论文笔记】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和小核网络更强大。

http://www.kler.cn/news/313547.html

相关文章:

  • dial unix /var/run/docker.sock: connect: permission denied
  • 好用!推荐一个开源加密库 Bouncy Castle
  • Java I/O终极指南:BIO, NIO, AIO深度剖析
  • ethtool
  • 携手阿里云CEN:共创SD-WAN融合广域网
  • 【图像匹配】基于‌墨西哥帽小波(Marr小波)算法的图像匹配,matlab实现
  • signalR和WebSocket的区别是什么
  • 2024华为杯研究生数学建模C题【数据驱动下磁性元件的磁芯损耗建模】思路详解
  • Oracle脚本:排查占用UNDO段的SQL
  • 【Unity】对象池 - 未更新完
  • leetcode:2124. 检查是否所有 A 都在 B 之前(python3解法)
  • XXL-JOB 漏洞大全
  • 计算机毕业设计 美发管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 逻辑运算符
  • 第T10周:数据增强
  • 使用 Internet 共享 (ICS) 方式分配ip
  • 从虚拟机安装CentOS到自定义Dockerfile构建tomcat镜像
  • 【云安全】云服务安全攻防
  • 2024华为杯研赛C题原创python代码+结果表(1-2问)|全部可运行|精美可视化
  • openstack中的rabbitmq
  • 清理C盘缓存,电脑缓存清理怎么一键删除,操作简单的教程
  • E2VPT: An Effective and Efficient Approach for Visual Prompt Tuning
  • 系统架构设计师教程 第5章 5.1 软件工程 笔记
  • 面向过程和面向对象思想
  • Linux:开源世界的璀璨明珠
  • 深度学习-13-小语言模型之SmolLM的使用
  • 【Linux 从基础到进阶】OpenStack 私有云平台搭建
  • SpringBoot使用@Scheduled注解实现定时任务
  • MavenMyBatis
  • 0基础跟德姆(dom)一起学AI 数据处理和统计分析04-Panda入门