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)中,每个卷积核负责提取输入数据(如图像)的一种特定局部特征。这里的局部特征可以是图像的边缘、角点、纹理或者更抽象的模式。

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

相关推荐
AI数据皮皮侠1 天前
中国乡村旅游重点村镇数据
大数据·人工智能·python·深度学习·机器学习
民乐团扒谱机1 天前
【微科普】BERT 主题建模 + 多模态分析,解锁阆中古镇评论数据价值
人工智能·深度学习·bert
Keep_Trying_Go1 天前
accelerate 深度学习分布式训练库的使用详细介绍(单卡/多卡分布式训练)
人工智能·pytorch·分布式·深度学习
光羽隹衡1 天前
深度学习----PyTorch框架(手写数字识别案例)
人工智能·pytorch·深度学习
Jerryhut1 天前
opencv总结9——答题卡识别
人工智能·opencv·计算机视觉
deephub1 天前
DecEx-RAG:过程监督+智能剪枝,让大模型检索推理快6倍
人工智能·深度学习·大语言模型·agent·剪枝·reg
brent4231 天前
DAY44 Dataset和Dataloader类
python·深度学习
人工智能培训1 天前
10分钟了解向量数据库(2)
人工智能·深度学习·机器学习·cnn·智能体
zl_vslam1 天前
SLAM中的非线性优-3D图优化之地平面约束(十四)
算法·计算机视觉·平面·3d
bubiyoushang8881 天前
MATLAB空间域图像增强技术详解与实现
图像处理·计算机视觉·matlab