下述只是个人笔记,仅供参考
1 池化
1.1 池化讲解
一般来说,在池化操作中,步长(stride)通常被设置成等于池化窗口的大小。这样的设置确保了每次池化操作都是在不重叠的区域上进行,从而最大化地减少特征映射的维度,并且每个输入值只被考虑一次,这使得操作更加高效。这种方法也被称作“非重叠池化”(non-overlapping pooling)。
1.2 池化的作用
- 降维:池化操作通过减少特征图的空间尺寸来降低后续层的计算负担。这种降维能有效减少模型的参数数量,从而减少过拟合的风险。
- 保留主要特征:通过选择最显著的特征(如最大池化中的最大值),池化能够保留重要的特征信息。
- 增强空间不变性:池化使网络对输入图像中小的变化和扭曲更加鲁棒。例如,物体的精确位置可能会在不同的图像中有所变化,但由于池化的作用,这种小的位置变化不会影响网络的输出。
- 减少噪声:通过在局部区域内进行最大值或平均值运算,池化可以帮助减少输入数据的噪声。
2 全连接层
在卷积神经网络(CNN)中,最后一层通常使用全连接层(也称为密集层),这是由几个关键原因决定的:
1. 特征整合
- 高级特征学习:CNN中的卷积层和池化层主要负责从输入数据(如图像)中提取局部特征(如边缘、纹理等)。随着网络层次的加深,这些特征变得越来越抽象,从而表示更高级的视觉概念。
- 整合特征:全连接层的目的是将这些学习到的高级特征整合在一起,以进行最终的预测。这意味着全连接层可以学习特征间的复杂关系,并将它们映射到样本的最终分类或其他预测任务上。
2. 空间不变性
- 空间布局丢弃:卷积层保留了输入数据的空间结构,这对于特征提取非常重要。然而,在预测时,特别是在分类任务中,输入的精确空间布局可能不那么重要。全连接层实质上会忽略输入特征的空间结构,仅关注特征的存在性而非其具体位置。
3. 最终决策
- 映射到输出空间:全连接层能够将特征映射到最终的输出空间(例如,分类任务中的类别标签)。例如,如果你有一个10类分类问题,最后一个全连接层将具有10个神经元,并使用softmax激活函数来代表10个类别的概率分布。
4. 网络设计的灵活性
- 特征融合:全连接层提供了一个阶段,在这个阶段,来自不同卷积层的特征可以被组合和融合。这对于一些复杂的模型架构特别有用,如在某些网络中,来自不同层的特征直接被送入最后的全连接层。
限制和变体
尽管全连接层在很多情况下都非常有用,它们也带来了一些限制,例如参数数量的显著增加和对输入数据形状的固定要求。因此,在某些现代的CNN架构中,可能会采用全局平均池化层来替代全连接层,以减少模型参数并提高模型的空间灵活性。
总之,全连接层在CNN中的使用主要是为了整合卷积层和池化层提取的高级特征,并将这些特征映射到最终的任务预测上。尽管有其限制,但全连接层因其在特征整合和决策制定方面的能力而被广泛应用。