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

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

相关推荐
Blossom.1182 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
scdifsn3 小时前
动手学深度学习12.7. 参数服务器-笔记&练习(PyTorch)
pytorch·笔记·深度学习·分布式计算·数据并行·参数服务器
海盗儿4 小时前
Attention Is All You Need (Transformer) 以及Transformer pytorch实现
pytorch·深度学习·transformer
不爱写代码的玉子5 小时前
HALCON透视矩阵
人工智能·深度学习·线性代数·算法·计算机视觉·矩阵·c#
sbc-study5 小时前
PCDF (Progressive Continuous Discrimination Filter)模块构建
人工智能·深度学习·计算机视觉
EasonZzzzzzz5 小时前
计算机视觉——相机标定
人工智能·数码相机·计算机视觉
春末的南方城市6 小时前
港科大&快手提出统一上下文视频编辑 UNIC,各种视频编辑任务一网打尽,还可进行多项任务组合!
人工智能·计算机视觉·stable diffusion·aigc·transformer
小喵喵生气气6 小时前
Python60日基础学习打卡Day46
深度学习·机器学习
红衣小蛇妖7 小时前
神经网络-Day44
人工智能·深度学习·神经网络
且慢.5898 小时前
Python_day47
python·深度学习·计算机视觉