卷积神经网络(CNN)是深度学习领域的重要模型,它是一类包含卷积计算且具有深度结构的前馈神经网络,灵感源自生物学上的感受野机制,专门用于处理具有网格结构的数据,像时间序列数据和图像数据 。CNN 主要由卷积层、池化层和全连接层构成,各层相互协作,实现对数据的特征提取与分类。
- 卷积层:特征提取的核心:卷积层的关键功能是提取数据特征,内部包含多个卷积核,每个卷积核元素都有对应的权重和偏差量,其覆盖区域被称为 “感受野” 。在 CNN 里,卷积层的实际运算采用的是数学中的互相关操作,并非严格意义上的卷积 。互相关通过滑动窗口的点积计算衡量两个序列的相关性,而卷积需要对滤波器进行反转 。一维卷积常用于信号处理,计算信号的延迟累积;二维卷积在图像处理中,将图像和滤波器进行运算,输出特征图 。其输出尺寸受卷积核大小、填充(padding)和步幅(stride)影响。填充能避免图像尺寸因卷积变小,步幅决定卷积核滑动的像素数 。感受野会随着卷积网络深度增加而扩大,让输出特征图包含更丰富的语义信息 。多输入通道时,需对每个通道分别计算卷积再求和;多输出通道则要设计多个卷积核来提取不同特征 。实际计算中,常把多个样本组成 mini - batch 进行批量操作。此外,卷积层具有局部连接、稀疏交互和权重共享的特性,能够减少连接数,高效描述输入变量间的复杂关系,还使网络具备平移等变性质 。
- 池化层:降维与特征选择:池化层,也叫汇聚层或子采样层,主要作用是降维,通过特征选择和信息过滤来减少参数数量 。常见的池化方式有平均池化和最大池化,池化窗口在图像上滑动,步幅和填充会影响输出特征图大小,一般常用 2X2 大小的池化窗口,步幅为 2,填充为 0,这种设置可使输出特征图的高和宽减半,但通道数不变 。池化层不仅能减少神经元数量,还能让网络对局部形态的微小变化保持不变性,同时扩大感受野 。
- 全连接层:特征组合与输出:全连接层本身不具备特征提取能力,它的作用是将目标特征图展开为向量,对提取的特征进行非线性组合,从而得到最终输出 。
- 其他卷积方法:转置卷积用于将低维特征映射到高维;微步卷积通过调整转置卷积步长实现上采样;空洞卷积则是在不增加参数数量的前提下,增大感受野,通过在卷积核中插入空洞来达成 。
- CNN 的优势:在 CNN 出现之前,图像数据处理面临两大难题:数据量庞大,处理成本高、效率低;图像数字化过程中难以保留原有特征,导致处理准确率不高 。CNN 通过降维简化了复杂问题,还能以类似人类视觉的方式保留图像特征,即便图像发生翻转、旋转或位置变换,也能有效识别出相似图像 。