《Token-Label Alignment for Vision Transformers》ICCV2023

news2024/9/25 1:15:46

摘要

这篇论文探讨了数据混合策略(例如CutMix)在提高卷积神经网络(CNNs)性能方面的有效性,并指出这些策略在视觉Transformer(ViTs)上同样有效。然而,发现了一个“token fluctuation phenomenon”,这限制了数据混合策略在ViTs上的潜力。具体来说,输入token在前向传播过程中的贡献会出现波动,可能导致输出token的混合比例与预期不同,从而使得原始数据混合策略计算出的训练目标不准确,影响训练效果。为了解决这个问题,论文提出了一种名为Token-Label Alignment (TL-Align) 的方法,通过追踪变换后的token与原始token之间的对应关系,为每个token保持标签。TL-Align方法通过重用每层计算出的注意力来高效地进行token-label对齐,仅引入了微小的额外训练成本。广泛的实验表明,该方法在图像分类、语义分割、目标检测和迁移学习任务上提高了ViTs的性能。

拓展阅读:

  • Mixup:将随机的两张样本按比例混合,分类的结果按比例分配;
  • Cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类的结果不变;
  • CutMix:就是将一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值,分类结果按一定的比例分配

拟解决的问题

 论文主要解决的问题是ViTs在使用数据混合策略时出现的token波动现象,这导致了训练目标的不准确,影响了模型的训练效果。

创新之处

  • 提出了Token-Label Alignment (TL-Align) 方法,这是一种新的训练策略,用于解决ViTs在数据混合策略下的token波动问题。
  • TL-Align通过追踪输入token和变换后token之间的对应关系,为每个token动态地对齐标签,而不是简单地使用输入时的标签。
  • 该方法重用了每层的注意力计算,使得对齐过程的额外训练成本非常小。

方法论

(a)类似 CutMix 的方法广泛用于模型训练,它在空间上混合了标记及其在输入空间中的标签。

(b) 它们最初是为 CNN 设计的,并假设处理后的标记与输入标记在空间上对齐。我们表明,由于全局感受野和自适应权重,它对 ViT 不成立。

(c) 与现有方法相比,我们的方法可以有效且高效地对齐标记和标签,而无需预训练的教师网络。

  • 问题识别在ViT中,自注意力机制会导致输入token的波动,即token在网络前向传播过程中的重要性发生变化,这可能导致输出token的混合比例与原始图像不一致
  • 影响: 这种波动会影响训练目标的准确性,因为原始的数据混合策略可能无法正确反映经过自注意力处理后的token分布。

框架图:

方法的核心:通过追踪输入token和变换后token之间的对应关系,为每个输出token获得对齐的标签。 

工作流程:

1. 划分token,投影到适合的维度并添加位置嵌入

 2. 给每个令牌Z_{i}分配一个嵌入的标签:

3. 以分层方式执行 TL-Align,并根据令牌的操作计算对齐标签。形式上,ViTs 使用 self-attention 来执行输入标记 Z 的空间混合:

 为了对齐标签,我们使用相同的注意力矩阵 A(Q, K) 更新标签嵌入 Y:

对于多头注意力机制: 对齐方式通过简单地取所有注意力矩阵的平均值来对齐来调整我们的标签对齐到 MSA:

4. 逐层同步地将标签与处理后的标记对齐,得到对齐的标记 Z^{L} 和标签 Y^{L}。 图像z的最终表示为类标记Z_{cls}^{L}(DeiT)或所有空间标记的平均池化\frac{1}{N}\sum_{i=1}^{N}z_{i}^{L}(Swin Transformer)。根据具体的模型,图像的对齐标签y_{align}y_{cls}^{L}\frac{1}{N}\sum_{i=1}^{N}y_{i}^{L}。然后我们采用对齐后的标签y_{align}来训练网络,它可以适应不同的损失函数和训练方案:

不会通过对齐的标签反向传播,因为它们只能作为更准确的目标。在逐层传播期间自适应地调整每个标记的标签,并在整个前向过程中保留标记和标签之间的对齐。TL-Align 只在训练期间使用,并且在推理时不会引入额外的计算成本。 

具体来说,使用得到的对齐标签作为损失函数的输入,与模型的原始输出一起计算损失。损失函数通常是一个分类损失,如交叉熵损失。根据计算得到的损失,通过反向传播算法更新模型的参数。TL-Align方法的一个关键特点是对齐标签在训练中是停止梯度的,这意味着不会将梯度传回标签嵌入的初始化过程。

结论: 论文的实验结果表明,TL-Align能够一致性地提高不同ViT模型的性能,并且在各种下游任务中验证了其鲁棒性和泛化能力。此外,作者们还探讨了将TL-Align方法应用于其他架构(如MLP-like模型)的可能性,指出这是未来研究的一个有前景的方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1993150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mp3音频怎么压缩小一点?音频压缩的6个简单方法

在日常的数字生活中,MP3音频文件凭借其广泛的兼容性和相对较高的音质,已然成为了连接音乐创作者与听众之间不可或缺的桥梁。从个人音乐收藏到社交媒体分享,再到专业音频项目的交付,MP3格式以其便捷性占据了重要地位。然而&#xf…

MLP:全连接神经网络的并行执行

目录 MLP:全连接神经网络的并行执行 假设 代码解释 注意事项 MLP:全连接神经网络的并行执行 为了继续解释这段代码,我们需要做一些假设和补充,因为原始代码片段中DummyModel、Shard和mx.array的具体实现没有给出。不过,基于常见的编程模式和深度学习框架的惯例,我们…

【Linux网络】Linux网络初探:开启网络世界的大门

W...Y的主页 😊 代码仓库分享💕 前言:我们已经系统的学习了Linux的基本操作、进程、线程、文件、通信等待,但是在如今社会没有网络通信方式是万万不行的,今天我们就走进网络中,系统的学习一下有关Linux网…

电脑外接设备管理软件有哪些(三款USB外设管理软件推荐)

“小张,你上次用U盘拷贝资料时,有没有担心过数据安全问题?” “是啊,李姐,我总感觉用U盘传文件不太放心,万一数据被误删或者泄露就麻烦了。” 正是这样的担忧,促使了电脑外接设备管理软件的出现…

让模型从Pytorch到NCNN——Pytorch模型向NCNN框架部署的小白向详细流程(PNNX模型转换、Linux模型使用)

参考文章和项目地址: [1] Tencent/ncnn: ncnn is a high-performance neural network inference framework optimized for the mobile platform (github.com) [2] pnnx/pnnx: PyTorch Neural Network eXchange (github.com) [3] 使用pnnx把pytorch模型转ncnn模型-CS…

重塑购车体验,实时云渲染赋能东风日产探路云看车新体验

在科技日新月异的今天,汽车行业正经历着前所未有的深刻变革。随着互联网、大数据、人工智能等新兴技术的深度融合,汽车营销策略也迎来了从传统展示到数字化体验的跨越。 消费者的购车习惯逐渐倾向于线上互动与深度体验,希望在线上获得线下同…

【docker】docker数据卷与网络部署服务

Docker 网络模式 选择网络模式 Host Mode (主机模式) 特点: 容器与宿主机共享网络命名空间操作: docker run --nethost ... Container Mode (容器模式) 特点: 容器与指定容器共享网络命名空间操作: docker run --netcontainer:<container-id-or-name> ... None Mode (无…

XP服务器-远程桌面连接不上

今天遇到个很奇怪的事&#xff0c;xp服务器突然远程桌面连接不上了&#xff0c;根据上网百度的结果&#xff0c;防火墙关了&#xff0c;也允许远程连接了。我之前修改过服务器的默认端口号3389&#xff0c;改为了新端口号A&#xff0c;但是当时修改完是可以正常登陆的。而且新端…

004集——静态常量和动态常量——C#学习笔记

首先普及一个小白使用的小技巧&#xff1a;tab键可以自动输出系统显示的引导字符。 常量是使用 const 关键字来定义的 。定义一个常量的语法如下&#xff1a; const <data_type> <constant_name> value; 下面的代码演示了如何在程序中定义和使用常量&#xff1…

win服务器cmd执行exe文件失败

问题场景 场景&#xff1a;用python打包的exe文件&#xff0c;在cmd下执行是没问题的&#xff0c;放到定时任务就不执行。。。动di脚本调试没问题&#xff0c;打包成exe可执行程序也能正常运行。就是放到定时任务有问题。 解决&#xff1a; 解决方案 1.打开计划任务创建计划任…

OpenGL3.3_C++_Windows(34)

demo 1 Fresnel-Schlick PBR直接光源 顾名思义&#xff1a;直接光源指有光源直接照射到点p 的辐射强度&#xff0c;由于一个光源只会有一个光线wi影响点p&#xff0c;所以和之前的计算没什么差异对于影响p的光源&#xff0c;并不需要积分计算半球形辐照度&#xff0c;遍历每个…

71 为对象定义类

① 类定义对象的特征和行为。 ② 一个 Python 类使用变量存储数据域&#xff0c;定义方法来完成动作。类就是一份契约&#xff08;有时也称之为模板或蓝本&#xff09;&#xff0c;它定义对象的数据域和方法。 ③ 对象是类的一个实例&#xff0c;可以创建一个类的多个对象。创建…

【Linux】yum软件包管理器(使用、生态、yum源切换)

目录 1.yum-软件包管理器&#x1f638;1.1yum使用方法1.2什么是yum&#xff1f;&#x1f638;1.3yum的周边生态1.4yum源切换1.4.1 查看系统本身yum源1.4.2 软件源1.4.3yum源配置 1.yum-软件包管理器 以下操作需要联网的情况下进行 &#x1f638;1.1yum使用方法 安装软件时由于需…

蜜罐——HFish使用

蜜罐——HFish的使用 一、蜜罐简介 1.1 蜜罐技术 蜜罐技术本质上是一种对攻击方进行欺骗的技术&#xff0c;通过布置一些作为诱饵的主机、网络服务或者信息&#xff0c;诱使攻击方对它们实施攻击&#xff0c;从而可以对攻击行为进行捕获和分析&#xff0c;了解攻击方所使用的…

分类预测|基于灰狼优化最小二乘支持向量机结合Adaboost集成的数据分类预测Matlab程序GWO-LSSVM-Adaboost

分类预测|基于灰狼优化最小二乘支持向量机结合Adaboost集成的数据分类预测Matlab程序GWO-LSSVM-Adaboost 文章目录 前言分类预测|基于灰狼优化最小二乘支持向量机结合Adaboost集成的数据分类预测Matlab程序GWO-LSSVM-Adaboost 一、GWO-LSSVM-Adaboost模型1. Grey Wolf Optimize…

c++基本数据类型变量的最大值,最小值和内存空间

基本数据类型有哪些&#xff1f; 在C中&#xff0c;基本数据类型主要包括以下几种&#xff1a; 整型 (Integral Types)&#xff1a; int&#xff1a;通常为32位&#xff0c;有 signed 和 unsigned 两种版本&#xff0c;如 int, unsigned int.short 或 signed short / unsigned …

sqlserver怎么做全文搜索

在SQL Server Management Studio中管理界面&#xff0c;创建表全文索引&#xff0c; 选中表&#xff0c;右键–>全文检索–>定义全文检索—>SQLServer全文检索向导 &#xff0c;然后按提示下一步&#xff0c;创建要创建索引的列&#xff0c;就是搜索数据列 创建完了使…

抗噪声最大最小值筛选

问题 在如下图所示包含一些噪声的数据队列中如何可以把绿色的&#xff08;有一个点图片上忘记标了&#xff09;几个主观认为的最大值最小值筛选出来 思路 简述&#xff1a;定义一个噪声阈值&#xff0c;如果当前比上一次超过噪声阈值才进行更新&#xff0c;如果当前比上一次的…

双11订单实时大屏 - Flink实战洞见

每年的双11购物狂欢节不仅是消费者的狂欢&#xff0c;更是技术人员展示实力的舞台。在这个全民关注的时刻&#xff0c;如何实现实时、准确、鲜活的订单数据展示&#xff0c;成为了各大电商平台技术竞技的焦点。本文将深入探讨如何利用Apache Flink构建一个面向双11的订单实时大…

软件设计原则 KISS、YAGNI、DRY

软件设计原则 KISS、YAGNI、DRY flyfish 设计模式、设计原则与编程惯用法综述 图片来源SpaceX 简约至极的猛禽3(Raptor 3)火箭发动机 一、KISS (Keep It Simple, Stupid!, 保持简单) KISS原则&#xff0c;即“Keep it simple, stupid!”&#xff08;保持简单&#xff0c;傻…