卷积神经网络基本概念补充

卷积(convolution)、通道(channel)

卷积核大小一般为奇数,有中心像素点,便于定位卷积核。

步长(stride)、填充(padding)

卷积核移动的步长(stride)小于卷积核的边长(一般为正方行)时,便会出现卷积核与原始输入矩阵作用范围在区域上的重叠(overlap),卷积核移动的步长(stride)与卷积核的边长相一致时,不会出现重叠现象。

举例:

填充(padding,在原始input的周围进行填充),以保证卷积后的大小与原始 input shape 一致。

定量计算公式:

补零填充(zero padding):保证卷积后的大小与原始尺寸一致

K为卷积核的大小(K通常是奇数),这样如果原始 input 的大小为 w*w,填充后的大小为 (w+k-1)*(w+k-1)(两端都要填充)

卷积后的大小:

其中,w: input 的 height/width;k:卷积核的 height/width;p:表示填充的大小;s:stride 步长;

举例:

7*7 的 input,3*3 的 kernel,无填充,步长为1,则 o = (7-3)/1 +1=5,也即 output size 为 5*5

7*7 的 input,3*3 的 kernel,无填充,步长为2,则 o =(7-3)/2+1=3,也即 output size 为 3*3

感受野

感受野指的是卷积神经网络每一层输出的特征图(feature map)上每个像素点映射回输入图像上的区域大小。第一层卷积层的输出特征图像素的感受野大小等于卷积核的大小,其它卷积层的输出特征图的感受野的大小和它之前所有层的卷积核大小和步长都有关。神经元感受野的范围越大表示其能接触到的原始图像范围就越大,也意味着它能学习更为全局,语义层次更高的特征信息,更能检测出大目标,相反,范围越小则表示其所包含的特征越趋向局部和细节(比如说位置或者颜色)。因此感受野的范围可以用来大致判断每一层的抽象层次,并且我们可以很明显地知道网络越深,神经元的感受野越大。

VGG使用上图第一种方法,用多个3*3卷积核堆叠代替大的卷积核(5*5)来减少参数量。

解释:设原图大小h*w*c,卷积后通道数保持不变(如本文第一张图的图③,卷积后通道数为2,原图通道数为3,要使卷积后通道数保持不变应再加一组卷积核,即卷积核组数=原图通道数),计算卷积核参数的数量:

2个3*3:(3*3*c)*c*2=18c^2

1个5*5:(5*5*c)*c=25c^2

由此可见,得到相同大小的特征图和感受野,用多个3*3卷积核堆叠代替大的卷积核(5*5),参数量有所下降。而且由于是多个卷积层的堆叠,每个卷积层后都加relu激活,那么提取出来特征的非线性就更强

卷积核:k*k,k太大会增加后续的计算量且信息抽象层次不够高,影响网络性能,k太小会造成非常严重的信息丢失,如原始分辨率映射到最后一层的feature map有效区域可能不到一个像素点,使得训练无法收敛。k一般为奇数,有中心像素点,便于定位卷积核。

计算每一层特征图的感受野:

举例:

反卷积

为了更深度的了解反卷积,现在还来看下卷积的数学操作。

1、卷积的数学操作

如果把卷积操作写成矩阵相乘,则对于4 ∗ 4的输入和3 ∗ 3的卷积核的结果如下:

最后得到一个4 ∗ 1的矩阵,可以reshape成2 ∗ 2的矩阵,便是最后卷积的结果,即y=cx

参考1

参考2

参考3

相关推荐
学术头条30 分钟前
AI 的「phone use」竟是这样练成的,清华、智谱团队发布 AutoGLM 技术报告
人工智能·科技·深度学习·语言模型
孙同学要努力39 分钟前
《深度学习》——深度学习基础知识(全连接神经网络)
人工智能·深度学习·神经网络
喵~来学编程啦1 小时前
【论文精读】LPT: Long-tailed prompt tuning for image classification
人工智能·深度学习·机器学习·计算机视觉·论文笔记
Chef_Chen3 小时前
从0开始学习机器学习--Day13--神经网络如何处理复杂非线性函数
神经网络·学习·机器学习
-Nemophilist-3 小时前
机器学习与深度学习-1-线性回归从零开始实现
深度学习·机器学习·线性回归
Chef_Chen5 小时前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
好喜欢吃红柚子7 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
羊小猪~~7 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
软工菜鸡8 小时前
预训练语言模型BERT——PaddleNLP中的预训练模型
大数据·人工智能·深度学习·算法·语言模型·自然语言处理·bert
哔哩哔哩技术9 小时前
B站S赛直播中的关键事件识别与应用
深度学习