理解卷积神经网络的卷积计算

引言

相信刚学卷积神经网络的人来说,要理解卷积神经网络是一件不容易的事情,我们先来看看卷积神经网络中要知道的卷积计算

相关词汇

filter = 卷积核
feature map = 卷积之后得到的输出结果
感受野(Receptive Field) = 卷积神经网络各输出层每个像素点在原始图像上的映射区域大小
两层 33 卷积操作的有效区域(感受野)是55 (所有filter的stride=1,pad=0),示意图如下:
在这里插入图片描述

卷积过程

在这里插入图片描述
如上图是一个6x6的输入和一个3x3的卷积核以步长为1进行卷积。

卷积神经网络结构

一个卷积神经网络里包括5个部分——输入层、若干卷积操作和池化层结合的部分、全局平均池化层、输出层:

  • 输入层:将每个像素代表一个特征节点输入网络。
  • 卷积操作部分:由多个滤波器组合的卷积层
  • 池化层:将卷积结果降维
  • 全局平均池化层:对生成的 feature map 取全局平均值
  • 输出层:需要分成几类,相应的就会有几个输出节点。每个输出节点都代表当前样本属于该类型的概率。

padding规则

padding 属性的意义是定义元素框与元素内容之间的空间。
为了方便解释,我们先定义几个变量

  • 输入的尺寸中高和宽定义成 in_height、in_width。
  • 卷积核的高和宽定义成 filter_height、filter_width。
  • 输出的尺寸中高和宽定义成 output_height、output_width。
  • 步长的高宽方向定义成 strides_height、strides_width。

1. VALID情况

输出宽和高的公式表示如下:
output_width = (in_width-filter_width + 1) / strides_width (结果向上取整)
output_height = (in_height-filter_height + 1) / strides_height(结果向上取整)

2. SAME情况

输出的宽和高将与卷积核没有关系,具体公式表示如下:
output_width = (in_width-filter_width + 1) / strides_width (结果向上取整)
output_height = (in_height-filter_height + 1) / strides_height(结果向上取整)
注 意 \color{red}{注意} :补零规则
pad_height = max((output_height-1) x strides_height +filter_height-in_height, 0)
pad_width = max((output_width-1) x strides_width +filter_height-in_width, 0)
pad_top = pad_height / 2
pad_bottom = pad_height - pad_top
pad_left = pad_width / 2
pad_right = pad_width - pad_left
上面公式表示中:

  • pad_height:代表高度方向要填充 0 的行列
  • pad_width:代表宽度方向要填充 0 的列数
  • pad_top、pad_bottom、pad_left、pad_right:分别代表上、下、左、右这四个方向填充0的行、列数。

3.举例

假设用‘一个一维数据来举例,输入是 13,filter是 6,步长是 5,对于 padding 的取值有如下表示:
“VALID"相当于 padding,生成的宽度为 (13-6+1)/ 5 = 2 (向上取整)个数字。
inputs: VALID
”SAME“=相当于 padding,生成的宽度为 13/5 = 3(向上取整)个数字
Padding 的方式可以如下计算:
Pad_width = (3-1) x 5+6-13 = 3
Pad_left = Pad_width / 2 = 3/2 = 1
Pad_right = pad_width - pad_left = 2

在左边补 1 个0,右边补 2 个0。
SAME

卷积有什么作用?

减少参数量,提取数据的重要特征,卷积的方式就可以看作是一个映射的过程。

参考资料

如果你想更加了解卷积神经网络的相关内容,请点击下方链接获取更多内容
https://pan.baidu.com/s/14jBtdx2d-4QHRgN7twdjSQ 提取码:ownj

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水花

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值