卷积的变种:分组卷积、转置卷积、空洞卷积、可变形卷积
一、分组卷积
普通卷积中,每个卷积核的所有通道与输入特征图的所有通道都作了连接,而一个卷积核又对应着输出特征图的一个通道,故相当于普通卷积在输入输出的“通道”维度是全连接的。分组卷积则将输入和输出通道都划分为同样的组数,让处于同一组数内的通道维度 实现“全连接”。
作用:较少参数计算量为原来的1\g倍。
二、转置卷积
相当于普通卷积的逆过程,会将原输出特征图 上采样 恢复到原来的形状,但不会还原具体数值。但是求导发现,转置矩阵的信息正向传播与普通卷积的误差反向传播所用的矩阵相同。
具体计算过程,对于步长为2及2以上 涉及到向下取整的卷积时,转置卷积并不唯一。
转置矩阵主要用于对特征图进行扩张或下采样
三、空洞卷积
相比池化,是一种避免信息丢失的扩大感受野的方法,需要参数扩张率
池化能够扩大特征图的感受野,但是会降低图像分辨,丢失内部数据结构、空间层级信息等导致后续上采样(转置)无法还原一些细节。
四、可变性卷积
引入平行分支来端到端学习卷积核采样点的偏移量
五、网络结构
1、文献认为 网络性能和表达能力正相关于网络规模。但过深或过宽的网络会导致参数量非常庞大。
-----解决方案:1将网络的全连接和卷积等密集连接结构转化为稀疏连接形式,可以降低计算量,同时维持网络表达能力
2、Inception
同时使用多种卷积核进行多路特征提取,能使网络稀疏化同时,增强网络的多尺度特征的适应性。
inception-v1:
提出bottleneck结构:在计算比较大的卷积层之前先使用1*1卷积压缩通道,减少计算量;
从网络中间拉出多条支线,连接辅助分类器,用于计算损失 缓解梯度消失
3、瓶颈结构
——————卷积神经网络中比较基础的模块
一般是一个小通道数的11卷积层,接一个较大卷积层,后面可能再接一个大通道数的11卷积层。用更小的计算代价达到与之前相似甚至更好的效果(因为瓶颈结构会增加网络层数,所以特征提取能力可能也有相应提升)
4、沙漏结构
一般包括两个分支
1)bottom-up:
利用卷积、池化将特征图的尺寸逐层压缩,类似一encoder
2)top-down:
利用反卷积或插值等上采样操作逐层扩大特征图的尺寸
比如物体检测中的TDM FPN DSSD等沙漏结构都有大量应用。RFB(reverse fusion block)是指将上采样后的深层特征与浅层特征进行融合的模块。
沙漏结构的作用:将多尺度信息进行融合,且单元中堆叠的多个卷积层可以提升感受野,增强模型对小尺寸但又依赖i上下文的物体(如人体关节点)的感知能力。