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

ViT学习笔记(三) RepViT和TransNext简介

        标准ViT的其他模块的功能以及源码解读,在CSDN上有很多优秀文章,参考文章将代码大致过一遍。像我这种只做工程不写论文的,个人认为大致明白就好,用不着特别细究。下面跟踪两个ViT比较新的变种继续深入学习一下:RepViT和TransNext,这两个都是轻量级架构。

RepViT:

        论文地址:https://arxiv.org/abs/2307.09283

        代码链接:GitCode - 全球开发者的开源社区,开源代码托管平台

        RepViT(Revisiting Mobile CNN From ViT Perspective)是一种新的轻量级卷积神经网络(CNN)架构,它通过结合轻量级视觉变换器(ViTs)的高效架构设计,增强了标准轻量级CNN(如MobileNetV3)的移动友好性。RepViT在各种视觉任务中展现出比现有的轻量级ViT更高的性能,并且在延迟方面也具有优势。

以下是RepViT的一些关键特点和细节:

创新点:

        1、 RepViT架构:RepViT将轻量级ViT的高效架构设计整合到标准轻量级CNN中,形成了新的轻量级纯CNN系列模型。

        2、宏观和微观设计优化:对网络的宏观架构(如stem、下采样层、分类器和整体阶段比例)和微观架构(如内核大小选择和SE层放置)进行了优化,以适应移动设备的需求。

        3、 结构重参数化(SR):在RepViT block中采用了结构重参数化技术,以提高模型在训练期间的学习效率,并在推理期间减少计算和内存成本。

        4、 跨块SE层放置:采用跨块方式放置挤压-激励(SE)层,以最大化准确性收益,同时最小化延迟增加。

        5、性能与延迟的权衡:RepViT在各种视觉任务中展现出比现有的轻量级ViT更高的性能,并且在延迟方面也具有优势。特别是在ImageNet数据集上,RepViT在iPhone 12上的延迟仅为1.0毫秒,准确率达到80%以上,这在轻量级模型中尚属首次。

方法介绍:

RepViT通过以下几个方面对MobileNetV3网络进行改进:

        1、分离Token混合器和通道混合器:使用深度可分离卷积(DW卷积)来分离空间和通道混合。

        2、减小扩展比并增加宽度:调整网络的宽度和扩展比,以提高性能。

        3、 起始卷积:使用3x3卷积作为网络的起始层。

        4、更深的下采样层:增加下采样层的深度,以提取更丰富的特征。

        5、分类器设计:优化分类器的设计,以提高最终的分类性能。

        6、整体比例:调整网络的整体比例,以达到更好的性能和延迟平衡。

        7、 卷积核大小选择:选择合适的卷积核大小,以适应不同的视觉任务。

        8、 SE层的放置:在网络中合理放置SE层,以提高性能。

实验结果:

        RepViT设计了五种不同大小的模型,即RepViT-M0.9/M1.0/M1.1/M1.5/M2.3,其中后缀-MX表示在移动设备如iPhone12上的延迟。在ImageNet上的结果表明,RepViT在不同的模型尺寸下都取得了SOTA(State of the Art)的结果。

应用案例和最佳实践:

        RepViT不仅在图像分类任务中表现出色,还在目标检测和实例分割等下游任务中展示了优越的性能。例如,RepViT可以与目标检测框架(如MMCV)和实例分割框架(如MSegmentation)结合使用,进一步提升模型性能。

典型生态项目:

        RepViT模型已经集成到TIMM(PyTorch Image Models)中,方便用户直接调用。此外,RepViT还可以与MMCV和MMSegmentation等计算机视觉库结合使用,以支持多种视觉任务。

        RepViT为移动设备上的高效实时视觉模型提供了一个新的基准,并激发了对轻量级模型的进一步研究。

TransNeXt:

        论文地址:https://arxiv.org/abs/2311.17132

        代码地址: GitCode - 全球开发者的开源社区,开源代码托管平台

        TransNeXt是在2023年11月28日提出的一种基于Transformer架构的视觉模型,主要用于图像分类和相似的视觉任务。

        它通过将图像特征两种形式的编码来模拟生物视觉注视的效果:

        • 通过滑动窗的形式生成的局部注意力

        • 通过激活和池化得到的全局注意力

        其中滑动窗的设计不是通过卷积来聚合滑动窗内的信息,而是通过unfold将滑动窗内的信息重新排列。unfold的概念:深度学习的unfold操作-CSDN博客

        以下是TransNeXt的一些详细介绍:

核心特点和创新点:

1、聚合注意力(Aggregated Attention):

        • 聚合注意力通过结合两种非QKV(Query-Key-Value)注意力机制,进一步增强了模型的信息聚合能力。采用双路径设计,一条路径让每个查询(Query)对其最近邻特征有细粒度的注意力,另一条路径则让每个查询对空间下采样特征有粗粒度的注意力,从而允许进行全局感知 。并且,通过在相同的 softmax 中计算两条路径的查询 - 键(Query-Key)相似性结果的重要性,使细粒度和粗粒度特征之间产生竞争,将像素聚焦的注意力转变为多尺度注意力机制。

2、卷积GLU(Convolutional GLU):

        • 这是一种通道混合器,弥补了GLU和SE(Squeeze-and-Excitation)机制之间的差距,使每个令牌都具有基于最近邻图像特征的通道注意力。

        • 卷积GLU增强了局部建模能力和模型的鲁棒性。

3、 跨通道信息融合:

        • 通过多头自注意力机制跨越特征图的各个通道,实现信息的有效融合。

4、多尺度特征提取:

        • 通过层次结构提取不同尺度的特征,适应各种目标大小的检测任务。

5、 轻量化设计:

        • 相比传统Transformer,TransNeXt使用了轻量化模块,使得在嵌入YOLOv8时对性能影响较小。

应用场景:

TransNeXt在多种视觉任务中表现出色,包括图像分类、目标检测和语义分割。

        TransNeXt通过其创新的聚合注意力和卷积GLU,有效地解决了Vision Transformers模型中深度退化效应导致的信息交换不足问题,实现了自然的视觉感知,并在多个视觉任务中展现出卓越的性能。

后续将继续这两种模型的学习。


http://www.kler.cn/a/430671.html

相关文章:

  • 事件抽取tr、ti、ar 和 ai的意思(触发词、事件类型、事件参数、参数的类型)
  • 从数据仓库到数据中台再到数据飞轮:电信行业的数据技术进化史
  • 教培行业数字化未来:一站​式开发在线教育系统源码与网校APP详解
  • Mysql InnoDB存储引擎中聚簇索引和非聚簇索引的区别
  • 保护模式基本概念
  • pytest自动化测试数据驱动yaml/excel/csv/json
  • 【定时任务】定时任务技术实现原理和选型分析
  • 分析比对vuex和store模式
  • vue-生命周期
  • 力扣 螺旋矩阵-54
  • vscode 配置C/C++环境控制台参数
  • 【FLASH、SRAM和DRAM、CISC和RISC、冯诺依曼和哈佛】单片机内存结构的了解
  • 网页核心页面设计(第5章)
  • 给我的小程序加了个丝滑的搜索功能,踩坑表情包长度问题
  • Win11家庭版安装Docker,解决engine stopped问题
  • 初始数据结构
  • 电脑文件夹打不开了,能打开但是会闪退,提示“找不到iUtils.dll”是什么原因?
  • 电脑运行时提示“0x80240037”错误,提示安装ie插件或其他微软程序时,报错提示“未指定的错误”是什么原因?以及要怎么解决和预防?
  • AUTOSAR AP和CP的安全要求规范(Safety Req)详细解读
  • SQL注入--堆叠注入
  • [漏洞挖掘与防护] 05.CVE-2018-12613:phpMyAdmin 4.8.1后台文件包含缺陷复现及防御措施
  • 【Java EE】Spring请求如何传递参数详解
  • Mac电脑钓鱼到拿下核心权限
  • GC常见垃圾回收算法,JVM分代模型
  • 鸿蒙手机文件目录
  • k8s配置Pod 优先级