来源:晓飞的算法工程笔记 公众号,转载请注明出处

论文: CNN Mixture-of-Depths

创新点


  • 提出新的卷积轻量化结构MoD,在卷积块(Conv-Blocks)内通过动态选择特征图中的关键通道进行集中处理,提高效率。
  • CNN MoD保留了静态计算图,这提高了训练和推理的时间效率,而且不需要定制的CUDA内核、额外的损失函数或微调。
  • 通过将MoD与标准卷积交替使用,能够实现相等性能下的推理加速或相等推理速度下的性能提高。

CNN Mixture-of-Depths


MoD由三个主要组件组成:

  1. 通道选择器:根据输入特征图与当前预测的相关性选择前 \(k\) 个最重要的通道。
  2. 卷积快:从现有架构(如ResNetsConvNext)中进行改编,旨在增强选定通道的特征。
  3. 融合算子:将处理后的通道加到特征图的前 \(k\) 个通道上。

通道选择器

通道选择器主要分为两个阶段:

  1. 自适应通道重要性计算:通过自适应平均池化压缩输入特征图,随后通过一个具有瓶颈设计的两层全连接网络进行处理,设定 \(r = 16\) ,最后通过sigmoid激活函数生成一个分数向量 \(\mathbf{s} \in \mathbb{R}^C\) ,量化了相应通道的重要性。
  2. Top-k通道选择与路由:利用重要性分数 \(\mathbf{s}\) 选择前 \(k\) 个通道输入卷积块处理,原始特征图 \(X\) 则直接传递融合算子。

这个选择过程使得通道选择器能够高效地管理计算资源,同时保持固定的计算图,从而实现动态选择要处理的通道。

动态通道处理

每个卷积块中处理的通道数量 \(k\) 由公式 \(k = \lfloor \frac{C}{c} \rfloor\) 决定,其中 \(C\) 表示该块的总输入通道数, \(c\) 是一个超参数,用于确定通道减少的程度。例如在一个标准的ResNet瓶颈块中,通常处理1024个通道,设置 \(c = 64\) 会将处理减少到仅16个通道( \(k = 16\) )。

通过实验发现,超参数 \(c\) 应设置为第一卷积块中输入通道的最大数量,并在整个CNN中的每个MoD块中保持相同。例如,ResNet的 \(c = 64\) MobileNetV2的 \(c = 16\) 。

卷积块的最后一步涉及将处理后的通道与从自适应通道重要性计算中获得的重要性评分相乘,确保在训练过程中梯度能够有效地传递回通道选择器,这是优化选择机制所必需的。

融合机制

将处理后的特征添加到 \(X\) 的前 \(k\) 个通道中,保留其余未处理的通道。融合后的特征图 \(\bar{X}\) 具有与原始输入 \(X\) 相同的通道数 \(C\) ,从而保留了后续层所需的维度。

论文在实验中测试了多种将处理后的通道重新集成到特征图 \(X\) 中的策略,包括将处理后的通道添加回其原始位置,但结果并未显示任何改进。实验表明,始终在特征图中使用相同位置来处理信息似乎是有益的,将处理后的通道添加到后 \(k\) 个通道中得到了与添加到前 \(k\) 个通道时相当的结果。

集成到CNN结构

MoD可以集成到各种CNN架构中,例如ResNetsConvNextVGGMobileNetV2,这些架构被组织成包含多个相同类型(即输出通道数相同)的卷积块(Conv-Blocks)的模块。

实验表明,交替使用MoD块和标准卷积块在每个模块中是一种最有效的集成方法。需要注意的是,MoD块替换每第二个卷积块,从而保持原始架构的深度(例如,ResNet50中的50层)。每个模块以一个标准块开始,例如BasicBlock,然后是一个MoD块。

这种交替模式表明,网络能够处理显著的容量减少,只要定期进行全容量卷积。此外,该方法确保MoD块不会干扰通常发生在每个模块的第一个块中的空间维度缩减卷积。

主要实验






如果本文对你有帮助,麻烦点个赞或在看呗~

更多内容请关注 微信公众号【晓飞的算法工程笔记】

MoD:轻量化、高效、强大的新型卷积结构 | ACCV'24的更多相关文章

  1. 卷积神经网络学习笔记——轻量化网络MobileNet系列(V1,V2,V3)

    完整代码及其数据,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/DeepLearningNote 这里结合网络的资料和Mo ...

  2. 轻量化卷积神经网络MobileNet论文详解(V1&V2)

    本文是 Google 团队在 MobileNet 基础上提出的 MobileNetV2,其同样是一个轻量化卷积神经网络.目标主要是在提升现有算法的精度的同时也提升速度,以便加速深度网络在移动端的应用.

  3. 纵览轻量化卷积神经网络:SqueezeNet、MobileNet、ShuffleNet、Xception

    近年提出的四个轻量化模型进行学习和对比,四个模型分别是:SqueezeNet.MobileNet.ShuffleNet.Xception. SqueezeNet https://arxiv.org/p ...

  4. CondenseNet:可学习分组卷积,原作对DenseNet的轻量化改造 | CVPR 2018

    CondenseNet特点在于可学习分组卷积的提出,结合训练过程进行剪枝,不仅能准确地剪枝,还能继续训练,使网络权重更平滑,是个很不错的工作   来源:晓飞的算法工程笔记 公众号 论文:Neural ...

  5. EfficientFormer:轻量化ViT Backbone

    论文:<EfficientFormer: Vision Transformers at MobileNet Speed > Vision Transformers (ViT) 在计算机视觉 ...

  6. 轻量化模型之MobileNet系列

    自 2012 年 AlexNet 以来,卷积神经网络在图像分类.目标检测.语义分割等领域获得广泛应用.随着性能要求越来越高,AlexNet 已经无法满足大家的需求,于是乎各路大牛纷纷提出性能更优越的 ...

  7. 轻量化模型之SqueezeNet

    自 2012 年 AlexNet 以来,卷积神经网络在图像分类.目标检测.语义分割等领域获得广泛应用.随着性能要求越来越高,AlexNet 已经无法满足大家的需求,于是乎各路大牛纷纷提出性能更优越的 ...

  8. 56 Marvin: 一个支持GPU加速、且不依赖其他库(除cuda和cudnn)的轻量化多维深度学习(deep learning)框架介绍

    0 引言 Marvin是普林斯顿视觉实验室(PrincetonVision)于2015年提出的轻量化GPU加速的多维深度学习网络框架.该框架采用纯c/c++编写,除了cuda和cudnn以外,不依赖其 ...

  9. MobileNet——一种模型轻量化方法

    导言 新的CNN网络的提出,提高了模型的学习能力但同时也带来了学习效率的降低的问题(主要体现在模型的存储问题和模型进行预测的速度问题),这使得模型的轻量化逐渐得到重视.轻量化模型设计主要思想在于设计更 ...

  10. 轻量化模型系列--GhostNet:廉价操作生成更多特征

    ​  前言  由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络 (CNN) 很困难.特征图中的冗余是那些成功的 CNN 的一个重要特征,但在神经架构设计中很少被研究. 论文提出了一种新颖的 Gh ...

随机推荐

  1. ubuntu16.04/CentOS 7自动以root身份登录桌面

    ubuntu16.04 1.首先设置root用户密码: # sudo passwd root 输入普通用户密码,再输入root用户密码: 2.启用登录时的root选项: # 编辑50-ubuntu.c ...

  2. Windows 新建用户帐户

    Windows 近年来大力推广使用 Microsoft 帐户登录 Windows.然而,如果你这么做了,Windows 会取你登录帐户的前 5 个字母作为你的本地用户名,非常的丑陋.更难受的是本地用户 ...

  3. HarmonyOS NEXT未成年人模式无缝联动所有应用,过滤非适龄内容

    背景 随着消费电子产品和移动互联网的普及,未成年人互联网普及率96.8%,超过80%的未成年人都拥有自己的上网设备,而如何引导孩子正确上网一直是家长们的担忧.市场上很多电子设备.系统推出了一些未成年人 ...

  4. Consider defining a bean of type 'xxxxxx' in your configuration.

    解决: 在Application类上新增@EnableConfigurationProperties({ xxxxxx.class})

  5. SpringBoot 引入 WebSocket

    maven 添加websocket ,按照一篇博文引入 websocket https://www.cnblogs.com/likun10579/p/5450209.html 在浏览器控制台测试是否连 ...

  6. vue打包项目版本号自加

    原因 项目每次打包后都需要改动项目版本号,这个改动每次都需要在package.json中修改version,比较麻烦,到底有没有一种打包后版本号自加的办法. 方案 版本号自加其实可以使用fs修改文件来 ...

  7. win10远程登录的账号密码

    win10有了一个windows hello,还有本地账号,还有microsoft账号 在 设置-账户信息 这里可以设置登录一个 Microsoft账号,然后远程登录的时候,用的是 Microsoft ...

  8. sicp每日一题[2.1]

    Exercise 2.1 Exercise 2.1: Define a better version of make-rat that handles both positive and negati ...

  9. 游戏AI行为决策——Behavior Tree(行为树)

    游戏AI行为决策--行为树 前言 行为树,是目前游戏中应用较为广泛的一种行为决策模型.这离不开它成熟的可视化编辑工具,例如Unity商城中的「Behaviour Designer」,甚至是虚幻引擎也自 ...

  10. CSS – Font / Text 属性

    前言 之前学 W3Schools 时记入过一些 W3Schools 学习笔记 (1) – CSS Fonts. 由于太简单就没有另外写一篇, 现在感觉内容比较整齐了, 所以整理一篇出来. 属性 fon ...