CNN卷积理解

1 卷积的步骤

1 过滤器(卷积核)(Filter或Kernel)

卷积层使用一组可学习的过滤器来扫描输入数据(通常是图像)。每个过滤器都是一个小的窗口,包含一些权重,这些权重通过训练数据进行学习。

过滤器的大小(例如3x3或5x5)决定了它观察输入数据的范围大小。较小的过滤器可以捕捉到细粒度的特征,而较大的过滤器可以捕捉到更大范围的特征。

每一个卷积核(或过滤器)通常被设计用来从输入图像中提取某类特征。

2 特征图(Feature Map)

当过滤器在输入数据上滑动(或卷积)时,它会计算过滤器与输入数据的局部区域之间的点乘积,生成特征图。每个特征图代表了过滤器检测到的特定类型的特征在输入数据中的位置。

例如,在处理图像时,一个过滤器可能专门用来检测边缘,另一个过滤器可能用来检测纹理。

3 步长(Stride)

步长决定了过滤器移动的间隔。步长为1意味着过滤器每次移动一个像素,步长为2则意味着每次移动两个像素。

步长的大小影响特征图的空间维度,步长较大会导致特征图的尺寸减小。

4 填充(Padding)

**为了保持特征图的尺寸不受过滤器大小的影响,或者为了防止边界信息丢失,可以在输入数据周围添加填充。**常见的填充方式有"valid"(不添加填充)和"same"(添加填充以保持尺寸不变)。

5 激活函数

卷积操作后通常会应用一个非线性激活函数,如ReLU(Rectified Linear Unit),以增加网络的非线性能力,使其能够学习更复杂的特征。

6 权重共享

在整个输入数据上,同一个过滤器的权重是共享的,这意味着无论过滤器在哪个位置,它都使用相同的权重。这使得CNN在参数数量上更加高效,同时也赋予了模型某种平移不变性。

2 卷积的例子

其中,新图像大小计算公式

CONV过程参考: 卷积运算的动态演示:

https://cs231n.github.io/assets/conv-demo/index.html

3 一些机制

局部感知主要是通过卷积核来实现的。在卷积神经网络(CNN)中,每个卷积核负责提取输入数据(如图像)的一种特定局部特征。这里的局部特征可以是图像的边缘、角点、纹理或者更抽象的模式。

参数共享机制就是说,在同一卷积层中,一个卷积核的权重在整个输入数据上共享。这不仅减少了模型的参数量,也使得模型对输入数据的局部区域具有更高的敏感度。

相关推荐
IT猿手13 小时前
基于CNN-LSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码
网络·cnn·lstm
hyshhhh14 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
Listennnn14 小时前
优雅的理解神经网络中的“分段线性单元”,解剖前向和反向传播
人工智能·深度学习·神经网络
AndrewHZ15 小时前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
牙牙要健康16 小时前
【目标检测】【深度学习】【Pytorch版本】YOLOV3模型算法详解
pytorch·深度学习·目标检测
jndingxin17 小时前
OpenCV 图形API(11)对图像进行掩码操作的函数mask()
人工智能·opencv·计算机视觉
Scc_hy17 小时前
强化学习_Paper_1988_Learning to predict by the methods of temporal differences
人工智能·深度学习·算法
阳光_你好17 小时前
请详细说明opencv/c++对图片缩放
c++·opencv·计算机视觉
誉鏐17 小时前
从零开始设计Transformer模型(1/2)——剥离RNN,保留Attention
人工智能·深度学习·transformer
契合qht53_shine17 小时前
OpenCV 从入门到精通(day_05)
人工智能·opencv·计算机视觉