卷积的尽头不是Transformer,极简架构潜力无限

卷积的尽头不是Transformer,极简架构潜力无限

—— VanillaNet: the Power of Minimalism

6层的VanillaNet可以超过ResNet-34,13层的VanillaNet在ImageNet达到83%的top1精度,超过几百层网络的性能,并展现了非凡的硬件效率优势。顺道一提,VanillaNet的中文名字为朴素网络

论文见:https://arxiv.org/abs/2305.12972。

2fdb30698b5847d9080e2548027de73d.png

* 6层的VanillaNet结构图,没有Shortcut

致敬LeNet、AlexNet和VGGNet


在过去几年时间,一直都在找关于神经网络架构创新的灵感。在视觉Backbone这个方向上,端侧我们有了GhostNet这种轻量的模型架构和系列算法。

但是面对现在大算力,还没有什么特别好的思路,虽然在Vision Transformer的路上跟着大家也一起做了一点工作,但一直想利用最简单的卷积网络,尝试做出更强的效率和性能,在实际应用中也可以有更大的价值。

从2015年底到现在,基于shortcut的ResNet系列,仍然是神经网络架构设计的主流思路,在一定程度上解决了梯度消失问题之后,大家发现越深越复杂的网络效果越好,所以有了很多很多优秀的工作,直到2020年的ViT。

虽然Transformer高阶的计算方式和参数量带来了更好的性能,但它的复杂度和硬件亲和程度也一直让做产品的朋友们叫苦不迭。

为此,我跟汉亭、建元还有陶老师一起,设计了一种极简的神经网络模型VanillaNet,期望用最简单的,类似LeNet和AlexNet这样的结构,达到甚至超越现在Vision Transformer的精度,成为新一代的视觉骨干网络。

这个工作的核心就是,如何让一个浅层网络在没有复杂链接和attention的情况下,尽可能地提升精度,实际上我们面临的非线性大幅下降的技术难题。

现代深度神经网络强大的拟合能力,甚至在不考虑复杂度的情况下具有逼近任意函数的潜力,很大一部分是复杂的非线性层不断堆叠带来的。

45ae81b48db2c36588f242a39d23784a.png

优化策略1

深度训练,浅层推理

为了提升VanillaNet这个架构的非线性,我们提出首先提出了深度训练(Deep training)策略,在训练过程中把一个卷积层拆成两个卷积层,并在中间插入如下的非线性操作:

38d5eb26d8d4127a812571e70214fb54.png

其中,A是传统的非线性激活函数,最简单的还是ReLU,λ会随着模型的优化逐渐变为1,两个卷积层就可以合并成为一层,不改变VanillaNet的结构。

f1ec3198d5d8b8b375b3cd328b9e4f0f.png

优化策略2

换激活函数

既然我们想提升VanillaNet的非线性,一个更直接的方案是有没有非线性更强的激活函数,并且这个激活函数好并行速度快?

为了实现这个既要又要的宪法,我们提出一种基于级数启发的激活函数,把多个ReLU加权加偏置堆叠起来:

7cff61e0465adb635594d3c2ae5752a8.png

然后再进行微调,提升这个激活函数对信息的感知能力。

38d8d7ce4918d09c6be69e40d7402248.png

极简网络的魔力

直接点,来我们直接看ImageNet上的结果。

09970625815d95bc76e93faebb0ab1d8.png

* VanillaNet与SOTA架构在深度、精度、速度上的对比

这一版的VanillaNet中,我们都采用224*224的分辨率,跟现在在很多工业界场景都在用的ResNet系列和ViT系列都进行了详细对比。

在现代的GPU加持下,VanillaNet的精度和速度,不负众望,达到了我们想看到的结果。虽然参数多,虽然计算量多,但是,势大力沉,精度又高速度又快!

27e0993067dd7f382bb8d9ca612c4e49.png

VanillaNet这样一个非常朴素的架构,6层可以超过ResNet-34,13层的VanillaNet在ImageNet达到83%的top1精度,超过几百层网络的性能,并展现了非凡的硬件效率优势,在于Swin-S相当的精度时(83%+),速度快了1倍以上!

另,在检测和分割上,Backbone的优势同样可以继承到下游任务中,CV里无论是讨论大模型,还是讨论啥,核心都还是骨干网络。

adc201ce28f716dbcf9a608db8e3402f.png

消融实验的核心汇总一下

  • ●深度训练策略和级数激活函数对VanillaNet的性能提升非常明显,15%以上的绝对精度提升,同样对AlexNet有效,这可能是浅层网路文艺复兴的契机。但是,重点是,对ResNet没有任何明显的效果,非常非常有趣,直观上来说可能这些东西ResNet并不需要吧;

  • ●现有主流模型中的shortcut和一些变种,对VanillaNet没有效果,甚至精度还会有一定的恶化。模型结构没那么深的情况下,其实在ResNet原文中也有提到,18层加不加shortcut性能差距不大;

ed60aea6a0f90396f22692b17043b437.png

VanillaNet名字的后记

关于这个网络的名字,我们其实讨论了很多次,最开始的名字叫做DeLeNet(细心的小伙伴可能会在github上看到),什么意思呢,是depthless network

但是这也是个极端,是不是我们不能超过一个层数的限制?所以在跟陶老师讨论的过程中,他建议我们就叫VanillaNet,也建议我们把AlexNet重新优化一下,挖掘这些简单、朴素、极简的架构的潜力,发挥它们在大模型时代的作用。

VanillaNet是我们的一个开端,让我们重新思考了很多,到底什么对深度神经网络性能提升是最重要的,是深度,是感受野,是attention,还是参数量?

目前这个版本的VanillaNet我们优化了接近一年,已经在很多实际业务中都用了起来。但它也还有很多提升空间,比如没有加任何的预训练和蒸馏,也没有进一步系统性尝试与其它网络架构的融合,还没有更进一步进行结构的优化。

AI的浪潮一波三折,距离AlexNet提出已经有11年过去了,而今迈步从头越,期待未来的新架构和新应用。

9ed2f60ef5b95dcaef58fc1c4cf7577e.gif

点击阅读原文,了解更多详情

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积网络加Transformer是一种将卷积神经网络(CNN)和Transformer结合的方法,用于图像处理任务。在传统的CNN中,卷积层主要用于提取图像的局部特征,而Transformer则可以捕捉图像的全局上下文关系。通过将这两种结构结合起来,可以充分利用它们各自的优势,提高图像处理任务的性能和效率。 具体而言,卷积视觉转换器(CvT)是一种新的架构,通过在视觉转换器(ViT)中引入卷积,以实现最佳的性能和效率。这个方法通过两个主要修改来实现,包括在Transformer层次结构中引入新的卷积令牌嵌入和利用卷积投影的卷积Transformer块。这些修改将CNN的优点(平移、缩放和失真不变性)引入到ViT架构中,同时保持了Transformer的优点(动态关注、全局上下文和更好的泛化)。实验证明,CvT在ImageNet-1k数据集上实现了比其他Vision Transformer和ResNet更先进的性能,且参数更少、计算量更低。在更大的数据集(例如ImageNet-22k)上进行预训练并微调下游任务时,CvT的性能也有所提高。 通过将卷积网络和Transformer结合起来,可以兼顾局部特征的提取能力和全局上下文的建模能力,从而提高图像处理任务的效果。CvT是一种有效的方法,可以在参数量较少的情况下实现与传统CNN相媲美的性能,并且能够处理更高分辨率的视觉任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [读论文之transformer系列-CvT:将卷积引入transformer](https://blog.csdn.net/dear_queen/article/details/122302336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [7.卷积Transformer结合的ViT](https://blog.csdn.net/qq_45807235/article/details/129506986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值