MoD:轻量化、高效、强大的新型卷积结构 | ACCV24

news/2024/11/18 9:42:55/文章来源:https://www.cnblogs.com/VincentLee/p/18551739

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

论文: CNN Mixture-of-Depths

  • 论文地址:https://arxiv.org/abs/2409.17016

创新点


  • 提出新的卷积轻量化结构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块不会干扰通常发生在每个模块的第一个块中的空间维度缩减卷积。

主要实验




如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/836023.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Android Studio 2022软件下载与安装教程】

1、安装包 Android Studio 2022: 链接:https://pan.quark.cn/s/9821141ab2c7 提取码:aTaw 2、安装教程 1) 解压下载安装包,双击Setup.exe安装,弹窗安装对话框2) 点击下一步3) 默认,点击下一步4) 选择安装目录,建议选择C盘之外,点击下一步5)…

当然不是草台班子-冲刺日志6

作业所属课程 软件工程2024作业要求 2024秋软工实践团队作业-第三次( Alpha冲刺)作业目标 alpha冲刺完成项目核心功能团队名称 当然不是草台班子团队成员学号 姓名102201427 侯丽珂102201426 郑嘉祺102201241 戴康怡102201218 肖晗涵112200328 谢李东292300304 陈鹭102201242…

教你对接电商拍图识款接口

在网上购物时候,不止可以通过名称搜索商品,也可以拍照上传图片搜索商品。比如某宝上拍个图片就能搜索到对应的商品。腾讯、阿里都提供了类似的图像搜索服务,这类服务原理都差不多:在一个具体的图库上,新增或者删除图片。 通过图片搜索相似的图片。本文对接的是腾讯云的图像…

【Unity】ScriptableObject的应用和3D物体跟随鼠标移动:鼠标放置物体在场景中

使用ScriptableObject类实现资源的配置;实现3D物体跟随鼠标移动;实现物体放置在鼠标点击的世界坐标位置。需求说明 结合前篇,仓库管理 和 获取鼠标点击的世界坐标位置 两篇内容,已经实现了:鼠标或键盘控制玩家移动;玩家触碰物体后,将物体放入仓库;鼠标点击仓库栏中的物…

Kubernetes v1.16.3版本开启 Job ttlSecondsAfterFinished 自动清理机制

前言 Kubernetes v1.23 之前,Job 在处于 Completed 后,默认是不会被清理的。 完成的 Job 通常不需要留存在系统中。在系统中一直保留它们会给 API 服务器带来额外的压力。 Kubernetes v1.23 之后, TTL 控制器所提供的 TTL 机制。 通过设置 Job 的 .spec.ttlSecondsAfterFini…

当然不是草台班子-冲刺日志2

作业所属课程 软件工程2024作业要求 2024秋软工实践团队作业-第三次( Alpha冲刺)作业目标 alpha冲刺完成项目核心功能团队名称 当然不是草台班子团队成员学号 姓名102201427 侯丽珂102201426 郑嘉祺102201241 戴康怡102201218 肖晗涵112200328 谢李东292300304 陈鹭102201242…

当然不是草台班子-冲刺日志3

作业所属课程 软件工程2024作业要求 2024秋软工实践团队作业-第三次( Alpha冲刺)作业目标 alpha冲刺完成项目核心功能团队名称 当然不是草台班子团队成员学号 姓名102201427 侯丽珂102201426 郑嘉祺102201241 戴康怡102201218 肖晗涵112200328 谢李东292300304 陈鹭102201242…

制作网站修改公司,如何在制作网站过程中修改公司信息

在制作网站的过程中,修改公司信息可以确保网站的准确性和专业性。以下是具体步骤:登录后台:打开浏览器,输入网站的后台地址,使用管理员账号登录。进入公司信息管理:在后台左侧菜单栏中选择“内容” -> “公司信息”。 找到需要修改的信息,点击“编辑”。修改公司信息…

网站是用修改access数据库文件格式,如何在Access数据库中修改网站数据

Access数据库是一种常用的桌面数据库,常用于小型网站的数据管理。以下是具体步骤:打开Access数据库:打开Microsoft Access应用程序。 导入或打开现有的Access数据库文件(.mdb或.accdb)。导航到数据表:在Access主界面中,选择“表”视图。 找到需要修改的数据表,双击打开…

网站首页界面怎么修改,如何在网站后台或代码编辑器中修改首页界面

修改首页界面可以提升网站的视觉效果和用户体验。以下是修改首页界面的步骤:登录网站后台:打开浏览器,输入网站的后台地址,例如 http://yourdomain.com/admin。 输入管理员账号和密码,点击“登录”。进入模板管理:登录后,点击顶部菜单栏中的“模板”或“主题”。 选择“…

vivo 游戏中心包体积优化方案与实践

介绍APP包体积优化的必要性,游戏中心App在实际优化过程中的有效措施,包括一些优化建议以及优化思路。作者:来自 vivo 互联网大前端团队- Ke Jie介绍 App 包体积优化的必要性,游戏中心 App 在实际优化过程中的有效措施,包括一些优化建议以及优化思路。 一、包体积优化的必要…

# 学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第9周学习总结

学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第9周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个…