第九章 卷积网络
2020-2-19 深度学习笔记9 - 卷积网络1(卷积运算,动机-稀疏交互、参数共享、等变表示)
池化
回顾一下CNN卷积神经网络层级结构,看一下池化的位置
卷积网络中一个典型层包含三级,如下图所示。
- 在第一级中,这一层并行地计算多个卷积产生一组线性激活响应。
- 在第二级中,每一个线性激活响应将会通过一个非线性的激活函数,例如整流线性激活函数。这一级有时也被称为
探测级
。 - 在第三级中,我们使用
池化函数
来进一步调整这一层的输出。
使用池化可以看作是增加了一个无限强的先验:这一层学得的函数必须具有对少量平移的不变性【解释参见补充2】。当这个假设成立时,池化可以极大地提高网络的统计效率。
对空间区域进行池化产生了平移不变性,但当我们对分离参数的卷积输出进行池化时,特征能够学得应该对哪种变换具有不变性,如图9.9所示。
【补充1】
池化(Pooling):也称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。主要有:
- Max Pooling:最大池化
- Average Pooling:平均池化
通过池化层,使得原本4*4的特征图压缩成了2*2,从而降低了特征维度。
虽然人不太容易分辨出池化后的特征图,但是没关系,机器还是可以识别的。
【补充2–平移不变性】
Pooling is unsensitive to local translation.(局部不变性)
"If we translation the input by a small amount ,the values of mosts of the pooled outputs do not change."图像往左或者往右移动,pooling 的结果是不变的
卷积与池化作为一种无限强的先验
先验
被认为是强或者弱取决于先验中概率密度的集中程度。
- 弱先验具有较高的熵值,例如方差很大的高斯分布。这样的先验允许数据对于参数的改变具有或多或少的自由性。
- 强先验具有较低的熵值,例如方差很小的高斯分布。这样的先验在决定参数最终取值时起着更加积极的作用。
一个无限强的先验需要对一些参数的概率置零并且完全禁止对这些参数赋值,无论数据对于这些参数的值给出了多大的支持。
把卷积网络类比成全连接网络,但对于网络的权重具有无限强的先验。
- 所有隐藏单元的权重是共享的。
- 除了一些连续的小单元的权重外,其他的权重都是0。
- 池化也是一个无限强的先验:每个单元都具有对少量平移的不变性。
使用池化也是一个无限强的先验:每一个单元都具有对少量平移的不变性。当然,把卷积神经网络当作一个具有无限强先验的全连接网络来实现会导致极大的计算浪费。但把卷积神经网络想成具有无限强先验的全连接网络可以帮助我们更好地洞察卷积神经网络是如何工作的。
卷积和池化可能导致欠拟合!任何其他先验类似,卷积和池化只有当先验的假设合理且正确时才有用。如果一项任务依赖于保存精确的空间信息,那么在所有的特征上使用池化将会增大训练误差。
当我们比较卷积模型的统计学习表现时,只能以基准中的其他卷积模型作为比较的对象。