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模型中深度退化效应导致的信息交换不足问题,实现了自然的视觉感知,并在多个视觉任务中展现出卓越的性能。
后续将继续这两种模型的学习。
原文地址:https://blog.csdn.net/xulibo5828/article/details/144328599
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!