赞
踩
一个核矩阵
在一个原始矩阵
上从上往下
、从左往右
扫描,每次扫描都得到一个结果,将所有结果组合到一起得到一个新的结果矩阵,就叫做卷积
让局部的数据和一个对应大小的权重矩阵做内积运算,这个权重矩阵
在神经网络中称为 卷积
形状一般是三维的,在各个维度上的数据卷积
各个维度上的卷积核同时卷积,形成滤波器
卷积窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。我们将每次滑动的行数和列数称为步幅或步长(stride)。
填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素)。
对图像进行下采样,降低图像分辨率
池化层的作用:
常见的池化操作有:最大池化(Max Pool)、平均池化(Avg Pool)
用来表示网络内不同神经元对原图像的感受范围大小,或者说CNN每一层输出的特征图上的像素点在原始图像上映射的区域大小
F
i
n
F_{in}
Fin是输入图像、k是卷积核的大小、p是图像填充的大小、s是卷积核的步幅、
F
o
F_{o}
Fo是输出、⌊6.6⌋是向下取整的意思,比如结果是 6.6,那么向下取整就是6
F
o
=
⌊
F
i
n
−
k
+
2
p
s
⌋
+
1
F_{o}=\left\lfloor\frac{F_{in}-k+2 p}{s}\right\rfloor+1
Fo=⌊sFin−k+2p⌋+1
卷积核在图上每滑动一次,相当于做了一次参数的变化,所以最后特征图大小正是卷积核在图像上的横向和竖向的滑动总和,另外还有批次影响
普通卷积和分组卷积
普通卷积
图中只有一个卷积核输入feature map尺寸: W × H × C W × H × C W×H×C ,分别对应feature map的宽,高,通道数;
单个卷积核尺寸: k × k × C k × k × C k×k×C ,分别对应单个卷积核的宽,高,通道数;
输出feature map尺寸: W ′ × H ′ W' × H' W′×H′ ,输出通道数等于卷积核数量,输出的宽和高与卷积步长有关参数量: p a r a m s = k ² × C params = k² × C params=k²×C,运算量: F L O P s = k ² × C × W ′ × H ′ FLOPs = k² × C × W' × H' FLOPs=k²×C×W′×H′,这里只考虑浮点乘数量,不考虑浮点加。
分组卷积
每个卷积核相应分成组,在对应组内做卷积输入每组feature map尺寸: W × H × C g W × H × \frac{C}{g} W×H×gC,共有 g 组;
单个卷积核每组的尺寸: k × k × C g k × k × \frac{C}{g} k×k×gC,一个卷积核被分成了 g 组;输出feature map尺寸: W ′ × H ′ × g W' × H' × g W′×H′×g,共生成 g 个feature map。
参数量: p a r a m s = k 2 × C g × g = k 2 × C params = k^{2} × \frac{C}{g} × g = k^2 × C params=k2×gC×g=k2×C
运算量: F L O P s = k 2 × C g × W ′ × H ′ × g = k 2 × C × W ′ × H ′ FLOPs = k^2 × \frac{C}{g} × W' × H' × g = k^2 × C × W' × H' FLOPs=k2×gC×W′×H′×g=k2×C×W′×H′
向卷积层引入一个称为“扩张率”的新参数,该参数定义了卷积核处理数据时各值的间距扩张卷积增加感受野且降低计算量。
模型测试时,不用固定输入图像的大小全卷积部分借用了一些经典的CNN网络(如AlexNet,VGG,GoogLeNet等),并把最后的全连接层换成卷积,用于提取特征,形成热点图;
反卷积部分是将小尺寸的热点图上采样得到原尺寸的语义分割图像
平均池化
对领域内特征点求平均值;
保留图像背景信息,更加关注背景,一般用在网络尾部
最大池化
对领域内特征点求最大值;
保留图像纹理信息,更加关注前景,一般用在网络层
全局池化
池化窗口大小 = 整张特征图的大小;
每个
W
×
H
×
C
W×H×C
W×H×C 的特征图输入就会被转化为
1
×
1
×
C
1×1×C
1×1×C的输出,等同于每个位置的权重都为
1
W
×
H
\frac{1}{W×H}
W×H1 的全连接层操作
图像金字塔池化
原图输入是 224×224,对于conv5出来后的输出,是 13×13×256 的,可以理解成有 256 个这样的filter,每个filter对应一张 13×13 的activation map。
如果像上图那样将 activation map pooling 成4×4、2×2、1×1 三张子图,做 max pooling 后,出来的特征就是固定长度的 (16+4+1)×256 那么多的维度了。
如果原图的输入不是 224×224,出来的特征依然是 (16+4+1)×256;直觉地说,可以理解成将原来固定大小为 3×3 窗口的 pool 改成了自适应窗口大小,窗口的大小和 activation map 成比例,保证了经过 pooling 后出来的 feature 的长度是一致的。
中值池化
具有学习边缘和纹理结构的特性,抗噪声能力比较强
重叠池化
可提升预测精度,一定程度上减缓过拟合相比较于正常池化(步长 s=2,窗口 z=2),重叠池化(步长 s=2,窗口 z=3)可以减少top-1,top-5分别0.4%和0.3%
随机池化
一种简单有效的正则化CNN的方法,可降低Max Pooling的过拟合现象,提高泛化能力
训练阶段
前向传播:现将池化窗口中的元素全部除以它们的和,得到概率矩阵;在按照概率随机选中方格的值,作为区域池化的值
反向传播:求导时,只需要保留前向传播中已经被选中节点的位置的值,其他值都为0,类似 max-pooling 的反向传播
测试阶段
在测试时,使用随机池化会对预测值引入噪声,降低性能,取而代之的是使用概率矩阵加权平均,比使用平均池化好些。平均意义上,与平均池化近似,局部意义上,服从最大值池化准则
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。