【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],文章将普通的方形核卷积分解成了竖条纹卷积核横条纹卷积,与方形核卷积相结合,能够做到不带来任何负担的提点,并且可以嵌入到任何一个现成的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.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Github下载地址:https://github.com/XLAccount/MiaoBo 项目详解地址:http://www.code4app.com/blog-843201-350.html 快速集成RTMP的视频推流教程:http://www.code4app.com/blog-843201-315.html ffmpeg常用命令操作:http://www.code4app.com/blog-843201-326.html #关于IJKMediaFramework/IJKMediaFramework.h找不到的问题,下载后直接拉到项目中即可 下载地址:https://pan.baidu.com/s/1boPOomN 密码::9yd8 #BUG修复: 解决登录程序偶尔崩溃,修复轮播图片和页面控制器叠加等问题,修复新浪授权登录 (2016.9.7) 解决程序运行中偶尔崩溃问题,解决连续下拉刷新崩溃问题,优化代码 (2016.9.8) 优化直播页面,减少不必要的性能消耗,增加用户体验 (2016.9.11) 适配5s以上的机型除了6sPlus和6Plus延迟较大外,其余延迟都较小,网速好的话可以忽略不计 (2016.9.12) 新版本极大优化程序性能,修复关注数据异常等小问题,重新布局热门页面,减少因反复加载带来的性能消耗 (2016.9.13) 增加个人中心页面,采用下拉放大图片 ➕ 波纹效果 (2016.9.14) ![image text](https://github.com/XLAccount/ALLGIFS/blob/master/psb.gif) 展示图片 ![image](https://github.com/XLAccount/ALLGIFS/blob/master/psb-1.gif) 展示图片 ![image text](https://github.com/XLAccount/ALLGIFS/blob/master/psb-2.gif) 展示图片 ![image text](https://github.com/XLAccount/ALLGIFS/blob/master/psb-3.gif) 展示图片 感谢大神Monkey_ALin http://www.jianshu.com/users/9723687edfb5/latest_articles 的demo支持
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锥栗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值