接受上述CNN介绍[学习笔记本P20-CNN],整理一下几个详细情况吧。
CNN框架:
“池层”(pooling layer )也称为子采样层,用于选择特征、减少特征数量和减少参数数量。
为什么conv-layer之后需要加pooling_layer?
卷积层【局部连接和权重共享】可以显著减少网络中的连接数,但特征映射组中神经元数量不显著减少。 如果在后面连接分类器,分类器的输入维数仍然很高,容易拟合。 为了解决这个问题,在卷积层之后添加轮询层可以降低特征维数,避免过拟合。
轮询是指对每个区域进行下采样(Down Sampling )而获得一个区域,是该区域的摘要。 常见的轮询函数有以下两种:
1 )最大池化(Max Pooling ) :一般取一个区域内所有神经元的最大值。
2 )平均池化:一般取区域内所有神经元的平均值。
上图显示了采样最大轮询子采样操作的示例。 可见,收敛层不仅可以有效减少神经元数量,而且可以建立网络对
一些小的局部形态变化保持不变性,有更大的感觉野。 http://www.Sina.com/http://www.Sina.com /
1 )过于执着于局部特征学习,忽视整体
经过3层Conv-layer 3x 3滤波器后,相当于仅用1层Conv-layer 7x7滤波器扫描原画(28-7 1=22 ); 从原图整体状态信息学习较少的底层精细局部简单特征到高层复杂大局更高特征,推进速度太慢。
2 )计算量依然较大
注意:过大的采样区域会急剧减少神经元的数量,会造成过多的信息损失。
1 )大幅降低参数,降低计算量
2 )用多层conv-layer间接用更大的过滤器扫描原画
如果只有conv-layer会怎么样?
1 )纵向转换的弊端
跳跃移位,容易overlook,忽略或丢失详细数据。
2 )平均轮询弊端
平均来说,容易引起淡化特征程度的效果问题。
最佳下行采样方法组合:
1 )统一转换
2 )最大轮询