卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它在输入数据中通过一个称为卷积层的层级结构来使用滤波器(或称为卷积核)。CNN的设计灵感来自于人类视觉系统的工作原理,特别是它们能够通过较少的参数数量捕捉输入数据的局部特征和空间层次结构。
- 局部感受野:每个卷积神经元只与输入数据的一个局部区域(即感受野)相连接,这使得网络能够捕捉局部特征。
- 滤波器(卷积核):卷积层使用一组可学习的滤波器,这些滤波器在输入数据上滑动(卷积),并在每个位置计算内积,生成特征图(Feature Map)。
- 权重共享:所有位置的卷积神经元共享相同的权重和偏置,减少了模型参数。
- 非线性引入:在卷积层之后通常使用非线性激活函数(如ReLU),以引入非线性,使得网络能够学习复杂的函数映射。
- 降维:池化层通过采样(如最大池化或平均池化)减少特征图的空间尺寸,降低参数数量和计算量。
- 不变性:池化增加了网络对输入变化(如平移、缩放)的不变性。
- 深度结构:CNN通过多个卷积和池化层的堆叠,形成深度结构,能够从简单到复杂逐层提取特征。
- 特征抽象:较低层可能捕捉边缘等简单特征,而高层则可能捕捉更抽象的概念,如物体的部分或整体。
- 分类器:在多个卷积和池化层之后,CNN通常包含一个或多个全连接层,用于将学习到的特征映射到最终的输出,如分类标签。
- 训练:CNN通过反向传播算法和梯度下降来训练。网络的权重通过最小化损失函数(如交叉熵损失)来调整,以提高模型的预测性能。
- 参数共享:由于权重共享,CNN能够用较少的参数捕捉输入数据的局部特征。
- 稀疏连接:每个卷积神经元只与输入数据的一个局部区域相连接,这使得网络更加稀疏,减少了计算量。