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

2024/4/14周报

文章目录

  • 摘要
  • Abstract
  • 文献阅读
    • 题目
    • 创新点
    • CROSSFORMER架构
      • 跨尺度嵌入层(CEL)
      • CROSSFORMER BLOCK
      • 长短距离注意(LSDA)
      • 动态位置偏置(DPB)
    • 实验
  • 深度学习
    • CrossFormer
      • 背景
      • 维度分段嵌入(DSW)
      • 两阶段注意力层(TSA)
      • 分层encoder-decoder
      • 表现
      • 超参数调整
  • 总结

摘要

本周阅读了一篇以跨尺度注意力为基础的通用视觉Transformer器的文章,文中提出了跨尺度嵌入层(CEL)和长短距离注意(LSDA)。不仅减少了计算负担,而且在嵌入中同时保留了小尺度和大尺度特征。通过以上两种设计,实现了跨尺度注意。大量的实验表明,CrossFormer在图像分类、对象检测、实例分割和语义分割任务上优于其他视觉转换器。此外,对CrossFormer进行更近一步的学习。

Abstract

This week, an article about a universal visual Transformer based on cross-scale attention is readed, in which cross-scale embedding layer (CEL) and long-short distance attention (LSDA) are proposed. It not only reduces the computational burden, but also preserves both small-scale and large-scale features in embedding. Through the above two designs, cross-scale attention is realized. A large number of experiments show that CrossFormer is superior to other visual converters in image classification, object detection, instance segmentation and semantic segmentation. In addition, learn more about CrossFormer.

文献阅读

题目

CROSSFORMER: AVERSATILE VISION TRANSFORMER HINGING ON CROSS-SCALE ATTENTION

创新点

1) 提出了跨尺度嵌入层(CEL)和长短距离注意(LSDA),它们共同弥补了现有变压器无法建立跨尺度注意的缺陷。
2) 进一步提出了动态位置偏置模块(DPB),以使相对位置偏置更加灵活,即,适应可变的图像大小或组大小。
3) 构建了多个不同大小的CrossFormers,并通过四个代表性视觉任务的充分实验证实了它们的有效性。

CROSSFORMER架构

CrossFormer的整体架构如图所示:
在这里插入图片描述

左图(a):用于分类的CrossFormer的架构。输入大小为H0 ×W0,每个阶段的特征图大小显示在顶部。阶段i由CEL和ni CrossFormer块组成。CEL中的数字表示用于对补丁进行采样的内核大小。
右图(b):两个连续CrossFormer块的内部结构。SDA和LDA交替出现在不同的区块中。

CrossFormer采用了金字塔结构,将Transformer模型分为四个阶段。每个阶段由一个跨尺度嵌入层(CEL)和几个CrossFormer块组成。CEL接收最后一级的输出(或输入图像)作为输入,并生成跨尺度嵌入。在这个过程中,CEL(除了第1阶段)将嵌入的数量减少到四分之一,同时将金字塔结构的维度增加一倍。然后,在CEL之后,建立多个CrossFormer模块,每个模块都涉及长短距离注意(LSDA)和动态位置偏差(DPB)。

跨尺度嵌入层(CEL)

跨尺度嵌入层(CEL)被用来为每个阶段生成输入嵌入。图2以第一个CEL为例:
在这里插入图片描述

输入图像由四个不同的核采样(即,4 × 4,8 × 8,16 × 16,32 × 32),步幅相同4 × 4。每个嵌入都是通过投影和连接四个补丁来构建的。Dt表示嵌入的总维数。

CROSSFORMER BLOCK

每个CrossFormer模块由长短距离注意模块(即,LSDA,其涉及短距离注意(SDA)模块或长距离注意(LDA)模块)和多层感知器(MLP)。如图1b所示,SDA和LDA交替出现在不同的块中,动态位置偏置(DPB)模块在SDA和LDA中工作,以获得嵌入的位置表示。在先前的视觉变换器之后,在每个块中使用剩余连接。

长短距离注意(LSDA)

将自我注意模块分为两部分:短距离注意(SDA)和长距离注意(LDA)。对于SDA,每个G×G相邻嵌入被分组在一起。图3a给出了G = 3的示例。对于输入大小为S × S的LDA,嵌入以固定间隔I采样。例如,在图3b(I = 3)中,所有带有红色边框的嵌入都属于一个组,而那些带有黄色边框的嵌入则组成另一个组。LDA的组的高度或宽度被计算为G = S/I(即,在这个例子中G = 3)。在分组嵌入之后,SDA和LDA都在每个组内使用香草自我注意。因此,自注意模块的存储/计算成本从O(S4)降低到O(S2 G2),并且在大多数情况下G <S。
在这里插入图片描述

动态位置偏置(DPB)

相对位置偏差(RPB)通过在嵌入者的注意力上增加一个偏差来表示嵌入者的相对位置:
在这里插入图片描述

提出了一个基于MLP的模块DPB来动态生成相对位置偏差:
在这里插入图片描述

实验

实验进行了四个具有挑战性的任务:图像分类,对象检测,实例分割,语义分割。
图像分类:
结果示于表2中:
在这里插入图片描述

CrossFormer实现了与其他最先进的视觉Transformer结构相媲美的参数和FLOP的最高精度。具体而言,与强大的基线DeiT,PVT和Swin相比,我们的CrossFormer在小模型上的准确性至少绝对优于它们1.2%。此外,虽然RegionViT在小模型上达到了与我们相同的准确度(82.5%),但在大模型上绝对低于我们的0.7%(84.0% vs. 83.3%)。
目标检测和实例分割:
关于对象检测和实例分割的实验都是在COCO 2017数据集上完成的(Lin et al.,2014),其中包含118K训练和5K瓦尔图像。结果RetinaNet和Mask R-CNN的结果分别见表3和表4:
在这里插入图片描述
在这里插入图片描述

语义分割:
结果示于表5中。与对象检测类似,CrossFormer在扩大模型时表现出更大的性能增益:
在这里插入图片描述

深度学习

CrossFormer

背景

现有的Transformer类模型变体主要都是侧重于捕捉时间序列的跨时间依赖性,而忽略了变量之间的跨维度依赖性。Crossformer,这是一个基于Transformer的模型,考虑了跨维度依赖性。

主要设计了三大结构:
1)维度分段嵌入(DSW):负责保留时间和维度信息。每个维度的序列被分割成段,嵌入到特征向量中。
2)两阶段注意力(TSA):有效捕捉跨时间和跨维度依赖性。
3)分层encoder-decoder(HED):每一层对应一个尺度,encoder上层捕捉较粗尺度的依赖性,decoder生成不同尺度的预测并加总作为最终预测。

以往Transformer变体在做多变量时间序列预测的时候,位于同一个时间步不同维度的数据是直接嵌入到同一个向量中的,如此一来计算向量之间的注意力就只能捕捉到时间步上的区别(如图b)。图a所示的是在ETTh1数据集上训练的注意力图,可以看到注意力值有明显的分段,且相近的数据点的注意力权重相似。
故CrossFormer作者认为每个维度的序列在不同时间步上应该被分割成好几段来嵌入,而不是单个时间步表示所有维度的嵌入(如图c)。
在这里插入图片描述

维度分段嵌入(DSW)

在这里插入图片描述

两阶段注意力层(TSA)

对于获得的二维数组H,直接应用自注意力会产生二次方的复杂度,因此通过两阶段注意力层捕获二维数组跨时间和跨维度的依赖性。
1、 跨时间阶段:直接将多头自注意力应用于每个维度

2、 跨维度阶段:该阶段直接对每个维度间应用多头自注意力会导致O(D2)的复杂性,对每个时间步i设置固定数量的可学习向量作为路由器,让信息先与中间少量路由器聚合再进行信息传递,减少注意力计算的复杂度。
在这里插入图片描述

首先将路由器R作为多头自注意力的query、所有维度的向量Z作为key和value聚合来自所有维度的信息B;然后将维度向量Z作为query、聚合的信息B作为key和value进行聚合,作为路由器在维度之间分发收到的信息。
最终路由器机制将复杂度从O(D2L)降到O(DL)。
在这里插入图片描述

两阶段注意力层的最终输出为Y,总计算复杂度为O(DL2+DL)=O(DL2)
在这里插入图片描述

分层encoder-decoder

通过DSW嵌入、TSA层以上两个结构,作者加入序列段的合并来构建分层的encoder- decoder。
在这里插入图片描述

将Z与可学习的权重矩阵W相乘得到L层第i个分段的预测值,对所有层预测值相加得到最终预测。
在这里插入图片描述
在这里插入图片描述

表现

Crossformer在大多数数据集以及预测长度上都表现出较好的性能,在58个案例中有36个排名第一,51个排名第二。其次 FEDfrmer 和 MTGNN 的表现也优于许多baseline。
在这里插入图片描述

消融实验(DSW、TSA、HED)
(1)DSW嵌入因考虑了跨维度依赖性,在大多数情况下比Transformer原始嵌入方法表现得更好。
(2)TSA两阶段注意力分开考虑了时间和维度,提高了预测精度。
(3)HED在短期预测中降低了精度,而在长期预测中HED包含不同尺度的信息提高了精度。
三者结合效果最佳
在这里插入图片描述

超参数调整

(1)分段长度Lseg:对于短期预测(24、48),较小的分段效果越好,预测精度总体较稳定。对于长期预测(168以上),随着分段长度从4到24 MSE下降,即分段长度越长适合长期预测。
(2)路由器个数c:在预测长度336之前,随着c变化MSE较稳定,当预测长度720时,随着c增加MSE趋于下降。选择c=10来平衡预测精度和计算效率。
在这里插入图片描述

计算效率分析
Crossformer encoder的复杂度是二次方,但可以使用较大的分段长度Lseg进行长期预测来降低复杂度(化掉分母)。
在这里插入图片描述

消融版本随着维度D增大的内存占用:TSA可以明显降低复杂度,没有路由器机制的TSA(w/o Router)也有助于降低复杂度,而路由器机制可以进一步使复杂度线性化,能够处理300维的数据。
在这里插入图片描述

总结

(1)在TSA的跨维度阶段,路由器机制建立的连接除了捕获跨维度依赖性外,还给高维数据引入了噪声,因此,利用高维数据的稀疏性来降低噪声,提高TSA层的计算效率是一个很有前途的方向。
(2)Dlinear的作者认为基于transformer的模型难以保持有序信息,因为注意机制是排列不变的,并且注入到模型中的绝对位置嵌入不足以用于时间序列预测,可考虑文本和视觉中的相对位置编码。
(3)用于时间序列预测的数据集比用于文本和视觉的数据集要小得多,并且时间序列数据集中的模式也更简单,可考虑在大型数据集上充分发挥潜力。

相关文章:

2024/4/14周报

文章目录 摘要Abstract文献阅读题目创新点CROSSFORMER架构跨尺度嵌入层&#xff08;CEL&#xff09;CROSSFORMER BLOCK长短距离注意&#xff08;LSDA&#xff09;动态位置偏置&#xff08;DPB&#xff09; 实验 深度学习CrossFormer背景维度分段嵌入&#xff08;DSW&#xff09…...

MySQL 社区版 安装总结

很早就安装过MySQL&#xff0c;没有遇到过什么问题&#xff0c;直接next就行了&#xff0c;这次在新电脑上安装却遇到了一些问题&#xff0c;记录一下。 安装的是MySQL社区版&#xff0c;下载地址是www.mysql.com&#xff0c;进入后选择DOWNLOAD页面&#xff0c;选择MySQL Com…...

二叉排序树的增删改查(java版)

文章目录 1. 基本节点2. 二叉排序树2.1 增加节点2.2 查找&#xff08;就是遍历&#xff09;就一起写了吧2.3 广度优先遍历2.4 删除&#xff08;这个有点意思&#xff09;2.5 测试样例 最后的删除&#xff0c;目前我测试的是正确的 1. 基本节点 TreeNode: class TreeNode{pri…...

linux下coredump问题的定位分析方法

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 参考&#xff1a;https://blog.csdn.net/m0_73698480/article/details/130077852 最近定位了一段时间linux下的崩溃问题&#xff0c;又收集了一些思路&#xff0c;特整理记录一下。 常见coredump定位方法是&#xff1a…...

第十届蓝桥杯省赛真题(C/C++大学B组)

目录 试题 A: 组队 试题 B: 年号字串 试题 C: 数列求值 试题 D: 数的分解 试题 E: 迷宫 试题 F: 特别数的和 试题 G&#xff1a;完全二叉树的权值 试题 H&#xff1a;等差数列 试题 I&#xff1a;后缀表达式&#xff08;不一定对&#xff09; 试题 J&#xff1a;灵能…...

Scrapy 爬取m3u8视频

Scrapy 爬取m3u8视频 【一】效果展示 爬取ts文件样式 合成的MP4文件 【二】分析m3u8文件路径 视频地址&#xff1a;[在线播放我独自升级 第03集 - 高清资源](https://www.physkan.com/ph/175552-8-3.html) 【1】找到m3u8文件 这里任务目标很明确 就是找m3u8文件 打开浏览器…...

LVGL简单记录

1、 vs中代码旁边有个小锁删除git 2、Visual Studio 试图编译已删除的文件&#xff0c; 如果这个文件也是你不再需要编译的文件&#xff0c;且已经从文件系统中删除&#xff0c;你需要从 .vcxproj 文件中移除或者注释掉这一行&#xff0c;以停止Visual Studio尝试去编译一个不…...

计算机网络——ARP协议

前言 本博客是博主用于复习计算机网络的博客&#xff0c;如果疏忽出现错误&#xff0c;还望各位指正。 这篇博客是在B站掌芝士zzs这个UP主的视频的总结&#xff0c;讲的非常好。 可以先去看一篇视频&#xff0c;再来参考这篇笔记&#xff08;或者说直接偷走&#xff09;。 …...

【C++]C/C++的内存管理

这篇博客将会带着大家解决以下几个问题 1. C/C内存分布 2. C语言中动态内存管理方式 3. C中动态内存管理 4. operator new与operator delete函数 5. new和delete的实现原理 6. 定位new表达式(placement-new) 1. C/C内存分布 我们先来看下面的一段代码和相关问题 int global…...

深入理解计算机网络分层结构

一、 为什么要分层&#xff1f; 计算机网络分层的主要目的是将复杂的网络通信过程分解为多个相互独立的层次&#xff0c;每个层次负责特定的功能。这样做有以下几个好处&#xff1a; 模块化设计&#xff1a;每个层次都有清晰定义的功能和接口&#xff0c;使得网络系统更易于设…...

亚马逊云科技CTO带你学习云计算降本增效秘诀

2023亚马逊云科技一年一度的重磅春晚--Re:invent上有诸多不同话题的主题Keynote&#xff0c;这次小李哥带大家复盘来自亚马逊CTO: Wener博士的主题演讲: 云架构节俭之道1️⃣节俭对于云计算为什么重要&#xff1f; ▶️企业基础设施投入大&#xff0c;利用好降本策略可以减少巨…...

快速上手Vue

目录 概念 创建实例 插值表达式 Vue响应式特性 概念 Vue是一个用于 构建用户界面 的 渐进式 框架 构建用户界面&#xff1a;基于数据渲染出用户看到的页面 渐进式&#xff1a;Vue相关生态&#xff1a;声明式渲染<组件系统<客户端路由<大规模状态管理<构建工具 V…...

java 目录整理

Java知识相关目录主要参考黑马程序员 风清扬老师的视屏,参考链接为 Java_黑马刘意(风清扬)2019最新版_Java入门视频_Java入门_Java编程_Java入门教程_黑马教程_黑马程序员_idea版_哔哩哔哩_bilibili 1、java 基础 java基本认识?java跨平台原理?jdk、jre、jvm的联系? 链接:…...

使用Python的Pillow库进行图像处理书法参赛作品

介绍&#xff1a; 在计算机视觉和图像处理领域&#xff0c;Python是一种强大而流行的编程语言。它提供了许多优秀的库和工具&#xff0c;使得图像处理任务变得轻松和高效。本文将介绍如何使用Python的wxPython和Pillow库来选择JPEG图像文件&#xff0c;并对选中的图像进行调整和…...

docker 容器指定utf-8编码

在运行 Docker 容器的时候&#xff0c;如果容器内应用需要使用 UTF-8 编码来正常处理中文&#xff0c;你可以通过设置环境变量来指定编码。 可以使用 -e 或者 --env 标志来设置环境变量。比如&#xff0c;设置 LANG 和 LC_ALL 环境变量为 C.UTF-8 或者 en_US.UTF-8&#xff1a…...

单例模式以及常见的两种实现模式

单例模式是校招中最常考的设计模式之一. 设计模式其实就是类似于“规章制度”&#xff0c;按照这个套路来进行操作。 单例模式能保证某个类在程序中只存在唯一 一份实例。而不会创建出多个实例&#xff0c;如果创建出了多个实例&#xff0c;就会编译报错。而不会创建出多个实…...

Java hashCode() 和 equals()的若干问题解答

Java hashCode() 和 equals()的若干问题解答 本章的内容主要解决下面几个问题&#xff1a; 1 equals() 的作用是什么&#xff1f; 2 equals() 与 的区别是什么&#xff1f; 3 hashCode() 的作用是什么&#xff1f; 4 hashCode() 和 equals() 之间有什么联系&#xff1f; …...

高级IO——React服务器简单实现

3.4Reactor服务器实现 1.connect封装 ​ 每一个连接都要有一个文件描述符和输入输出缓冲区&#xff0c;还有读、写、异常处理的回调方法&#xff1b; ​ 还包括指向服务器的回指指针&#xff1b; class connection; class tcpserver;using func_t std::function<void(s…...

Qt使用插件QPluginLoader 机制开发

简介&#xff1a; 插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。 Qt 提供了2种APIs来创建插件&#xff1a; 一种高级API&#xff0c;用于为Qt本身编写插件&#xff1a;自定义数据库驱动程序&#xff0c;图像格…...

双子座 Gemini1.5和谷歌的本质

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

二百三十、MySQL——MySQL表的索引

1 目的 梳理一下目前MySQL维度表的索引情况&#xff0c;当然网上也有其他博客专门讲MySQL索引的&#xff0c;我这边只是梳理一下目前的索引状况而已 2单列索引 2.1 索引截图 2.2 建表语句 3 联合索引 3.1 索引截图 3.2 建表语句 4 参考的优秀博客 http://t.csdnimg.cn/ZF7…...

并发编程之ThreadLocal使用及原理

ThreadLocal主要是为了解决线程安全性问题的 非线程安全举例 public class ThreadLocalDemo {// 非线程安全的private static final SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");public static Date parse(String strDate) throws ParseExc…...

软件测试 测试开发丨Pytest结合数据驱动-yaml,熬夜整理蚂蚁金服软件测试高级笔试题

编程语言 languages: PHPJavaPython book: Python入门: # 书籍名称 price: 55.5 author: Lily available: True repertory: 20 date: 2018-02-17 Java入门: price: 60 author: Lily available: False repertory: Null date: 2018-05-11 yaml 文件使用 查看 yaml 文件 pych…...

软考数据库---2.SQL语言

主要记忆&#xff1a;表、索引、视图操作语句&#xff1b;数据操作&#xff1b;通配符、转义符&#xff1b;授权&#xff1b;存储过程&#xff1b;触发器 这部分等等整理一下: “”" 1、 数据定义语言。 SQL DDL提供定义关系模式和视图、 删除关系和视图、 修改关系模式的…...

基于顺序表实现通讯录

上篇我们讲了顺序表是什么&#xff0c;和如何实现顺序表。这篇文章我们将基于顺序表来实现通讯录。 文章目录 前言一、基于顺序表是如何实现的二、通讯录的头文件和实现文件三、通讯录的实现3.1 定义通讯录结构3.2 初始化通讯录3.3 销毁通讯录3.4 通讯录添加数据3.5 查找联系人…...

咸鱼之王_手游_开服搭建架设_内购修复无bug运营版

视频演示 咸鱼之王_手游_开服 游戏管理后台界面 源码获取在文章末尾 源码获取在文章末尾 源码获取在文章末尾 或者直接下面 https://githubs.xyz/y28.html 1.安装宝塔 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh &…...

【JSON2WEB】14 基于Amis的CRUD开发30分钟速成

【JSON2WEB】系列目录 【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSO…...

Java入门教程||Java 变量

Java 变量 Java教程 - Java变量 变量由标识符&#xff0c;类型和可选的初始化程序定义。变量还具有范围&#xff08;可见性/生存期&#xff09;。 Java变量类型 在Java中&#xff0c;必须先声明所有变量&#xff0c;然后才能使用它们。变量声明的基本形式如下所示&#xff1…...

基于Java的校园快递一站式服务系统 (源码+文档+包运行)

一.系统概述 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本校园快递一站式服务系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞…...

通讯录的实现(顺序表版本)

我们知道通讯录是基于顺序表的前提下&#xff0c;要写好通讯录我们就要深入了解好顺序表。我们先来看看什么是顺序表。&#xff08;注意今天代码量有点多&#xff0c;坚持一下&#xff09;。冲啊&#xff01;兄弟们&#xff01; 顺序表的简单理解 对于顺序表&#xff0c;我们首…...

做ppt的素材网站/进行seo网站建设

2019独角兽企业重金招聘Python工程师标准>>> mysql出现&#xff1a;Lock wait timeout exceeded; try restarting transaction 什么问题导致的呢&#xff1f;绝对是程序的问题&#xff0c;因为另一个线程锁住了表或者记录导致后来到请求无法完成。 如何产生的&…...

wordpress 自己的html/网站设计与网页制作

1.安装的时候选择的是简单配置&#xff0c;其中不包括字符集&#xff0c;所以安装完成以后修改my.ini配置文件&#xff0c;将client和server端字符集修改为utf8。 注意&#xff1a;修改完成后需要重新启动window服务&#xff0c;此操作可以通过两种方式实现。一是手动&#xff…...

wordpress本地添加图片不显示图片/站内推广有哪些具体方式

本地方法栈 Java虚拟机栈于管理Java方法的调用&#xff0c;而本地方法栈用于管理本地方法的调用。 本地方法栈&#xff0c;也是线程私有的。 允许被实现成固定或者是可动态扩展的内存大小。&#xff08;在内存溢出方面是相同的&#xff09; 如果线程请求分配的栈容量超过本…...

合肥网站建设公司排名/seo点击排名软件营销工具

发现有些同学还不知道如何对齐图片与文本&#xff0c;这里不废话。直接贴出源代码。 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title></title> <style> …...

wordpress自带高亮/百度自媒体怎么注册

泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c;请返回第 n 个泰波那契数 Tn 的值。 class Solution { public:int tribonacci(int n) {//由于n>3的时候才满足Tn3 Tn Tn1 Tn2&#xff0…...

如何做视频网站技术/网店运营推广方案

1.微服务 微服务是一种架构风格&#xff0c;一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署&#xff0c;各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下&#xff0c;每个任务代表着一个小的业务能力…...