卷积神经网络kernel/filter/stride
创始人
2024-03-15 15:06:05
0次

【关于神经网络的学习】

【参考】:卷积核filter和kernal的区别 - 一杯明月 - 博客园 (cnblogs.com)

【参考】:(1条消息) 卷积神经网络的卷积核(kernel)、输入尺寸(input)、步长(stride)、填充(padding)关系_MAR-Sky的博客-CSDN博客_padding stride 卷积核

卷积使用“kernel”从输入图像中提取某些“特征”。kernel是一个矩阵,可在图像上滑动并与输入相乘,从而以某种我们期望的方式增强输出

kernel是权重矩阵,将权重矩阵与输入相乘以提取相关特征。卷积名称就是kernel矩阵的维数。例如,2D卷积的kernel矩阵就是2D矩阵。

但是,filter是多个kernel的串联,每个kernel分配给输入的特定通道。filter总是比kernel大一维。例如,在2D卷积中,filter是3D矩阵(本质上是2D矩阵(即kernel)的串联)。因此,对于具有kernel尺寸h * w和输入通道k的CNN层,filter尺寸为k * h * w。

一个普通的卷积层实际上由多个这样的filter组成。为了简化下面的讨论,除非另有说明,否则假定仅存在一个filter,因为所有filter都会重复相同的操作。


卷积核(kernel):用于对输入图像进行共享权值的遍历;如果将图像每一个图像的每一个像素作为卷积输入层的元素,那么卷积核就相当与每个输入的权值,且有卷积核大小的一组输入使用同一组权值。例如,一个图像是99大小,卷积核是33;则输入是81个,共享权值是9个一组。
步长(stride):卷积核是在图片上移动后遍历每一个像素,每次移动的大小就是步长stride
填充(padding):是为了满足输出的图像的维度要求,最终图像的输出宽度会=原来输出宽度+2padding,因为是周围填充

字符含义:i:输入的宽度,k:卷积核的宽度,p:单边填充宽度,o:输出宽度,s:步长
 

padding:在输入特征图的每一边添加一定数目的行列,使得输出和输入的特征图的尺寸相同。

为什么要设置padding:

如果没有padding,每次进行卷积后,原始图像的尺寸就会越来越小,所以没有办法设计层数足够多的深度神经网络。
希望每个输入特征图的每一块都能作为卷积窗口的中心,防止丢失图像边缘信息。

卷积核尺寸通常选择奇数的原因:

padding=(size_filter−1​)/ 2

channel通道
在只有一个通道的情况下,“卷积核”就相当于“filter”,这两个概念是可以互换的。但在一般情况下,它们是两个完全不同的概念。每个“filter”实际上恰好是“卷积核”的一个集合,在当前层,每个通道都对应一个卷积核,且这个卷积核是独一无二的。

卷积过程中,输入层有多少个通道,filter就有多少个通道。

即:某一层filter的通道数 = 上一层特征图的通道数。

一般的图像都是三通道的,所以卷积核也应该为三个通道。比如对于32x32x3的图像,使用一个5x5x3的卷积核,最终会得到一个28x28x1的特征图。

但是filter的数量任意的,filter的数量决定了卷积后特征图的数量。

即:某一层输出特征图的通道数 = 当前层filter的个数


【【参考学习】】:(1条消息) CNN卷积神经网络中的stride、padding、channel以及特征图尺寸的计算_算了没办法的博客-CSDN博客_神经网络stride 

例:一个尺寸 a*a 的特征图,经过 b*b 的卷积层,步幅(stride)=c,填充(padding)=d,请计算出输出的特征图尺寸?
 

 例:输入4*4,卷积核3*3,stride = 1,padding = 0
              
              输出尺寸 = (4-3+0)/1 + 1 = 2


 



后面用到再补充学习!!!

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...