学习 深度学习4-卷积神经网络总结
卷积神经网络
卷积神经网络(Convolutional Neural Network, CNN)是在全连接神经网络(FCNN)基础上优化而来的深度学习模型,核心优势是保留输入数据的空间结构(尤其适用于图像、视频等二维/三维数据),通过卷积层、池化层的特征提取与降维,解决了FCNN处理图像时破坏空间性、参数冗余的问题,最终通过全连接层完成分类、回归等任务。
1、CNN核心结构组成
CNN的典型结构为“输入层→卷积层(Conv)→池化层(Pool)→[卷积层+池化层]×n→全连接层(FC)→输出层”,其中卷积层和池化层是CNN的核心特征提取模块,全连接层负责最终的结果输出,各模块协同实现“特征提取→特征压缩→分类/预测”的完整流程。
与FCNN相比,CNN的核心改进的是:避免了全连接层对输入维度的强制扁平化(即不直接将图片转为一维向量),通过卷积、池化操作保留图像的空间关联信息(如像素间的相邻关系、纹理特征),同时通过参数共享减少网络参数,降低过拟合风险。
2、卷积层(Convolutional Layer)
卷积层是CNN进行特征提取的核心,核心作用是通过卷积核(Filter)对输入数据进行局部特征捕捉,同时可灵活调整输出数据的通道数和空间维度,其核心细节如下:
核心功能:对输入数据(如图片)进行局部卷积运算,提取底层(如边缘、纹理)和高层(如轮廓、目标)特征,保留数据的空间关联性,避免像FCNN那样破坏空间结构。
核心运算单元——卷积核:卷积核是一个小型的权重矩阵(如3×3、5×5),其数量决定了输出特征图的通道数;卷积核的通道数必须与输入数据的通道数完全一致(例如,输入为3通道彩色图片,每个卷积核也必须是3通道),确保运算的兼容性。
运算逻辑:卷积核在输入数据的空间维度上(高、宽)滑动,逐区域进行加权求和运算,运算完成后加上偏置值(b),得到该区域的特征值;最终所有区域的特征值组合形成输出特征图(Feature Map)。
影响运算的关键参数:填充(Padding):在输入数据的边缘填充0或其他值,目的是避免边缘特征被丢失,同时可控制输出特征图的维度;常用“Same Padding”(输出维度与输入一致)和“Valid Padding”(无填充,输出维度缩小)。步幅(Stride):卷积核每次滑动的距离(单位为像素),步幅越大,输出特征图的空间维度越小,运算速度越快;步幅越小,输出维度越大,特征捕捉越细致。
输出维度计算公式:假设输入数据的高为H、宽为W,卷积核高为Kh、宽为Kw,填充为P,步幅为S,则输出特征图的高和宽计算公式如下:
输出高 = (输入高 + 2×填充 - 卷积核高度) / 步幅 + 1
输出宽 = (输入宽 + 2×填充 - 卷积核宽度) / 步幅 + 1
注:公式结果需为整数,若不为整数,需通过调整填充或步幅确保运算有效。
多通道运算规则:当输入为多通道数据(如彩色图片,3通道)时,每个通道会对应卷积核的一个通道进行卷积运算,然后将所有通道的运算结果叠加(求和),得到一张单通道特征图;若使用n个卷积核同时运算,则会得到n张单通道特征图,组合后形成通道数为n的输出特征图(即输出通道数=卷积核数量)。
3、池化层(Pooling Layer)
池化层通常紧跟在卷积层之后,核心作用是对卷积层输出的特征图进行降维压缩,减少网络参数和计算量,同时保留关键特征、抑制过拟合,其核心细节如下:
核心功能:在不改变特征图通道数的前提下,缩小特征图的空间维度(高、宽),保留特征图的核心信息,降低后续全连接层的运算压力;同时能增强网络的鲁棒性(对输入数据的微小偏移、变形不敏感)。
常见池化操作:
最大池化(Max Pooling):最常用的池化方式,将池化核(如2×2)覆盖区域内的最大值作为输出值,能有效保留特征图中的关键纹理、边缘信息,适合分类任务。
平均池化(Average Pooling):将池化核覆盖区域内的所有值取平均值作为输出值,能保留特征图的整体灰度信息,减少极端值的影响,适合回归任务或需要保留全局特征的场景。
关键特点:池化操作仅作用于特征图的空间维度(高、宽),不改变通道数(输入通道数=输出通道数);且池化层无训练参数(无需调整权重w和偏置b),仅通过固定规则进行特征压缩。
输出维度计算公式:与卷积层一致,假设输入特征图的高为H、宽为W,池化核高为Kh、宽为Kw,填充为P,步幅为S,则输出特征图的高和宽为:
输出高 = (输入高 + 2×填充 - 池化核高度) / 步幅 + 1
输出宽 = (输入宽 + 2×填充 - 池化核宽度) / 步幅 + 1 注:池化核常用2×2,步幅常用2,此时输出维度会缩小为输入的1/2(无填充时)。
4、CNN与FCNN的核心区别
空间性保留:CNN通过卷积、池化操作保留输入数据的空间结构,适合处理图像等二维数据;FCNN会将输入扁平化(转为一维),破坏空间关联性。
参数数量:CNN采用参数共享(同一卷积核在整个特征图上复用),参数数量远少于FCNN,不易过拟合;FCNN相邻层全连接,参数冗余。
特征提取:CNN通过卷积核自动提取局部特征,无需人工手动设计特征;FCNN依赖输入数据的人工特征工程。
更多推荐

所有评论(0)