PiT : 基于池化层Pooling layer的Vision Transformer

        CNN的降维原理;随着深度的增加,传统CNN的通道维数增加,空间维数减少。经验表明,这样的空间降维对变压器结构也是有益的,并在原有的ViT模型的基础上提出了一种新的基于池的视觉变压器(PiT)。


1. 引言

        ViT与卷积神经网络(CNN)有很大的不同。将输入图像分成16×16小块馈送到变压器网络;除了第一嵌入层外,ViT中没有卷积操作,位置交互仅通过自关注层进行。CNN具有有限的空间交互,而ViT允许图像中的所有位置通过变压器层进行交互。虽然ViT是一种创新的架构,并且已经证明了其强大的图像识别能力,但它遵循了NLP中的变压器架构,没有任何变化。

        CNN从空间尺寸大、通道尺寸小的特征开始,逐渐增大通道尺寸,减小空间尺寸。由于称为空间池的层,这种维度转换是必不可少的。现代CNN架构,包括AlexNet、ResNet和EfficientNet,都遵循这一设计原则。池化层与每一层的感受野大小密切相关。研究表明,池化层有助于提高网络的表达性和泛化性能。然而,与CNN不同的是,ViT不使用池化层,并且对所有层使用相同的空间维度。

1.1 基于池化的Vision Transformer

        PiT是一种变压器架构,结合了新设计的池化层。它允许在ViT结构中像ResNet中那样减小空间大小。最后,利用熵和平均距离度量分析变压器块的注意矩阵,分析PiT与ViT相比的效果。通过分析,揭示了ViT和PiT各层次的注意模式,有助于理解ViT和PiT的内在机制。 

2. 相关工作

2.1 CNN的维度配置

        维度转换可以在AlexNet中找到,它是计算机视觉中最早的卷积网络之一。AlexNet使用三个最大池化层。在最大池化层中,特征的空间大小减少了一半,通道大小通过最大池化后的卷积增加。VGGnet 使用5个max-pooling使用5个空间分辨率。在池化层中,空间大小减少一半,通道大小增加一倍。

        GoogLeNet也使用了池化层。ResNet使用stride - 2的卷积层代替max pooling进行空间大小缩减。它是对空间约简方法的改进。stride-2的卷积层在最近的架构中也被用作池化方法(EfficietNet , MobileNet)。PyramidNet指出通道增加只发生在池化层,为了解决这一点,提出了在池化层以外的层中逐渐增加通道大小的方法。ReXNet报道,网络的通道配置对网络性能有显著影响。总之,大多数卷积网络使用具有空间约简的维配置。 

2.2 Self-attention 机制

        Transformer架构通过自注意力机制显著提高了NLP任务的性能。而Funnel Transformer则通过池化层和跳跃连接(skip connection)来减少标记(tokens),从而改进了Transformer架构。

        Non-local(非局部)网络在CNN骨干网络中增加了几个自注意力层,并表明自注意力机制可以在CNN中使用。[28]将ResNet的3x3卷积替换为局部自注意力层。[36]在每个空间轴上使用了注意力层。[2]通过减少注意力机制的计算量,实现了整个空间图的自注意力。这些方法大多是将3x3卷积替换为自注意力或添加几个自注意力层。因此,它们继承了ResNet的基本结构,即具有步长为2的卷积,从而得到了具有ResNet维度配置的网络。

        只有视觉Transformer(Vision Transformer,ViT)在所有层中都使用相同的空间大小的结构。尽管ViT没有遵循ResNet的惯例,但它在网络架构中包含了许多有价值的新组件。在ViT中,每个空间标记(token)都应用了层归一化(layer normalization)。因此,ViT的层归一化更接近位置归一化[22],而不是卷积神经网络的层归一化[1, 39]。尽管它与lambda网络[2]有重叠,但在网络的所有块中都使用全局注意力并不常见。使用类别标记(class token)而不是全局平均池化(global average pooling)也是一个新特性。

3. 重新审视空间维度

3.1 CNN的维度设置

        如图(a)所示,大多数卷积网络架构在减少空间维度(spatial dimension)的同时增加通道维度(channel dimension)。例如,在ResNet50中,一个起始层(stem layer)首先将图像的空间尺寸减少到56×56。然后,通过多个层块(layer blocks),使用步长(stride)为 2 的卷积层来将空间维度减半,并将通道维度加倍。

使用步长为2的卷积层进行空间尺寸减少的方法在最近的架构中非常常见。

        为了分析在卷积架构中是否存在空间减少层对性能的影响,研究者们进行了一项实验。他们选择了在ImageNet上广泛使用的ResNet50作为实验的网络架构,并在没有复杂训练技巧的情况下进行了100个周期的训练。

  • ResNet风格:直接使用ResNet50的原始架构作为基准。
  • ViT风格维度:为了模拟ViT(视觉Transformer)的维度变化,研究者们使用了ViT的起始层来将特征的空间维度减少到14×14,同时在起始层中减少空间信息的损失。此外,他们还移除了ResNet中的空间减少层,以保持所有层的初始特征维度与ViT一致。

        研究者们通过改变ResNet的通道大小来测量不同尺寸的网络性能。这样他们可以比较在保持空间维度不变(ViT风格)和采用传统的空间维度减少方法(ResNet风格)时,网络性能的差异。


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

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

相关文章

LabVIEW软件开发的雷区在哪里?

在LabVIEW软件开发中,有几个需要注意的雷区,以避免常见的错误和提高开发效率: 1. 不良的代码结构 雷区:混乱的代码结构和不清晰的程序逻辑。 后果:导致难以维护和调试的代码,增加了错误和故障的风险。 …

Web3时代的教育技术革新:智能合约在学习管理中的应用

随着区块链技术的发展和普及,Web3时代正在为教育技术带来前所未有的革新和机遇。智能合约作为区块链技术的核心应用之一,不仅在金融和供应链管理等领域展示了其巨大的潜力,也在教育领域中逐渐探索和应用。本文将探讨智能合约在学习管理中的具…

【C++】前缀和:和为K的子数组

1.题目 2.算法 需要借助哈希表(查找效率很高)。 如果一个区间和为sum,如果它的前缀和为sum-k,那么后缀和一定是K。 3.代码

类与对象(3)

对于类的构造函数我们已经有了初步的了解,这里我们对其拷贝构造函数进行讲解: 目录 拷贝构造函数: 1.拷贝构造函数的作用: 2.系统生成拷贝构造函数的缺陷 3.深拷贝的实现 侧面体现 拷贝构造函数: 这里我们将拷贝…

小程序-模板与配置

一、WXML模板语法 1.数据绑定 2.事件绑定 什么是事件 小程序中常用的事件 事件对象的属性列表 target和currentTarget的区别 bindtap的语法格式 在事件处理函数中为data中的数据赋值 3.事件传参与数据同步 事件传参 (以下为错误示例) 以上两者的…

Java语言程序设计基础篇_编程练习题**14.29(游戏:豆机)

第十四章第二十九题 **14.29 (游戏:豆机) 请写一个程序,显示编程练习题 7.21 中介绍的豆机,如图 14-52c 所示 代码展示 package chapter_14;import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layou…

NFS存储、API资源对象StorageClass、Ceph存储-搭建ceph集群和Ceph存储-在k8s里使用ceph(2024-07-16)

一、NFS存储 注意:在做本章节示例时,需要拿单独一台机器来部署NFS,具体步骤略。NFS作为常用的网络文件系统,在多机之间共享文件的场景下用途广泛,毕竟NFS配置方 便,而且稳定可靠。NFS同样也有一些缺点&…

Postgresql主键自增的方法

Postgresql主键自增的方法 一.方法(一) 使用 serial PRIMARY KEY 插入数据 二.方法(二) 🎈边走、边悟🎈迟早会好 一.方法(一) 使用 serial PRIMARY KEY 建表语句如下&#xf…

住宅IP解析:动态住宅IP和静态住宅IP区别详解

在互联网连接的世界中,IP地址是我们识别和访问网络资源的关键。住宅IP地址,特别是动态住宅IP和静态住宅IP,是两种不同类型的IP分配方式,它们在使用和功能上存在显著差异。 1. IP地址的稳定性 动态住宅IP:这种IP地址是…

mysql命令练习

创建数据表grade: CREATE TABLE grade( id INT NOT NULL, sex CHAR(1), firstname VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, english FLOAT, math FLOAT, chinese FLOAT ); 向数据表grade中插…

[职场] MARKETINGSPECIALIST是什么 #笔记#微信#知识分享

MARKETINGSPECIALIST是什么 MARKETINGSPECIALIST,即市场营销专员,他们需要具备一定的专业知识和技能,以适应快速变化的市场环境。接下来,我们将详细探讨这个职位的工作内容、必备技能以及发展前景。 一、MARKETINGSPECIALIST是什么…

lua 游戏架构 之 LoaderWallet 异步加载

定义了一个名为LoaderWallet class,用于管理资源加载器(Loader)。这个类封装了资源加载的功能,包括异步加载,以及资源的释放和状态查询。下面是对代码的详细解释: ### 类定义和初始化 这里定义了一个名为…

WebPack5.0 快速入门

前端工程化WebPack5️⃣ 前置知识: 此文章属于前端——框架进阶篇,需要实现掌握:HTMLCSSJS三件套、Node... 😀推荐分享一波个人Blog文档: JavaScript、前端工程\模块化、邂逅Node.JS的那一夜 什么是WebPack❓ Web…

QT CNA上位机报错 解决方案

QT编译报错: -lControlCAN 解决方案 更换三个文件,即可解决(QT 自带的是32位库,应使用64位库文件)

Kafka Producer之数据重复和乱序问题

文章目录 1. 数据重复2. 数据乱序 为了可靠性,Kafka有消息重试机制,但是同时也带来了2大问题 1. 数据重复 消息发送到broker后,broker记录消息数据到log中,但是由于网络问题,producer没有收到acks,于是再次…

【机器学习实战】Datawhale夏令营2:深度学习回顾

#DataWhale夏令营 #ai夏令营 文章目录 1. 深度学习的定义1.1 深度学习&图神经网络1.2 机器学习和深度学习的关系 2. 深度学习的训练流程2.1 数学基础2.1.1 梯度下降法基本原理数学表达步骤学习率 α梯度下降的变体 2.1.2 神经网络与矩阵网络结构表示前向传播激活函数…

Three.js 实战【2】—— 船模型海上场景渲染

停止了好久没有更新three这方面的文章了,从上两年还是vue2,一下子都换到vue3了,下面这些three都是基于vue3来进行开发的哈,先看一下这篇文章实现的效果哈。其中关于模型什么的资源都放在Git上了 初始化场景 安装three就直接通过n…

springboot系列十: 自定义转换器,处理JSON,内容协商

文章目录 自定义转换器基本介绍应用实例查看源码注意事项和细节 处理JSON需求说明应用实例 内容协商基本介绍应用实例debug源码优先返回xml注意事项和细节 ⬅️ 上一篇: springboot系列九: 接收参数相关注解 🎉 欢迎来到 springboot系列十: 自定义转换器&#xff0c…

ssh远程登录另一台linux电脑

大部分的博客内容所说的安装好ssh服务后,terminal输入 ssh -p port_number clientnameserver_ip 之后输入密码等等就可以登上别人的电脑 但是这是有一个前提的,就是这两台电脑要在同一个局域网下面。 如果很远呢? 远到不在同一个网下面怎么办…

1.JavaWeb开发简介(Tomcat安装使用+Servlet简介)

文章目录 一.web开发简介1.概念:2.特点:3.常用技术:4.服务架构5.web应用开发模式6.HTTP协议1)概念:2)HTTP最基本的过程是:3)IP/域名4)HTTP协议请求方式 7.JavaWeb的相关技术8.Java Web服务器 二、安装配置Tomcat1.简介2.Tomcat目录结构 三.Servlet的入门应用1.使用步骤2.使用注…