【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

2023-10-31

略读2019 ICCV的ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric
Convolution Blocks[1],文章将普通的方形核卷积分解成了竖条纹卷积核横条纹卷积,与方形核卷积相结合,能够做到不带来任何负担的提点,并且可以嵌入到任何一个现成的CNN框架中。

痛点

许多对于CNN的改进多半集中在下面几点:1)改变CNN层之间的连接方式,如直接简单堆叠,犹如ResNet的残差链接,如DenseNet的密集连接。2)不同层的output相融合。如Inception家族。3)构建一些现成的架构如SENet中的SE模块,直接与现如今的CNN结合。

如此一来CNN的这些改进能够以各种各样的方式组合,来构建现成的CNN网络,提高模型效果。

但作者认为。仅通过采用更多可训练的参数和复杂的连接来增强模型可能是不切实际的。文章指出不进行额外的推理时间计算,内存占用或能源消耗的情况下,提高CNN的性能更有意义。

本文则走了一条不同的道路,通过挖掘正交关系来增强标准卷积层:权重及其在内核中的空间位置之间的关系,即本文的ACNet。

模型

文章提出的不对称卷积块ACB(Asymmetric Convolution Block)主要有三条平行处理层,dxd卷积核,dx1卷积核和1xd卷积核。三个输出最后求和的到最终的输出,示意图如下图左:

训练完成后,通过将每个ACB中的非对称核添加到骨架上来将模型转换为与原始结构相同的结构,该骨架是方形核的交叉部分,如上图右。

保持可加性的关键是三层可以共享同一滑动窗口。 因此,如果将conv2和conv3的内核添加到conv1的相应位置上,则使用结果内核对原始输入进行操作将产生相同的结果(图1左的输出个图1右的输出是一样的),只有使用乘法的分布特性才能容易地对其进行验证

对于BN层的处理,令I成为输入特征图M的任意通道,对于每个分支首先将批量归一化的参数等效地融合到卷积核和一个偏差项中,然后将融合核和偏差项相加以获得单层。BN层与分支融合如图:

值得注意的是,尽管可以将ACB等价地转换为标准conv层,但是等效仅在inference时才成立,因为训练动力学不同,因此产生了不同的性能。训练过程的不等价性是由于内核权重的随机初始化以及由它们参与的不同计算流得出的梯度所致。

用ACB替换CNN体系结构中的每个方形核的卷积层则可以构建ACNet。

ACB这样的策略使得1)ACNet能够在原model的基础上再提高一个层次。2)没有引入超参数,这样的结构能够很好的结合其他的CNN结构。3)与原始架构相比,不需要额外的推理时间计算负担。4)增强了模型对旋转失真的鲁棒性

实验

不同模型在CIFAR10的对比

不同模型再CIFAR100的对比

不同模型在ImageNet的对比

可以看到ACNet是一种不错的提点tricks

对翻转鲁棒的示意图

ImageNet的各种配置分离试验

CIFAR10上随着稀疏比变化和不同kernel的validation对比

可以看到基于文章中提出的骨架skeleton的test表现最好。

核的均值矩阵对比

参考文献

[1] Ding X, Guo Y, Ding G, et al. Acnet: Strengthening the kernel skeletons for powerful cnn via asymmetric convolution blocks[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 1911-1920.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN 的相关文章

随机推荐

  • 格式化输出以及运算符

    1 格式化输出 方法一 此方法相对复杂 格式化字符串 将指定的数据按照指定的格式组合成指定的字符串 注意 nf表示保留小数点后n位 n gt 1 四舍五入 注意 nd 当n大于原数字的长度 则最终显示的结果长度为n 不够的在左边补0 一般用
  • 【计算机基础】在0和1的世界里来来回回

    事物的正反两面被哲学家讨论了几千年 计算机里的0和1也照旧玩出了各种花样 二进制数 VS 十进制数本小节讲二进制写法 以及到十进制的转换方法 如果已熟悉这些内容可以直接跳到下一小节 我们生活在一个十进制的世界中 10个一毛就是一块 10个一
  • python——个税计算器

    目前我国个人所得税计算公式如下 应纳个人所得税税额 工资薪金所得 五险一金 个税免征额 适用税率 速算扣除数 个税免征额为5000元 月 2018年10月1日起调整后 也就是2018年实行的7级超额累进个人所得税税率表如下 全月应纳税所得额
  • SquareLine Studio ecplise仿真环境搭建

    SquareLine Studio 是LVGL官方推荐的一款UI设计工具 可直接转成C源码 但只能演示UI效果 暂不支持在SquareLine Studio中源码仿真 它提供了另一种仿真方式 将源码工程导入到ecplise arduino等
  • html的兼容性注释,ie兼容性解决方案”使用html注释判断ie版本

    QUOTE 这里是正常的html代码 这里XXX是一些特定的东东 在此列表几个出来 详细介绍各自的含义 如果浏览器是IE 如果浏览器是IE 5 的版本 如果浏览器是IE 6 的版本 如果浏览器是IE 7 的版本 上面是几个常用的判断IE浏览
  • mapbox 点、线、面绘制工具添加

  • openwrt pptpd客户端

    步骤 opkg update opkg install ppp mod pptp opkg install luci proto ppp 在OpenWRT安裝PPTP Client端 首先用ssh登陆到路由器 安装pptp软件包opkg u
  • Change IP address_Auto log in to Netgear Router to Crawling an available IP w xpath_REG_SZ_WinError5

    Use urllib to login in to the Netgear router import urllib user admin pwd LlQ54951 host 192 168 1 1 url http host passma
  • Vue项目中移动端适配vw,postcss-px-to-viewport插件使用。

    Vue项目中使用vw实现移动端适配 随着viewport单位越来越受到众多浏览器的支持 下面将简单介绍怎么实现vw的兼容问题 用vw代替rem 纯属个人习惯PC端使用rem 移动端使用vw 1 准备工作 我是用vue cli脚手架搭建vue
  • ESP8266 WIFI模块AT指令汇总

    1 AT RST 功能 重启模块 2 AT CWMODE
  • 一致性Hash(Consistent Hashing)原理剖析及Java实现

    目录 一 一致性Hash Consistent Hashing 原理剖析 二 一致性hash算法的Java实现 一 一致性Hash Consistent Hashing 原理剖析 引入 一致性哈希算法是分布式系统中常用的算法 一致性哈希算法
  • 高并发请求批量提交

    作用 将数据库操作请求 放入队列中 待定时任务执行时 批量执行数据库操作 以减轻数据库压力 package com zy data sync common scheduled import com zy data sync moudles
  • 【Python】经典问题创建一个矩形类,定义方法 属性 初始化

    Hello 大家好 我是乔乔白术 今天还是处理一些我们的习题 定义一个矩形类Rectangle a 定义三个方法 get area 求面积 get per 求周长 show all 输出长 宽 面积 周 长 b 有2个属性 长length
  • linux查看磁盘空间命令

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net zhaohong bo article details 89944350
  • 简单并查集算法模板

    并查集 简单并查集 基本思想 采用双亲表示法 顺序存储 课本做法 初始化数组的值为 1 若是合并就让一个树的根的数组值指向另一个根的下标 查根节点 若是查询就一直到数组值小于0的时候终止 时间复杂度为O n 优化 查的过程 并且观察到时间复
  • 架构修炼11-互联网分布式请求跟踪系统理论与实践

    一 背景 1 微服务的现状 2 微服务架构带来的问题 a 某个核心服务挂了 导致上游出现大量报警 如何快速确定哪个服务出了问题 b 某个核心服务挂了 导致大量报错 如何快速确定哪里出了问题 c 应用程序有性能瓶颈 怎样确定瓶颈在哪里 d A
  • cubemx配置can和收发代码

    can的使用 cubemx配置 中断 can h ifndef can H define can H ifdef cplusplus extern C endif Includes include main h USER CODE BEGI
  • cnpm的安装教程

    新电脑或者重装系统的电脑下载nodejs后 电脑只能执行npm命令 无法执行cnpm命令 此时就需要按照一下cnpm 打开cmd执行如下命令 npm install g cnpm registry https registry npm ta
  • 详情小三角css,3. 小三角及原理

    要点 用纯CSS创建一个三角形的原理是什么 把上 左 右三条边隐藏掉 颜色设为 transparent demo width 0 height 0 border width 20px border style solid border co
  • 【ML&DL】【skimming】ACNet: Strengthening the Kernel Skeletons for Powerful CNN

    略读2019 ICCV的ACNet Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks 1 文章将普通的方形核卷积分解成