《Token-Label Alignment for Vision Transformers》ICCV2023

摘要

这篇论文探讨了数据混合策略(例如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.rhkb.cn/news/393598.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Axure RP界面设计初探:基础操作与实用技巧

Axure RP是目前流行的设计精美的用户界面和交互软件。Axure RP提供了一组丰富的RP。 UI 控件,这些控件根据它们的应用领域进行分类。作为Axure的国产替代品,它可以在线协同工作,浏览器可以在不下载客户端的情况下立即打开和使用。如果以前用A…

OpenCV专栏介绍

在当今人工智能和计算机视觉领域,OpenCV作为一个功能强大的开源库,已经成为实现各种视觉算法的基石。本“OpenCV”专栏致力于帮助读者深入理解并掌握OpenCV的使用,从而在计算机视觉项目中发挥关键作用。 专栏导读 随着技术的不断进步&#…

e6.利用 docker 快速部署自动化运维平台

利用 docker 快速部署自动化运维平台 1. 安装docker2. 拉取镜像3. 启动容器4. 初始化5. 访问测试 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主 机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中…

Java程序员接单分享

作为一名Java程序员,这阵子通过承接些小型项目,我顺利跨过了月薪破万的门槛。这些项目虽小,却如同磨刀石般,让我在实战中发现了自身技术栈的棱角与不足,尤其是意识到了在Java这一浩瀚技术海洋中的诸多未知领域。我深知…

pytorch和deep learning技巧和bug解决方法短篇收集

有一些几句话就可以说明白的观点或者解决的的问题,小虎单独收集到这里。 torch.hub.load how does it work 下载预训练模型再载入,用程序下载链接可能失效。 model torch.hub.load(ultralytics/yolov5, yolov5s)model torch.hub.load(ultralytics/y…

WPF学习(10)-Label标签+TextBlock文字块+TextBox文本框+RichTextBox富文本框

Label标签 Label控件继承于ContentControl控件,它是一个文本标签,如果您想修改它的标签内容,请设置Content属性。我们曾提过ContentControl的Content属性是object类型,意味着Label的Content也是可以设置为任意的引用类型的。 案…

我的cesium for UE踩坑之旅(蓝图、UI创建)

我的小小历程 过程创建对应目录,并将要用到的图片、资源放入对应目录下内容浏览器 窗口中右键,创建一个控件蓝图,用来编辑界面UI绘制画布面板(canvas)调整整体布局加入对应的控件将UI加入到关卡中 备注搜索不到 Add To…

如何在Zoom中集成自己的app?一个简单的例子

一、注册zoom 账号、以便在zoom app maketplace创建app。 二、安装git、node.js、vscode开发环境(略)。 三、注册ngrok账号,获得一个免费的https静态域名。 四、配置zoom app(wxl),设置上一步获得的https静态域名,验证…

进阶学习-----练习线程思维解决实际问题

线程在IT行业的实际应用 1. 多线程编程 在软件开发中,多线程编程是一种常见的技术,它允许程序同时执行多个任务。以下是多线程编程的一些具体应用: 任务分解:将一个大的任务分解为多个小任务,每个小任务由一个线程执…

C#基础——泛型

泛型 C# 中的泛型是一种强大的编程特性,它允许你编写类型安全且灵活的代码。泛型允许你定义类、结构体、接口、方法和委托,而不必在编译时指定具体的数据类型。相反,你可以使用类型参数来定义泛型类型或方法,然后在使用时指定具体…

springboot高校实验室安全管理系统-计算机毕业设计源码73839

目 录 摘要 1 绪论 1.1 研究背景 1.2 选题意义 1.3研究方案 1.4论文章节安排 2相关技术介绍 2.1 B/S结构 2.2 Spring Boot框架 2.3 Java语言 2.4 MySQL数据库 3系统分析 3.1 可行性分析 3.2 系统功能性分析 3.3.非功能性分析 3.4 系统用例分析 3.5系统流程分析…

算法板子:最短路问题——包含朴素Dijkstra算法、堆优化版的Dijkstra算法、SPFA算法、Floyd算法

目录 1. 几种算法的用途2. Dijkstra算法——求源点到其他所有点的最短路径(不能处理负边权)(1)朴素Dijkstra算法——适用于稠密图(2)堆优化版的Dijkstra算法——适用于稀疏图 4. SPFA算法——求源点到其他所有点的最短路径、判断是…

WordPress原创插件:disable-gutenberg禁用古腾堡编辑器和小工具

WordPress原创插件:disable-gutenberg禁用古腾堡编辑器和小工具 disable-gutenberg插件下载:https://download.csdn.net/download/huayula/89616495

SpringBoot快速学习

目录 SpringBoot配置文件 多环境配置 SpringBoot整合junit SpringBoot整合mybatis 1.在创建时勾选需要的模块 2.定义实体类 3.定义dao接口 4.编写数据库配置 5.使用Druid数据源 SpringBoot 是对 Spring 开发进行简化的。 那我们先来看看SpringMVC开发中的一些必须流…

翻译: 梯度下降 深度学习神经网络如何学习一

在上一节影片里我讲解了神经网络的结构 首先我们来快速回顾一下 在本节影片里,我们有两个目标 首介绍梯度下降的概念 它不仅是神经网络工作的基础 也是很多其他机器学习方法的基础 然后我们会研究一下这个特别的网络是如何工作的 以及这些隐藏的神经元层究竟在寻找什…

使用Openvino部署C++的Yolov5时类别信息混乱问题记录

使用Openvino部署C的Yolov5时类别信息混乱问题记录 简单记录一下。 一、问题描述 问题描述:在使用Yolov5的onnx格式模型进行C的Openvino进行模型部署时,通过读取classes.txt获得类别信息时,出现模型类别混乱,或者说根本就不给图…

如何将avi格式转换为flv格式呢?

FLV是随着FLASH MX的推出发展而来的一种视频格式,目前被众多新一代视频分享网站所采用,是目前增长较快,也较为广泛的视频传播格式。 FLV格式可以轻松导入FLASH播放器中,另外它还能起到保护版权的作用,非常受欢迎。那么…

在优化微信、支付宝小程序用户体验时有哪些关键指标

在优化小程序用户体验时,有几个关键指标需要特别关注,这些指标不仅能够帮助评估当前的用户体验状况,还能为后续的优化工作提供明确的方向。以下是一些关键指标及其解释: 1. 日活跃用户(DAU) 是指每天使用…

『 Linux 』网络基础

文章目录 协议分层OSI 七层模型TCP/IP 四层(五层)模型网络协议栈与操作系统的联系报文TCP/IP 通讯过程以太网通信的过程以太网的数据碰撞 协议分层 协议分层是计算机网络中奖网络协议进行组织和管理的方法; 通过将网络通信过程分成多个层次,每个层次负责特定的功能从而简化网络…

触屏交互设备的安全风险

现实中的绝大多数电子设备都具有交互性,而现在越来越多的公共场合有布置越来越多的带触屏的交互设备,功能有简单的,有复杂的,布置的场所和应用的场合也各有不同,几乎在任何一个大型公共场合都可以看到这样的设备&#…