文章目录
- 一、卷积神经网络(CNN)
- 二、CNN结构特性
- 1. CNN 典型结构
- 2. 局部连接
- 3. 权重共享
- 4.空间或时间上的次采样
- 三、理解层面
一、卷积神经网络(CNN)
- 卷积神经网络(Convolutional Neural Network,CNN)是一种用于处理图像和其他多维数据的深度学习模型。它在计算机视觉任务中表现出色,如图像分类、目标检测、语义分割等。
- CNN的核心思想是利用卷积操作来提取图像的特征,并通过层层堆叠的方式进行深度学习。
二、CNN结构特性
1. CNN 典型结构
- 卷积块:由连续 M(2 - 5)个卷积层和 b(0 或 1)个池化层构成。多个卷积层可逐步提取不同层次的图像特征,池化层则在适当位置对数据降维。
- 卷积网络堆叠:一个卷积网络中可堆叠 N(1 - 100 或更大)个连续的卷积块,之后连接 K(0 - 2)个全连接层。卷积块负责特征提取,全连接层整合特征用于最终任务。
2. 局部连接
传统FNN中神经元与所有输入相连,参数众多;而CNN里神经元仅与输入数据的局部区域相连,大幅降低参数数量,增强了模型对图像的特征提取能力。
全连接神经网络(FNN)
FNN 的局限性:
- 参数巨大:权重矩阵的参数数量庞大,计算量呈指数级增长和训练时间过长。
- 特征提取困难:图像具有局部不变性特点,即局部区域特征在不同位置可能具有相似性,但 FNN 难以有效捕捉这类特征,限制了其在图像分析任务中的表现。
- 卷积层(Convolutional Layer):
- 功能:卷积层是 CNN 的核心组件,主要负责提取图像的局部特征,并完整输出特征图。
- 参数包含:
- 卷积核(Kernels):卷积核如同特征提取的 “探测器”,具有不同的个数、大小(用宽 W 和高 H 表示)以及通道数(Channel,分为单通道和多通道)。不同的卷积核能够捕捉不同类型的特征,如边缘、纹理等。
- 步长(Stride):步长用于控制卷积核在输入数据上滑动的距离,不同的步长设置会改变输出特征图的大小。较大的步长会使特征图尺寸变小,减少计算量,但可能会丢失一些细节信息;较小的步长则能保留更多细节,但计算量会相应增加。
- 补边/填充(Padding):为避免卷积操作时边缘信息的丢失,在输入数据的边缘添加像素值,即补边 / 填充。通过合适的填充,可以使卷积操作后的输出和输入尺寸保持一致,确保边缘区域的特征也能被有效提取。
卷积核滑过输入特征图((Input FeatureMap),滑动到每一个位置时,卷积核中的每个元素与其覆盖的阴影部分输入数据对应位置的每个元素做乘积再求和,得到表示当前位置的输出数据,在全部滑动位置都计算完成后,就得到了输出矩阵,也叫做输出特征图(Output Feature Map)。
其中卷积核也叫过滤器或者滤波器,滤波器在输入像素矩阵上扫过的面积称之为感受野。
-
池化层(Pooling Layer):
- 功能:池化层也称为下采样层,通常在连续的卷积层之间会周期性地插入一个池化层。降低数据维度,减少参数数量,降低计算复杂度。
- 常见的池化类型有:
- 平均池化AveragePool:计算局部区域的平均值作为新元素,对特征进行平滑处理,保留整体特征的同时减少噪声影响。
- 最大池化MaxPool:选取局部区域的最大值作为新的特征图元素,能够突出显著特征,例如在图像中强化边缘和纹理等关键信息。
[图片]
- 反池化:与池化操作相反,用于在特定场景下恢复数据的维度,在一些需要上采样的任务中发挥作用。
- 池化层也有步长(Stride)参数,计算输出大小时一般不需要 填充(Padding)。
-
全连接层(Fully Connected Layer):
- 位于卷积层之后,需先将卷积层输出的特征图“摊平” 。
- 功能:整合之前所有层提取的特征,使网络拥有全局视野,用于最终分类或回归任务。连接前一层的特征,将输出值传入激活函数(如Softmax、ReLU等)。
激活函数(Activation Function)
- 卷积层和池化层后通常会添加激活函数,用于引入非线性特性。
- 常见的激活函数:
- ReLU
- Sigmoid
- Softmax
3. 权重共享
同一卷积核在处理图像不同位置时,权重保持不变。这极大减少了参数数量,同时也体现了图像局部不变性的特性,即相同特征无论出现在图像何处,都能用同一卷积核检测。
4.空间或时间上的次采样
主要由池化层实现,在空间(图像场景)或时间(视频等时间序列数据场景)维度上对数据进行下采样,降低数据规模,突出关键特征。
三、理解层面
- 特征学习:CNN旨在学习输入图像的特征。通过多层网络结构,逐步从原始像素数据中提取不同层次的特征。
- 层级理解:
- 前几层主要检测图像的边缘、线条等基础特征。
- 中间几层开始检测物体的部分区域,如纹理、形状片段等。
- 靠后几层能够检测完整的物体,实现对图像内容更高级、更抽象的理解。