一、卷积神经网络
1.定义
卷积神经网络(Convolutional Neural Network, CNN)是一种专门用于处理具有网格状拓扑结构数据的深度学习模型,特别适用于图像和视频处理。CNN 通过局部连接和权重共享机制,有效地减少了参数数量,增强了模型的泛化能力。
2.特点
(1)局部卷积:可以捕捉到图像中的局部特征而不受其位置的影响;
(2)参数共享;
(3)多卷积核(每个卷积核都会对输入图像进行卷积处理,生成另一幅图像);
(4)池化操作:降采样处理(down-pooling),是对不同位置的特征进行聚合统计。通常是取对应位置的最大值(最大池化)、平均值(平均池化)等;
池化的优点:1)降维;2)克服过拟合;3)在图像识别领域,池化还能提供平移和旋转不变性。
(5)多层处理:一般而言,在图像处理中,一层卷积及降采样往往只学到了局部的特征。层数越多,学到的特征越全局化。
3.卷积过程
卷积操作就是用一个可移动的小窗口来提取图像中的特征,这个小窗口包含了一组特定的权重,通过与图像的不同位置进行卷积操作,网络能够学习并捕捉到不同特征的信息。
这张图中蓝色的框就是指一个数据窗口,红色框为卷积核(滤波器),最后得到的绿色方形就是卷积的结果(数据窗口中的数据与卷积核逐个元素相乘再求和)
卷积需要注意哪些问题?
a.步长stride:每次滑动的位置步长。
b. 卷积核的个数:决定输出的depth厚度。同时代表卷积核的个数。
c. 填充值zero-padding:(0的圈数)在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。数据填充的主要目的是确保卷积核能够覆盖输入图像的边缘区域,同时保持输出特征图的大小。
以上图为例,那么:
• 数据窗口每次移动两个步长取 3*3 的局部数据,即 stride=2 。
• 两个神经元,即 depth=2 ,意味着有两个滤波器。
• zero-padding=1 。
参考自:【深度学习】一文搞懂卷积神经网络(CNN)的原理(超详细)_卷积神经网络原理-CSDN博客
二、CNN经典模型之LeNet-5模型分析