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

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

相关推荐
白熊18833 分钟前
【计算机视觉】OpenCV实战项目:GraspPicture 项目深度解析:基于图像分割的抓取点检测系统
人工智能·opencv·计算机视觉
高建伟-joe2 小时前
内容安全:使用开源框架Caffe实现上传图片进行敏感内容识别
人工智能·python·深度学习·flask·开源·html5·caffe
JarmanYuo3 小时前
ARM (Attention Refinement Module)
python·计算机视觉
t198751283 小时前
基于MATLAB-GUI图形界面的数字图像处理
人工智能·计算机视觉·matlab
卡尔曼的BD SLAMer4 小时前
计算机视觉与深度学习 | Python实现EMD-SSA-VMD-LSTM-Attention时间序列预测(完整源码和数据)
python·深度学习·算法·cnn·lstm
pk_xz1234564 小时前
实现了一个结合Transformer和双向LSTM(BiLSTM)的时间序列预测模型,用于预测温度值(T0),并包含了物理约束的损失函数来增强模型的物理合理性
深度学习·lstm·transformer
2201_754918414 小时前
OpenCV 光流估计:从原理到实战
人工智能·opencv·计算机视觉
落樱弥城5 小时前
角点特征:从传统算法到深度学习算法演进
人工智能·深度学习·算法
羽凌寒8 小时前
图像对比度调整(局域拉普拉斯滤波)
人工智能·计算机视觉
大模型铲屎官8 小时前
【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作
开发语言·人工智能·pytorch·python·深度学习·大模型·字典