金字塔卷积:Pyramidal Convolution
论文地址:https://arxiv.org/pdf/2006.11538.pdf
github:https://github.com/iduta/pyconv
作者认为,当前CNN主要存在两个不足:(1)实际的感受野不足;(2)在下采样中,很多的细节信息会丢失。
从图中可以看出,有的物体尺寸较大(建筑、沙发),有的物体尺寸较小(行人,书本)。这种尺寸的变化是标准卷积级经捕获的。为此,作者提出了金字塔卷积(Pyramid Convolution, PyConv),包含不同尺度的卷积核,可以提取多尺度信息,在多个任务上均取得了较好的性能
PyConv 的示意如图所示,直观来看,就是从上往下卷积核的大小依次减小,同时,在通道维度上,通道的数目依次增加。最后将得到的 feature map 拼接起来。
在图像分类任务中的 PyConv 示意所图所示,首先是9X9的卷积,16个卷积核,分为16组,因此生成16X16=256个 feature map;然后是7X7的卷积,16个卷积核,分为8组,因此生成16X8=128个 feature map;接着是5X5的卷积,16个卷积核,分为4组,因此生成16X4=64个 feature map;最后是3X3的卷积,16个卷积核,只有1组,因此生成16X1=16个 feature map。然后,会用1X1的卷积来使输出的维度都为 256。
备汪:关于分组卷积,网上有一个比较形象的图示。对于普通卷积,如果输入的 feature map 尺寸为CHW, 卷积核的数量为N,每个卷积核的尺寸为CxKxK,那么输出的 feature map 尺寸为 CHN,总的参数量为:NxCxKxK 。
如果进行分组卷积,假定要分成 G 组,每组输入的 feature map 数量为 \(\frac{C}{G}\),每组输出的 feature map 数量为 \(\frac{N}{G}\),每个卷积核的尺寸为\(\frac{C}{G}\times K\times K\), 每组的卷积核数量为 \(\frac{N}{G}\),卷积核只与同组的输入进行卷积,则总的参数量为 \(N\times \frac{C}{G} \times K \times K\),则总的参数量减少为以前的 \(\frac{1}{G}\)。
当分组数量等于输入map数量,输出map数量也等于输入map的数量,即 G=N=C,每个卷积核尺寸为\(1\times K \times K\)时,就成了 Depthwise convolution。
金字塔卷积 PyConv,通过集成不同尺度的卷积核,提升了多个视觉任务的性能,同时,该模块是一种“即插即用”的模块,可以较好的嵌入不同的网络架构中。
金字塔卷积:Pyramidal Convolution的更多相关文章
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (二)
本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)
本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...
- 卷积(convolution)与相关(correlation)(matlab 实现)
1. 卷积(convolution) 输出 y(n) 是作为在 x(k) 和 h(n−k)(反转和移位)重叠之下的样本和求出的. 考虑下面两个序列: x(n)=[3,11,7,0,−1,4,2],−3 ...
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (三)
本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一) 从图(Graph)到图卷积(Graph Convolutio ...
- 【论文笔记】Pyramidal Convolution: Rethinking Convolutional Neural Networks for Visual Recognition
地址:https://arxiv.org/pdf/2006.11538.pdf github:https://github.com/iduta/pyconv 目前的卷积神经网络普遍使用3×3的卷积神经 ...
- 转置卷积Transposed Convolution
转置卷积Transposed Convolution 我们为卷积神经网络引入的层,包括卷积层和池层,通常会减小输入的宽度和高度,或者保持不变.然而,语义分割和生成对抗网络等应用程序需要预测每个像素的值 ...
- 信号处理——卷积(convolution)的实现
作者:桂. 时间:2017-03-07 22:33:37 链接:http://www.cnblogs.com/xingshansi/p/6517301.html 前言 信号时域.频域对应关系,及其D ...
- 各种卷积类型Convolution
从最开始的卷积层,发展至今,卷积已不再是当初的卷积,而是一个研究方向.在反卷积这篇博客中,介绍了一些常见的卷积的关系,本篇博客就是要梳理这些有趣的卷积结构. 阅读本篇博客之前,建议将这篇博客结合在一起 ...
- [翻译] 扩张卷积 (Dilated Convolution)
英文原文: Dilated Convolution 简单来说,扩张卷积只是运用卷积到一个指定间隔的输入.按照这个定义,给定我们的输入是一个2维图片,扩张率 k=1 是通常的卷积,k=2 的意思是每个输 ...
随机推荐
- 04[掌握] Java连接redis操作
1,Jedis所需要的jar包依赖 <dependency> <groupId>redis.clients</groupId> <artifactId> ...
- LeetCode65. 有效数字
这题完美的诠释了什么叫"面向测试用例编程".由于要考虑的情况很多,所以基本的思路是先根据给出的测试用例写出规则判断无效的情况,然后再根据提交的错误对剩下的情况进行特判,如果不满足所 ...
- 基于 fetch 的请求封装
原生 fetch 请求失败后(如无网络)状态会变成 reject 走 .catch .绝大多数情况下业务场景只需要给个 toast 等简单处理.每个请求都 .catch 会显得格外繁琐,并且如果不 . ...
- windows 下 node 安装 react
当前node.npm都已安装了. 可是在执行 安装 react的时候总是报错 最后会生成一个报错的txt文件( <npm-@googlegroups.com>npm-debug.log) ...
- Java中栈和堆讲解
之前对JVM中堆内存和栈内存都是一直半解,今天有空就好好整理一下,用作学习笔记. 包括Java程序在内,任何程序在运行时都是要开辟内存空间的.JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区 ...
- DTD约束和Schema约束
DTD约束 什么是DTD? DTD(Document Type Definition),文档类型定义,用来约束XML文档.规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等. DTD约束长什 ...
- 【XJOI】NOIP2020模拟训练题2 总结
得分情况: 估分: 30(T1)+100(T2)+0(T3)=130; 实际: 30(T1)+60(T2)+10(T3)=100; QAQ 是我高看自己了 T1 友好数对: 题意: 如果一个 ...
- C#数据结构与算法系列(二十一):希尔排序算法(ShellSort)
1.介绍 希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法.希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序. 2.基本思想 希尔排 ...
- H5禁止微信内置浏览器调整字体大小
微信webview内置了调整字体大小的功能,用户可以根据实际情况进行调节.但是这也会导致字体大小改变以后,出现页面布局错乱的情况. 1.iOS的解决方案是覆盖掉微信的样式: body { /* IOS ...
- 大致掌握django的功能
目录 静态文件配置 request对象方法初识 pycharm链接数据库(mysql) django链接数据库(mysql) django orm 字段的增删查改 数据的增删查改 数据的查,改,删 d ...