【AI系统】Transformer 模型小型化

Transformer 模型小型化

自 Vision Transformer 出现之后,人们发现 Transformer 也可以应用在计算机视觉领域,并且效果还是非常不错的。但是基于 Transformer 的网络模型通常具有数十亿或数百亿个参数,这使得它们的模型文件非常大,不仅占用大量存储空间,而且在训练和部署过程中也需要更多的计算资源。所以在本文中会介绍关于 Transformer 一些轻量化工作。

MobileVit 系列

MobileVit V1

MobileVit V1 :MobileViT 是一种基于 ViT(Vision Transformer)架构的轻量级视觉模型,旨在适用于移动设备和嵌入式系统。ViT 是一种非常成功的神经网络模型,用于图像分类和其他计算机视觉任务,但通常需要大量的计算资源和参数。MobileViT 的目标是在保持高性能的同时,减少模型的大小和计算需求,以便在移动设备上运行,据作者介绍,这是第一次基于轻量级 CNN 网络性能的轻量级 ViT 工作,性能 SOTA。性能优于 MobileNetV3、CrossviT 等网络。

Mobile ViT 块

标准卷积涉及三个操作:展开+局部处理+折叠,利用 Transformer 将卷积中的局部建模替换为全局建模,这使得 MobileViT 具有 CNN 和 ViT 的性质。MobileViT Block 如下图所示:

在这里插入图片描述

从上面的模型可以看出,首先将特征图通过一个卷积层,卷积核大小为 n × n n\times n n×n,然后再通过一个卷积核大小为 1 × 1 1\times 1 1×1 的卷积层进行通道调整,接着依次通过 Unfold、Transformer、Fold 结构进行全局特征建模,然后再通过一个卷积核大小为 1 × 1 1\times 1 1×1 的卷积层将通道调整为原始大小,接着通过 shortcut 捷径分支与原始输入特征图按通道 concat 拼接,最后再通过一个卷积核大小为 n × n n\times n n×n 的卷积层进行特征融合得到最终的输出。

多尺度采样训练

给定一系列排序的空间分辨率 S = ( H 1 , W 1 ) , ⋅ ⋅ ⋅ , ( H n , W n ) S = {(H_{1}, W_{1}), ··· , (H_{n}, W_{n})} S=(H1,W1),⋅⋅⋅,(Hn,Wn),最大空间分辨率有最小的 batch,加快优化更新;在每个 GPU 第 t 次迭代中随机抽样一个空间分辨率,然后计算迭代大小;相较于以前多尺度采样,这次它不需要自己每隔几个 iteration 微调得到新的空间分辨率,并且改变 batch 提高了训练速度;使用多 GPU 进行训练(我猜不同空间分辨率在不同的 GPU 上运行)这个可以提高网络的泛化能力,减少训练和验证之间差距;并且适用于其他网络训练。

在这里插入图片描述

MobileFormer 系列

MobileFormer

MobileFormer:一种通过双线桥将 MobileNet 和 Transformer 并行的结构。这种方式融合了 MobileNet 局部性表达能力和 Transformer 全局表达能力的优点,这个桥能将局部性和全局性双向融合。和现有 Transformer 不同,Mobile-Former 使用很少的 tokens(例如 6 个或者更少)随机初始化学习全局先验,计算量更小。

并行结构

Mobile-Former 将 MobileNet 和 Transformer 并行化,并通过双向交叉注意力连接(下见图)。Mobile(指 MobileNet)采用图像作为输入( X ∈ R H W × 3 X\in R^{HW \times 3} XRHW×3),并应用反向瓶颈块提取局部特征。Former(指 Transformers)将可学习的参数(或 tokens)作为输入,表示为 Z ∈ R M × d Z\in R^{M\times d} ZRM×d,其中 M 和 d 分别是 tokens 的数量和维度,这些 tokens 随机初始化。与视觉 Transformer(ViT)不同,其中 tokens 将局部图像 patch 线性化,Former 的 tokens 明显较少(M≤6),每个代表图像的全局先验知识。这使得计算成本大大降低。

在这里插入图片描述

低成本双线桥

Mobile 和 Former 通过双线桥将局部和全局特征双向融合。这两个方向分别表示为 Mobile→Former 和 Mobile←Former。我们提出了一种轻量级的交叉注意力模型,其中映射( W Q W^{Q} WQ, W K W^{K} WK, W V W^{V} WV)从 Mobile 中移除,以节省计算,但在 Former 中保留。在通道数较少的 Mobile 瓶颈处计算交叉注意力。具体而言,从局部特征图 X 到全局 tokens Z 的轻量级交叉注意力计算如下:

A X − > Z = [ A t t n ( z i ~ W i Q , x i ~ , x i ~ ) ] i = 1 : h W o (1) A_{X->Z} = [Attn(\widetilde{z_{i}}W_{i}^{Q},\widetilde{x_{i}},\widetilde{x_{i}})]_{i=1:h}W^{o}\tag{1} AX>Z=[Attn(zi WiQ,xi ,xi )]i=1:hWo(1)

其中局部特征 X 和全局 tokens Z 被拆分进入 h 个头,即 X = [ x 1 ~ . . . x h ~ ] , Z = [ z 1 ~ . . . z h ~ ] X=[\widetilde{x_{1}}...\widetilde{x_{h}}],Z=[\widetilde{z_{1}}...\widetilde{z_{h}}] X=[x1 ...xh​</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值