MoCoViT: Mobile Convolutional Vision Transformer

MoCoViT: Mobile Convolutional Vision Transformer

本文提出了MoCoViT,一个可以用于移动设备的轻量级的VIT结构。在ImageNet分类任务上,和其他轻量级网络的对比如下:
在这里插入图片描述

本文主要以GhostNet为基础,加入了改进版的transformer block。针对transformer block的改进主要分为两个方面:

  • Mobile Self-Attention (MoSA)
  • Mobile Feed Forward Network (MoFFN)

该图左边是普通的transformer block,右边是改进版本的transformer block,可以看到除了残差结构保留之外,其他的都替换为了改进版本。
在这里插入图片描述

MoSA

MoSA的结构示意图如下:
在这里插入图片描述

MoSA的改进主要分为两个部分:

  • 简化vqk的计算,vqk参数共享
    在这里插入图片描述
  • 在自注意力结果后又加入了一个depthwise卷积模块
    在这里插入图片描述

文中按照不同的输入大小,和原始自注意力的FLOPS做了对比。
在这里插入图片描述

MoFFN

MoFFN的结构示意图如下:
在这里插入图片描述

改进点在于去掉LN层,用两个Ghost module和SE代替MLP层;相比于使用全连接层,除了减小计算量之外,这种卷积结构更好地利用了空间上的信息。

文中按照不同的输入大小,和原始LN+MLP的FLOPS做了对比。
在这里插入图片描述

整体模型结构

下图左侧是普通VIT结构,右侧是本模型提出的结构。前面几个block本模型依然采用Ghost bottleneck卷积结构组成,最后一个block采用上文介绍的MTB结构(MoSA+MoFFN)组成。
在这里插入图片描述

实验

在分类任务上的实验

在ImageNet-1K上进行了分类任务的实验,主要和(1)常用的轻量cnn模型(如ShuffleNet,MobileNet)(2)轻量transformer网络进行了对比;从这个表格中可以看出,该模型在效果和FLOPs的平衡上,做的还是不错的。
其中 MoCoViT-D是在原模型基础上的改进版本,将原本的ReLU替换成了dynamic ReLU。
在这里插入图片描述

在检测和分割任务上的实验

模型在COCO2017上对检测和分割任务进行了验证,在RetinaNet,Mask R-CNN上替换了不同的轻量级模型结构,进行了对比实验。在这两个实验中,MoCoViT的FLOPs比其他模型略高一些,效果上的提升比较明显。
在这里插入图片描述
在这里插入图片描述

消融实验
对MTB在模型中位置的实验

这个实验分别尝试了MTB位于模型中不同位置时,模型的效果。如果放在stage1,模型的显存占用比较大,会导致batch size减小,因此该实验中的batch size不一致。
在这里插入图片描述

对 MoSA和MoFFN的效果分析

MoSA和MoFFN是本文重点提出的结构,为了验证该结构的效果,对GhostNet和添加了MoSA、MoFFN、Vanilla SA、Vanilla MLP的GhostNet进行了消融实验。
在这里插入图片描述
从这张表中显示,采用原始的自注意力和MLP层的效果,还不如本文改进版本的效果。对此作者没有多做分析。

评价

本文提出了一个轻量级vit模型结构,该结构在GhostNet的基础上,在最后一个stage加入了一个改进版的transformer block。根据对比实验来看,该模型在轻量级模型结构(例如mobilenet,shufflenet等)中,在FLOPs和模型效果上达到了一个比较好的平衡,同等FLOPs下,该模型效果更有优势。
论文对实验的效果和思路没有做过多的分析,有些结果让人觉得信服度不高。模型的效果和速度如何,需要在实践中去做更多的验证。

讨论

  1. 加入depthwise的考量是?是否有实验对比?
  • 论文把vqk的参数做了共享,加depthwise应该是为了补充更多的信息。针对这部分论文没有做专门的消融实验。
  1. 既然新增的改进模块有效,为什么只替换了最后一层?
  • 主要还是对耗时的考虑,如果在前面的层也加上改进模块,自注意力的计算耗时会比较大。
  1. Self-attention中,QKV使用相同的weights,计算量减为1/3,但精度会下降多少?文章有没有分析这样做的利弊?
  • 论文里做了个消融实验,在使用MoFFN的情况下,采用原生的自注意力结构,反而效果没有本文提出的MoSA结构(共享参数qvk+dw conv)效果好。但是没有对比使用Vanilla MLP的情况下,Vanilla SA和MoSA的效果差异。
    MoFFN采用了Ghost卷积结构,在特征提取上应该是起到很大作用的。如果是使用Vanilla MLP,MoSA的效果可能就不如原生自注意力结构了,但作者没放实验结果。
    文章在MoSA上采用这样的设计,主要是考虑到压缩模型大小和计算量。文章没有对比MoSA中depthwise层所起到的作用有多大。感觉实验不是很充分。
  1. 相比于其他轻量模型,为什么这个效果比较好?
  • 这个结构首先是基于GhostNet做的改进,根据GhostNet论文里面的结果,GhostNet相比于其他的cnn轻量化模型(shufflenet,mobilenet等)在FLOPs和效果上更有优势。
    这篇论文把GhostNet的最后一个block里面的Ghost Module替换成了改进版本的transformer结构。这个改进版结构,是在原本的Ghost Module前面,加了Mobile Self-Attention层。相当于把原本的GhostNet的特征抽取方法变得更复杂了,论文里面认为Mobile Self-Attention能够学习到全局的关联信息。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值