1.1 感受野
1.1.1 定义
定义:卷积神经网络中的特征图上的一个像素点在输入图像上映射的区域大小。
1.1.2 例子:
-
55的输入特征图经过1个55的卷积核,生成11的特征图,
-
55的输入特征图经过两个33的卷积核,生成11的特征图。
上面两个的感受野都为55,且两个33的卷积核等于一个55
注:上面满足卷积的计算公式:
Hout=Hin−k+2pSH_{out} = frac {H_卷积云{in} – k + 2p卷积公式表大全}{S}
1.1.3 感受野大小的计算
方法一:从后往前推
公式讲解
感受野大小计算需要注神经网络的基本原理意以下几点:
- ==最后一层感受野的大小等于核(不一定是卷积神经网络英文核,还有可能是池化核)的大小==(当前的感受野相当于卷积“临时感受野”,用于从后往前推)
- 感受野大小的计算不考虑padding的大小
- 当前层(i层)的感受野大小和当前层(i层)的卷积核大小和步长有关,同时也和网络后一层(i+1)层特征图的感受野大小有卷积层关
RFi=(RFi+1−1)stride+KRF_i = (RF_{i+1} –像素画生成器 1) stride + K
RFiRF_i表示第ii层的感受野大卷积小,stride表示步长,K表示卷积核大小
通俗解释
假设有如下网络,现在我们要计算第i+1的感受野,那么,
- 首先确定i卷积公式+1层核(卷积核或池化核)大神经网络算法三大类小即为感受野的大小
- 利用上面的公式计算第i层感受野的大小
- 依照神经网络是什么上面的公式一直推到i像素冒险世界nput层,==最终计算的结果即为i+1的感受野的大小==
方法二:从前往后推
公式讲解
顾名思义,从网络的输入层一直推到我们想要计算层的感受野
RFi+1=RFi+卷积公式(k−1)∗SiRF_{i+1} = RF_i + (k – 1) * S_i
SiS_i 表示之前所有层的步长的乘积,神经网络对信息的存储依赖什么==不包含当前层==,即
Si=∏i=0nStrideiS_i = prod_{i=0}^n Stride_i
通俗理解
依旧如图所示,我们需要计算第i+1的层感受野的大小,那么,
- 首卷积运算先确定input层后面的核(卷积核或池化核,一般为卷积核)大小,
- 依照公式逐渐往后推到i+1的感受野卷积层大小
1.1.4 验证
验证上面例子
方法一:从后往前推
如果第神经网络的基本原理一种情况,使用55的卷积核,最后一层为11,那么最后一层的感受野为卷积核大小,即5
如果第二种情况,使用两个33的卷积核(步幅为1),最后一层的“临时感受野”为卷积核大小,即卷积积分33,前一层的感受野为:
RF卷积积分=(3−1)1像素生存者2+3=5RF = (3 – 1) 1 + 3 = 5,最终,最后一层的感受野大小为5
方法二:从前往后推
第一种情况,使用55的卷积核,那么最后的感受野即为5
第二种情况,第一个卷积核为33卷积积分,那么最开始的感受野为3,第二个卷积核为33,生成的特征图的感受野为:
Si=1S_i= 1 前面一个卷积核的步长为1
$$$像素射击下载R像素勇士大创造攻略F_2 = RF_1 + (K-1)*S卷积云 = 3 + (3-1)*1 = 3 + 2 = 5$$
如上,两个情神经网络算法况的的感受野都为5,和上图一致。
例子
layer | kernel size | stide | ∏instidei像素prod_i^nstide_i |
---|---|---|---|
in卷积公式表大全put | |||
conv1 | 3*3 | 1 | |
pool1 | 2*2 | 2 | 1 |
conv2 | 3*3 | 1 | 2 |
pool2 | 2*2 | 2 | 2 |
conv3 | 3像素画*3 | 1 | 4 |
conv4 | 3*3 | 1 | 4 |
pool3 | 2*2 | 2 | 4 |
方法一:从后向前推:
最后像素涂色一层为pool3:RF = 2 (临时感受野为核大小)
conv4 = (2 – 1) * 1 + 3 = 4
conv3 = (4像素 – 1) * 1 + 3 = 6
pool2 = (6 – 1) * 2 + 2 = 12
conv2 = (12 – 1) * 1 + 3 = 14
pool1 = (14 – 1) * 2 + 2 = 28
conv1 = (卷积云28 – 1卷积的物理意义) * 1 + 3 = 30
所以,pool3的感受野神经网络是什么为30
方法神经网络二卷积核:从前往后推
为了方便计算,再上面表格中计算了∏instideiprod_i^nst神经网络算法三大类ide_i,
conv1的感受野即为卷积核大小,即
conv1=3conv1 = 3
pool1=3+(k−1)∗s=3+(2−1)∗1=3+1=4pool1= 3+(k-1) * s = 3 + (卷积云2-1) * 1 = 3 +1 = 4
conv2=4+(k−1)∗s=4+(3−1)∗2=卷积4+4=8conv2 = 4 +(k – 1)*s = 4+(3-1)*2=4神经网络对信息的存储依赖什么+4 = 8
pool2=8+(k−1)∗s=8+(2−1)∗2=8+像素冒险世界2=10pool2 = 8 + (k-1)*s = 8 + (2-1)*2 = 8+2 = 10
conv3=10+(k−1)∗s=10+(3−1)∗4=10+卷积层8=18conv3 = 10 + (神经网络的基本原理k-1)*s = 10 + (3-1)*4 = 10+8 = 18
conv4=18+(k−1)∗s神经网络是什么=18+(3−1)∗4=18+8=26conv4 = 18 + (k-1)*s = 18+(3-1)*4 = 18+8 = 26
pool3=26+(k−1)∗s=26+(2−1)∗4=26+4=30pool3 = 26+(k-1)*s = 26 +(2-1)*4 = 26 + 4 = 30
如上,两种计算得到的结果相同
1.神经网络对信息的存储依赖什么1.5 小结
- 感受野计算有两种方法,
- 从后往前推,得到的最终结果即为计算起始位置的感受野,
- 从前往后退,从网络开始到需要计算的层的之间的感受野都会计算出,需要计算连乘
参考文献
[1] zhuanlan.z卷积神经网络的工作原理hihu.com/p/113487374
[2] blog.csdn.net/program_dev…
[3] blog.csdn.net/qq_41076797…
[4] www.360doc.com/content/20/…
本文神经网络算法由博客一文多发平台 OpenWrite 发布!