模型背景
在MobileViTv3模型出现之前,研究人员已经开始探索如何将卷积神经网络(CNN)和视觉Transformer(ViT)的优势相结合,以提高移动设备上的视觉处理性能。MobileViT v1是这一方向的重要成果,通过巧妙融合局部和全局特征,在多个数据集上取得了竞争性的结果。然而,v1版本在模型扩展时面临挑战,特别是其融合块(fusion block)的设计存在局限性。
这些前期研究为MobileViTv3的改进奠定了基础,推动了更高效、更灵活的移动视觉模型的发展。
核心创新
MobileViTv3模型在融合块和局部表征块等方面进行了显著创新,相比MobileViTv1和v2有了重要改进:
-
改进融合块
-
将3x3卷积层替换为1x1卷积层
-
融合局部和全局表征块特征
-
引入输入特征的残差连接
-
简化学习任务,提高模型扩展性
-
优化局部表征块
-
用depthwise 3x3卷积替换普通3x3卷积
-
显著减少参数数量和计算量
-
保持模型性能,提高计算效率
-
改进效果
-
MobileViTv3-XXS和XS在ImageNet-1K数据集上分别超过MobileViTv1-XXS和XS 2%和1.9%
-
MobileViTv3-0.5和0.75在ImageNet-1K数据集上分别超过MobileViTv2-0.5和0.75 2.1%和1.0%
-
MobileViTv3-1.0在ADE20K数据集和PascalVOC2012数据集上的分割任务中,mIOU分别提升2.07%和1.1%
这些创新不仅提高了模型性能,还增强了模型的可扩展性和计算效率,使MobileViTv3成为移动设备上视觉任务的理想选择。
整体结构
MobileViTv3模型的整体结构是一个精心设计的混合架构,融合了卷积神经网络(CNN)和视觉Transformer(ViT)的优势。这种设计旨在充分利用CNN的局部特征捕捉能力和ViT的全局特征建模能力,从而在移动设备上实现高效的视觉处理。
模型的核心组件包括:
-
卷积层 :用于提取局部特征
-
MobileViT块 :融合局部和全局特征
-
可分离自注意力层 :提高计算效率
卷积层
MobileViTv3模型的初始部分采用了一系列的卷积层,用于对输入图像进行预处理和特征提取。这些卷积层主要包括:
-
3x3卷积层 :用于捕捉局部特征
-
1x1卷积层 :用于调整通道数和减少参数数量
MobileViT块
MobileViT块是模型的核心组件,负责融合局部和全局特征。它由以下几个主要部分组成:
-
局部表征 :通过3x3卷积层和1x1卷积层提取局部特征
-
全局表征 :通过Transformer层进行全局特征建模
-
融合 :将局部和全局特征进行融合
在全局表征部分,MobileViTv3采用了一种改进的Transformer结构,称为 可分离自注意力层 。这种结构通过使用元素操作来计算自注意力,显著降低了计算复杂度,特别适合资源受限的移动设备。
模型结构
MobileViTv3的整体结构可以概括为:
输入 -> 卷积层 -> MobileViT块 -> 全局池化层 -> 全连接层 -> 输出
其中,MobileViT块可以根据具体任务和需求进行多次堆叠,以增加模型的深度和表达能力。
这种混合结构的设计使得MobileViTv3能够在保持高效计算的同时,充分利用CNN和ViT的优势,从而在移动设备上实现高性能的视觉处理。
改进融合块
在MobileViTv3模型的设计中,融合块的改进是一个关键的创新点。这种改进不仅简化了模型的学习任务,还提高了模型的可扩展性。具体而言,MobileViTv3在融合块方面进行了以下几个方面的优化:
-
简化融合任务 :将3x3卷积层替换为1x1卷积层。这种设计使得融合块能够独立地处理局部和全局特征,而不依赖于特征图中的其他位置。这一改变显著简化了融合块的学习任务,提高了模型的效率。
-
优化特征融合方式 :采用新的特征融合策略,将局部表征块和全局表征块的特征串联起来,而不是传统的输入和全局表征特征融合。这种设计更符合MobileViTv3的架构特点,因为局部表征特征与全局表征特征的关系更为密切。
-
引入残差连接 :在融合块中添加输入特征作为最后一步。这种设计类似于ResNet和DenseNet等模型中的残差连接ÿ