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

卷积(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

相关推荐
子午3 小时前
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
人工智能·python·cnn
大耳朵爱学习3 小时前
掌握Transformer之注意力为什么有效
人工智能·深度学习·自然语言处理·大模型·llm·transformer·大语言模型
qq_15321452643 小时前
【2023工业异常检测文献】SimpleNet
图像处理·人工智能·深度学习·神经网络·机器学习·计算机视觉·视觉检测
B站计算机毕业设计超人6 小时前
计算机毕业设计Python+Flask微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
爬虫·python·深度学习·算法·机器学习·自然语言处理·数据可视化
羊小猪~~6 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
AI大模型知识分享9 小时前
Prompt最佳实践|如何用参考文本让ChatGPT答案更精准?
人工智能·深度学习·机器学习·chatgpt·prompt·gpt-3
小言从不摸鱼11 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
酱香编程,风雨兼程15 小时前
深度学习——基础知识
人工智能·深度学习
#include<菜鸡>16 小时前
动手学深度学习(pytorch土堆)-04torchvision中数据集的使用
人工智能·pytorch·深度学习
拓端研究室TRL16 小时前
TensorFlow深度学习框架改进K-means聚类、SOM自组织映射算法及上海招生政策影响分析研究...
深度学习·算法·tensorflow·kmeans·聚类