池化和空洞卷积_1、卷积神经网络相关

e1bcc70081e984c5a318ed831144055b.png

1.1卷积的基本操作与全连接层的区别

局部连接、权值共享(滑动、权值一致)、输入输出数据结构化(保留结构)

1.2感受野大小计算

感受野定义:某层的特征上的一个点,CNN的原始输入上能够影响这一点取值的范围的区域。

1d3978a78601c3d98b63150aabc81353.png

上一层的感受野加上当前(卷积核的尺寸-1)*前面每层的步长,然后和数据区域大小作比较。

1.3卷积层的输出尺寸、参数量和计算量

输出的尺寸=((输入尺寸+2*padding-kernel_size)/步长)+1

向下取整。

tensorflow、keras不能显示指定padding_size,可以选择几种方式:

padding=same:padding_size=k-1;

padding=valid: 不进行边界填充

参数量:卷积核的参数量和卷积核的个数 channel*kw*kh*个数,个数就等于上一个通道输出的channels数。

计算量:滑动窗口内卷积操作的计算量c(i)*kw*kh,滑动的次数其实就是输出的特征图的数据个数,也就是c(0)*lw(0)*lh(0)整体计算量为两个相乘。

1.4分组卷积及其应用场景

group convolution

普通的卷积操作在通道维度上都是全连接的(普通的卷积是每个卷积核都会和输入的feature的所有通道卷积),分组卷积就是给输入通道和输出通道划分同样的组数,然后处于相同组号的输入通道和输出通道进行全连接。如果分为g组,那么最终的参数量和计算量都会变为原来的1/g,举例,输入feature为N通道的,kernel=3x3,有n个,那么最后得到的feature为n channel,那么普通卷积的参数量3x3xNxn,分两组的卷积的参数量为(3x3xN/2xn/2)x2变为原来的1/2,计算量也变为原来的1/2,因为分组的话kernel的channel为原来的1/2。

Alexnet中使用,解决单GPU无法处理含有较大计算量和存储需求的卷积层的问题,分组卷积分配到多个GPU上,目前更多用来构建移动设备的小型网络模型。

1.5转置卷积的主要思想

Transposed convolution

思想就是矩阵的转置操作,可以看作普通卷积的对称操作:

(1)能将普通卷积的输入输出的尺寸变换逆反过来,不是反卷积

转置卷积本质上对应的也是一个普通卷积对应的矩阵乘法

正常的卷积:

3e166b4418a2049da8a307ac44dce0d8.png

转置卷积:

346dfbb0bb2102daa670c010e42ec0cf.png

相当于将输入的数据进行了一个补零和上采样。

转置卷积主要是对特征图进行扩张或者上采样,语义分割decoder中会用到转置卷积,输出和原图像大小一致的图的时候会用到。

1.6空洞卷积 

dilated convolution

一般池化来进行下采样操作,可以扩大感受野但是会损失信息,如何不通过池化等下采样操作来扩大感受野?空洞卷积引入了扩展率r,引入之后的卷积核尺寸为k+(r-1)(k-1)的大小。其感受野的计算和普通卷积的计算一致。

1.7变形卷积

deformable convolution

普通卷积束缚了网络的感受野形状,限制了网络对于几何形变的适应能力,deformable给卷积核的每一个采样点添加一个可学习的偏移量,deformable引入了一个平行分支来学习采样点的位移偏移量,由于偏移量是小数,所以最终的位置需要双线性插值。

aeaddb89f7dd643f2888414a6e38324b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值