首页 > 其他分享 >DeiT-LT:印度科学院提出针对长尾数据的`DeiT`升级模型 | CVPR 2024

DeiT-LT:印度科学院提出针对长尾数据的`DeiT`升级模型 | CVPR 2024

时间:2024-08-14 09:54:20浏览次数:15  
标签:DeiT 训练 CVPR LT ViT CNN 蒸馏

DeiT-LTViT在长尾数据集上的应用,通过蒸馏DIST标记引入CNN知识,以及使用分布外图像并重新加权蒸馏损失来增强对尾类的关注。此外,为了减轻过拟合,论文建议用经过SAM训练的CNN教师进行蒸馏,促使所有ViT块中DIST标记学习低秩泛化特征。经过DeiT-LT的训练方案,DIST标记成为尾类的专家,分类器CLS标记成为头类的专家,有效地学习与多数类和少数类相对应的特征
来源:晓飞的算法工程笔记 公众号

论文: DEYO: DETR with YOLO for Step-by-Step Object Detection

Introduction


ViT是需要对大型数据集进行预训练,数据高效ViT(DeiT)旨在通过从预训练的CNN中提取信息来减少预训练的要求,提高ViT的数据和计算效率。然而,所有这些改进仅限于平衡的ImageNet数据集。

关于DeiT可以看这篇文章:【DeiT:训练ImageNet仅用4卡不到3天的平民ViT | ICML 2021】

在这项工作中,论文的目标是从头开始研究和改进ViT的训练,而不需要对图像大小和分辨率各异的各种额外长尾数据集进行大规模预训练。最近的研究表明ViT在长尾识别任务上的性能有所提高,但这些通常需要在大规模数据集上进行昂贵的预训练。此外,大规模预训练数据集通常会无意中引入的偏差。为了减轻这些缺点,论文为长尾引入了数据高效的ViT(Deit-LT),一个可以在小型和大规模长尾数据集上从头训练ViT的方案。

DeiT-LT基于以下重要设计原则:

  • 通过强增强生成的分布外(OOD)图像从低分辨率教师网络中提取知识。值得注意的是,即使CNN教师模型最初没有接受过此类增强的训练,这种方法也被证明是有效的。这种策略可以在ViT学生模型中成功引入类似CNN的特征局部性,最终提高了泛化性能,特别是对于少数(尾)类。
  • 为了提高特征的通用性,使用经过锐度感知最小化(SAM)训练的CNN教师模型来提取知识,促使所有ViT块中学习到长尾数据集所需的低秩泛化特征。
  • DeiT中,CLSDIST标记产生类似的预测,而DeiT-LT则是分化的。CLS标记成为多数类别的专家,而DIST标记则学习局部低秩特征,成为少数类的专家。因此,DeiT-LT对多数类和少数类都有效,这在DeiT中是不可能实现的。

DeiT-LT (DeiT for Long-Tailed Data)


DeiT-LT是专门针对长尾数据的数据高效ViT模型,跟DeiT一样,除了CLS标记之外,还包含通过蒸馏从CNN学习的DIST标记。

此外,DeiT-LT引入了三个特殊的设计组件:

  • 通过分布外(OOD)图像进行有效蒸馏,这会引入局部特征并创建专家。
  • 使用DRW损失训练Tail Expert分类器。
  • 通过蒸馏从CNN教师学习低阶泛化特征。

Distillation via Out of Distribution Images

DeiT中,需要使用跟ViT一样的强增强图像来训练一个大型CNNRegNetY)用于蒸馏,这会产生额外的开销。相比之下,DeiT-LT使用常规的弱增强来训练小型CNNResNet-32)网络,然后在蒸馏过程中使用强增强图像获得预测进行蒸馏。

这些强增强图像是CNN的分布外 (OOD) 图像,因为模型在这些训练图像上的准确度较低,如表 1 所示(这里的Acc应该是对应增强图片的准确率,非简单测试集。RegNetY16GF教师应该是强增强训练的,不然Tec Acc不应该这么高。而ResNet-32教师则应该全是弱增强训练的,所以增加数据增强后Tec Acc逐步下降)。与弱增强蒸馏相比,尽管对强增强图像的准确度较低,但你强增强蒸馏依然可以产生有效的效果。因为ViT学生学会模仿CNN教师对分布外图像的错误预测,这使得学生能够学习教师的归纳偏差。

\[ f^{d}(X)\approx g(X),X\sim A(x) \]

此外,论文发现通过混合两个类别的图像来创建额外的分布外样本也可以提高蒸馏性能。从教师预测的熵中可以看出,对于OOD样本的预测熵很高(即信息量更大)。总的来说,论文发现在蒸馏时增加不同数量的分布外数据有助于提高性能并导致CNN的有效蒸馏。

通过使用分布外图像进行蒸馏,教师预测 \(y\_t\) 通常与真实值 \(y\) 不同。因此,CLS标记和DIST标记的特征表达在训练时会有所不同。如图 4a 所示,CLS标记和DIST标记特征之间的余弦距离随着训练的进行而增加,导致CLS标记成为头类预测的专家,而DIST标记则专注于尾类预测。这个发现打破了DeiT中,CLS标记输出与DIST标记输出相似的现象。

Tail Expert with DRW loss.

论文引入了延迟重加权(DRW)来计算蒸馏损失,使用因子 \(w_y = 1/{1 + (e\_y − 1)\mathbb{1}_{\mathrm{epoch}}\ge K}\) 来衡量每个类别的损失,其中 \(e\_{y}=\mathrm{\frac{1-\beta^{{N}\_y}}{1{-\beta}}}\) 是 \(y\) 类中在 \(K\) 个周期后的有效样本数。因此,总损失如下:

\[ \begin{array}{c} \mathcal{L}=\frac{1}{2}\mathcal{L}_{C E}(f^{c}(x),y)+\frac{1}{2}\mathcal{L}_{D R W}(f^{d}(x),y\_{t}), \ \mathrm{where}\ \ \mathcal{L}_{DRW}=-w_{y_t}log(f^d(x)_{y\_t}) \end{array} \]

DRW阶段进一步增强了DIST蒸馏头对尾部类别的关注,从而提高了性能。如图 4a 所示,两个标记间的多样性在引入DRW阶段后得到了改善。DRW能够引导不同的CLSDIST标记的创建,分化为多数类和少数类的专家。

Induction of Local Features

为了深入了解OOD蒸馏的通用性和有效性,论文仔细研究了DeiT-LT生成的尾部特征。在图 4b 中,绘制了ViT头部每个标记的平均注意力距离。

  • Insight 1

DeiT-LT第一个和第二个块中,出现了像CNNN一样关注邻域标记的头。由于这种对局部泛化的类不可知的特征,少数类的泛化能力有所提高(图 1c)。

如果没有OOD蒸馏,DeiTViT基线在全局特征上过度拟合(图 4b),没有很好地泛化到尾部类别。因此,DeiT-LT中的OOD蒸馏是一种非常适合长尾场景的方法。

Low-Rank Features via SAM teachers

为了进一步提高特征的泛化性,特别是对于数据较少的类,论文通过锐度感知最小化(SAM)训练的CNN教师模型,使其能够收敛到最小平面并得到低秩特征。

为了分析LT情况下ViT学生模型的特征秩,论文专门计算尾类特征的秩。具体来说,对通过LDAMPaCo训练的不同教师模型进行SAM对比实验,观察DIST特征秩情况。

  • Insight 2

如图 4c 所示,根据SAM教师模型的预测蒸馏出的ViT模型会出现跨ViT块的低秩泛化DIST标记特征。

通过蒸馏最终的Logits向量就能将CNN教师的特征(低秩)迁移给学生,这对于ViT蒸馏是一个重大的新发现。

  • Training Time

DeiT以高分辨率(\(224\times224\))训练大型CNN RegNetY-16GF来蒸馏ViT,而论文则以较低的分辨率训练较小的ResNet-32 CNN(\(32\times32\))来实现有竞争力的性能。如表 1 所示,这显著减少了计算要求和总体训练时间 13 小时,因为ResNet-32模型可以快速训练。此外,使用SAM教师模型时,学生模型的收敛速度比使用普通教师模型时快得多,这证明了SAM教师对于低秩蒸馏的功效。

Experiments


Experimental Setup

遵循DeiT中提到的设置来为论文的实验创建学生模型,对所有数据集使用DeiT-B学生模型架构。

教师模型的训练,可以选择使用基于重新加权的LDAM-DRW-SAM方法或PaCo+SAM(使用SAM优化器训练PaCo)来训练。

教师模型的选择,小规模数据集(CIFAR-10 LTCIFAR-100 LT)采用ResNet-32,大规模ImageNet-LTiNaturalist2018采用ResNet-50

头部专家分类器使用CE损失训练,而尾部专家分类器则使用CE+DRW损失来训练来自教师网络的硬蒸馏目标。

  • Small scale CIFAR-10 LT and CIFAR-100 LT.

模型训练 1200 个周期,其中尾部专家分类器的DRW训练从第 1100 个周期开始。除了DRW训练(最后 100 个时期)外,对输入图像使用MixupCutmix增强。使用AdamW优化器通过余弦学习率进行训练,基础LR为 \(5\times10^{-4}\)。

  • Large scale ImageNet-LT and iNaturalist-2018.

模型分别训练了 1400 和 1000 个周期,尾部专家分类器的DRW训练分别从 1200 和 900 个周期开始。在整个训练过程中使用MixupCutmix增强,都遵循余弦学习率,基本LR为 \(5\times10^{-4}\)。

Result

如果本文对你有帮助,麻烦点个赞或在看呗~undefined更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

标签:DeiT,训练,CVPR,LT,ViT,CNN,蒸馏
From: https://www.cnblogs.com/VincentLee/p/18358273

相关文章

  • StarNet:关于 Element-wise Multiplication 的高性能解释研究 | CVPR 2024
    论文揭示了staroperation(元素乘法)在无需加宽网络下,将输入映射到高维非线性特征空间的能力。基于此提出了StarNet,在紧凑的网络结构和较低的能耗下展示了令人印象深刻的性能和低延迟来源:晓飞的算法工程笔记公众号论文:RewritetheStars论文地址:https://arxiv.org/abs/240......
  • SCI一区级 | Matlab实现INFO-CNN-LSTM-Multihead-Attention多变量时间序列预测
    SCI一区级|Matlab实现INFO-CNN-LSTM-Multihead-Attention多变量时间序列预测目录SCI一区级|Matlab实现INFO-CNN-LSTM-Multihead-Attention多变量时间序列预测效果一览基本介绍程序设计参考资料效果一览基本介绍1.Matlab实现INFO-CNN-LSTM-Multihead-At......
  • M3KE: A Massive Multi-Level Multi-Subject Knowledge Evaluation Benchmark for Chi
    文章目录题目摘要简介相关工作M3KE实验结论题目M3KE:面向中文大型语言模型的海量多层次多学科知识评估基准论文地址:https://arxiv.org/abs/2305.10263项目地址:https://github.com/tjunlp-lab/M3KE摘要    大型语言模型最近在跨任务泛化、指令跟随等多个......
  • [Paper Reading] Multiple View Geometry Transformers for 3D Human Pose Estimation
    MultipleViewGeometryTransformersfor3DHumanPoseEstimationlink时间:CVPR2024机构:UniversityofToronto&&SoutheastUniversity&&MicrosoftResearchAsiaTL;DR提出一种基于Transformer端到端3DHumanPoseEstimation方法MVGFormer,核心模块是geometry与appea......
  • node.js文件上传(图片等等...)——利用connect-multiparty中间件
    一.概念步骤讲解1.安装和引入中间件安装:通过npm安装connect-multiparty:npminstallconnect-multiparty--save。引入:在项目中引入connect-multiparty:varmultipart=require('connect-multiparty');2.基本设置配置上传目录:指定上传文件的临时存储位置,例如:app.us......
  • Multicast Proxy
    OracleRAC(RealApplicationClusters)的组播通常用于私网环境。在RAC架构中,组播是一种重要的通信机制,用于在集群节点之间高效地传输数据。这种机制特别适用于实现诸如缓存融合(CacheFusion)等功能,它允许多个数据库实例在不同的服务器上协同工作,同时保持数据的一致性。在某些云环境......
  • DRM:清华提出无偏差的新类发现与定位新方法 | CVPR 2024
    论文分析了现有的新类别发现和定位(NCDL)方法并确定了核心问题:目标检测器往往偏向已知的目标,忽略未知的目标。为了解决这个问题,论文提出了去偏差区域挖掘(DRM)方法,以互补的方式结合类无关RPN和类感知RPN进行目标定位,利用未标记数据的半监督对比学习来改进表征网络,以及采用简单高效的m......
  • Ubuntu 22.04 LTS 环境下部署 Docker 服务
    sudosystemctlstopapparmor.servicesudosystemctldisableapparmor.servicesudoufwdisable#Uninstallallconflictingpackages.sudoaptremove-ydocker.iodocker-docdocker-composedocker-compose-v2podman-dockercontainerdrunc#SetupDocker&#......
  • [JOISC2017] Cultivation
    link。不是,怎么四方跑得飞快啊?成最优解了?有人会卡吗?鉴定为剪枝太多导致的。一个出发点不太一样的思路。假设上下左右各被操作了\(U,D,L,R\)次。我们考虑一个点\((x,y)\)不被感染的条件是初始时\([x-D,x+U]\times[y-R,y+L]\)这个矩形内没有任何感染点。考虑扣出所有中间......
  • flannel容器启动失败,日志报错“Failed to find any valid interface to use: failed t
    现状k8s部署,flannel容器起不来,不断重启,查看日志报错"Failedtofindanyvalidinterfacetouse:failedtogetdefaultinterface:Unabletofinddefaultroute"排查过程根据报错提示,可能是网卡名称奇怪导致,或者没有默认路由查看默认路由很显然是有默认路由的查......