【网络结构】——FastViT论文浅读

论文:https://arxiv.org/pdf/2303.14189.pdf
关键词:fastvit, cnn, transformer, 重参数化,大卷积核
来自:苹果

文章目录

    • 摘要
    • 1. 简介
    • 2. 网络结构
      • 2.1 RepMixer
      • 2.2 重参数化
      • 2.3 大卷积核
    • 3. 实验
    • 4. 早点开源呀。。。

摘要

最近transformer和卷积设计的融合,这导致了模型准确性和效率的稳步提高。在这项工作中,我们介绍了FastViT,一种混合视觉变压器架构,它获得了最先进的延迟-准确性折衷。为此,我们引入了一种新颖的令牌混合算子RepMixer,它是FastViT的一个构建块,使用结构重参数化来降低内存访问成本,通过删除网络中的跳过连接。我们进一步应用训练时过参数化和大核卷积来提高准确性,并经验证明这些选择对延迟的影响最小。我们展示了我们的模型比CMT快3.5倍,比EfficientNet快4.9倍,在移动设备上比ConvNeXt快1.9倍,具有相同的ImageNet数据集准确性。在相似的延迟下,我们的模型在ImageNet上获得比MobileOne高4.2%的Top-1准确性

1. 简介

在ipone12 pro和 2080ti上的速度和精度比较。
【网络结构】——FastViT论文浅读_第1张图片

用RepMixer 解决了skip connect的内存cost, 其采用分组卷积来实现

使用线性训练时过参数化来提高准确性。线性训练时过参数化是一种技术,它在训练期间引入额外的分支,以增加模型的容量。这些额外的分支仅在训练期间引入,并在推理时重新参数化。这种方法可以提高模型的准确性,同时对延迟的影响很小。为了进一步提高延迟、FLOPs和参数数量,我们用它们的因式分解版本替换了所有密集的k×k卷积,即深度卷积后跟点卷积。这是一种常用的方法,被高效架构[24, 25, 46]用来提高效率指标,但是,直接使用这种方法会损害性能,如表1所示。为了增加这些层的容量,我们使用线性训练时过参数化,如[10-12,17,55]中所介绍的。这些额外的分支仅在训练期间引入,并在推理时重新参数化。

在FFN中使用了更大的卷积核,摒弃了self attention。

2. 网络结构

2.1 RepMixer

【网络结构】——FastViT论文浅读_第2张图片
【网络结构】——FastViT论文浅读_第3张图片
不知道这里的norm,还是layernorm吗???
【网络结构】——FastViT论文浅读_第4张图片
RepMixer 比 pooling 少了一个跳连,所以更快

2.2 重参数化

  1. KxK的卷积用深度可分离卷积替换。再采用MobileOne 的重参策略。同时只是对STEM, patch embedding, project layer 部分进行训练重参。
    【网络结构】——FastViT论文浅读_第5张图片

2.3 大卷积核

在FFN中使用大卷积核
【网络结构】——FastViT论文浅读_第6张图片

深度大内核卷积可以与使用自注意力层的变体高度竞争,同时只会适度增加延迟。当我们比较V5和V3时,模型大小增加了11.2%,延迟增加了2.3倍,而Top-1准确率仅增加了0.4%。V2比V4大20%,延迟比V4高7.1%,同时在ImageNet上获得类似的Top-1准确率。在补充材料中提供了关于内核大小和延迟的进一步消融。在表1中,我们对FFN和补丁嵌入层中的大内核卷积进行了消融。总体而言,大内核卷积在FastViT-S12上提供了0.9%的Top-1准确率提高。

patch emb
【网络结构】——FastViT论文浅读_第7张图片
ConvFFN
【网络结构】——FastViT论文浅读_第8张图片
7x7的卷积核确实有点大,如果用5x5的不知道有多大的损失
【网络结构】——FastViT论文浅读_第9张图片
5x5也是可以接受的

3. 实验

比poolformer快,应该是少了跳连
和resnet50的 flops比较:29/46 ~ 5.6/8.7
【网络结构】——FastViT论文浅读_第10张图片

4. 早点开源呀。。。

你可能感兴趣的:(嵌入式AI,深度学习,人工智能,计算机视觉)