深度学习笔记:CNN卷积神经网络解析

需积分: 9 5 下载量 28 浏览量 更新于2024-09-10 收藏 212KB DOCX 举报
"CNN简单笔记" 在深度学习领域,卷积神经网络(CNN)是一种非常重要的模型,尤其在图像处理和计算机视觉任务中表现卓越。CNN的设计灵感来自于生物视觉系统,其核心在于通过滤波器(filter)来检测图像中的特征。 CNN的结构通常包括输入层、卷积层(CONV)、激励层(如ReLU)、池化层(POOL)以及全连接层(FC)。在这些组件中,卷积层是CNN的核心,它负责提取图像的特征。滤波器是一组固定权重的神经元,通过在输入数据上进行卷积操作来识别图像的模式。 卷积操作本质上是对输入数据与滤波器进行内积计算。假设输入数据是一个二维矩阵,滤波器也对应一个小型的二维矩阵,它们按预设的步长(stride)在输入数据上移动,逐个计算内积并累加,形成一个输出值。这一过程在深度方向上重复,形成了多通道输出,即输出的深度(depth)。深度决定了输出特征的数量,同时也代表了使用了多少个不同的滤波器。 滤波器在图像上滑动时,为了保持输出特征图的尺寸稳定,可能会使用填充(padding)。填充是在输入数据边缘添加一圈零值,使得每次滤波器移动后,覆盖的数据区域仍然相同。这样可以确保即使在滤波器大小不等于输入数据尺寸时,输出特征图的尺寸也可以被精确控制。 激活函数在CNN中起到引入非线性的作用,常见的有sigmoid、tanh和ReLU。sigmoid和tanh常用于全连接层,它们将输出压缩到一个有限的区间,有助于梯度的传播。然而,sigmoid在接近饱和区时容易出现梯度消失的问题,而tanh的平均输出为0,可能对模型初始化有利。相比之下,ReLU函数在负区直接输出0,正区保持原值,它的线性性质避免了梯度消失问题,且计算效率更高,因此在卷积层中更常用。 CNN的池化层则用于降低特征图的空间维度,减少计算量的同时保持重要特征。常见的池化方式有最大池化和平均池化,前者保留每个区域的最大特征值,后者取平均值,有助于模型的鲁棒性。 最后,全连接层将卷积层和池化层提取的特征与分类任务联系起来,通常用于实现最终的分类或回归。在全连接层中,所有输入节点都与每个输出节点相连,形成密集的连接。 CNN通过卷积、激励、池化和全连接等操作,从原始图像中逐级抽取高级特征,逐步实现对图像内容的理解。这种层次化的特征提取机制是CNN在图像识别等领域取得成功的关键。