4.1卷积神经网络
觉得有用的话,欢迎一起讨论相互学习~
1.9池化层
优点
- 池化层可以缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性。
池化层操作
- 池化操作与卷积操作类似,但是池化操作是保留池化窗口在扫过原始图像中时的最大值。注意:每个信道都在其单独的信道中执行池化操作。
其维度公式也满足公式:
⌊ ( n + 2 p − f ) s + 1 ⌋ ∗ ⌊ ( n + 2 p − f ) s + 1 ⌋ \lfloor\frac{(n+2p-f)}{s}+1\rfloor*\lfloor\frac{(n+2p-f)}{s}+1\rfloor ⌊s(n+2p−f)+1⌋∗⌊s(n+2p−f)+1⌋
其中n为原始图像大小,p为Padding填充维度,f为卷积核大小,s为步长
- 平均池化层较最大池化层不那么常用,其特点是选取其扫过的原始图片中池化窗口中的平均值而不是最大值。
- 池化的超参数有:filter size池化窗口大小,stride池化步长,其中filter size 通常选取2,stride池化步长也选择为2
- 池化层很少使用到Padding
1.10卷积神经网络示例
- 此例中卷积层和池化层的组合被称为一个Layer。也有几个卷积层后跟一个池化层的情况,也是很常见的。
- 找到合适自己的超参数的好方法是大量阅读同类型的别人的论文中提出的结构和方法,使用与其近似的超参数解决问题。
1.11为什么使用卷积
- 卷积层相对于普通全连接神经网络最终要的两个特点是:参数共享(parameter sharing)和稀疏连接(sparsity of connections)
卷积层和全连接层参数比较
- 对于一个 32 ∗ 32 ∗ 3 32*32*3 32∗32∗3的3通道图片来说,使用6个 5 ∗ 5 5*5 5∗5的卷积核进行卷积操作,得到的是 28 ∗ 28 ∗ 6 28*28*6 28∗28∗6的6通道图片。假设使用全连接神经网络,第一层会有 32 ∗ 32 ∗ 3 = 3072 32*32*3=3072 32∗32∗3=3072个神经元,而得到的图片需要用 28 ∗ 28 ∗ 6 = 4704 28*28*6=4704 28∗28∗6=4704个神经元进行表示。则需要的参数数量为 3072 ∗ 4074 ≈ 14 M 3072*4074\approx14M 3072∗4074≈14M.但是使用卷积神经网络只需要 ( 5 ∗ 5 + 1 ) ∗ 6 (5*5+1)*6 (5∗5+1)∗6=156个参数。
参数共享(parameter sharing)
- 卷积核用以表示学习到的特征,所扫过的区域共用一个卷积核。
稀疏连接(sparsity of connections)
- 稀疏连接(sparsity of connections)表示得到的特征图中的节点只与原始图片中的特定节点相连接。与其余节点的取值无关。
- 更少的参数可以有效的防止过拟合。