深度学习入门基础CNN系列——感受野和多输入通道、多输出通道以及批量操作基本概念

本篇文章主要讲解卷积神经网络中的感受野和通道的基本概念,适合于准备入门深度学习的小白,也可以在学完深度学习后将其作为温习。

如果对卷积计算没有概念的可以看本博主的上篇文章深度学习入门基础CNN系列——卷积计算

一、感受野(receptive field)

这里先给出概念,感受野:在卷积神经网络CNN中,决定某一层输出结果中一个元素所对应的输入层的区域大小,被称作感受野(receptive field)。
输出特征图上每个点的数值,是由输入图片上大小为 k h × k w k_h\times k_w kh×kw的区域的元素与卷积核对应每个元素相乘再相加得到的,所以输入图像上 k h × k w k_h\times k_w kh×kw区域内每个元素数值的改变,都会影响输出点的像素值。==我们将这个区域叫做输出特征图上对应点的感受野。==感受野内每个元素数值的变动,都会影响输出点的数值变化。比如 3 × 3 3\times3 3×3卷积对应的感受野大小就是 3 × 3 3\times3 3×3,如下图所示:
在这里插入图片描述
而通过两层 3 × 3 3\times3 3×3卷积之后,感受野的大小将会增加到 5 × 5 5\times5 5×5,如下图所示:
在这里插入图片描述
因此,当增加卷积网络深度的同时,感受野将会增大,输出特征图中的一个像素点将会包含更多的图像语义信息。

二、多输入通道、多输出通道和批量操作

前面几篇文章的卷积计算过程比较简单,实际应用时,处理的问题要复杂的多。例如:对于彩色图片有RGB三个通道,需要处理多输入通道的场景。输出特征图往往也会具有多个通道,而且在神经网络的计算中常常是把一个批次的样本放在一起计算,所以卷积算子需要具有批量处理多输入和多输出通道数据的功能,下面将分别介绍这几种场景的操作方式。

2.1 多输入通道场景

在上面的例子中,卷积层的数据是一个2维的数组,但实际上一张图片往往含有RGB三个通道,要计算卷积的输出结果,卷积核的形式也会发生改变,假设输入图片的通道数为 C i n C_{in} Cin,输入数据的形式是 C i n × H i n × W i n C_{in}\times H_{in}\times W_{in} Cin×Hin×Win,计算过程如下图所示。
在这里插入图片描述
步骤如下:

  1. 对每个通道分别设计一个2维数组作为卷积核,卷积核数组的形状为 C i n × K h × K w C_{in}\times K_{h} \times K_{w} Cin×Kh×Kw
  2. 对任意一个通道 C i n ∈ [ 0 , C i n ) C_{in} \in [0,C_{in}) Cin[0,Cin),分别用大小为 k h × k w k_{h}\times k_{w} kh×kw的卷积核在大小为 H i n × W i n H_{in}\times W_{in} Hin×Win的二维数组上做卷积。
  3. 将这 C i n C_{in} Cin个通道的计算结果相加,得到的是一个形状为 H o u t × W o u t H_{out}\times W_{out} Hout×Wout的二维数组。

2.2 多输出通道场景

一般来说,卷积操作的输出特征图也会具有多个通道 C o u t C_{out} Cout,这时候我们需要设计 C o u t C_{out} Cout个维度为 C i n × k h × k w C_{in} ×k_{h} ×k_{w} Cin×kh×kw的卷积核,卷积核数组的维度是 C o u t × C i n × k h × k w C_{out}\times C_{in}\times k_h \times k_w Cout×Cin×kh×kw,如下图所示:
在这里插入图片描述
步骤如下:

  1. 将任意一输出通道 C o u t ∈ [ 0 , C o u t ] C_{out}\in[0,C_{out}] Cout[0,Cout],分别使用上面描述的形状为 C i n × k h × k w C_{in} ×k_{h} ×k_{w} Cin×kh×kw的卷积核对输入图片进行卷积。
  2. 对这 C o u t C_{out} Cout个形状为 H o u t × W o u t H_{out}\times W_{out} Hout×Wout

说明:
通常将卷积核的输出通道数叫做卷积核的个数。

2.3 批量操作

在卷积神经网络的计算中,通常将多个样本放在一起形成一个mini-batch进行批量操作,即输入数据的维度是 N × C i n × H i n × W i n N\times C_{in}\times H_{in}\times W_{in} N×Cin×Hin×Win。由于会对每张图片使用同样的卷积核进行卷积操作,卷积核的维度与上面多输出通道的情况一样,仍然是 C o u t × C i n × k h × k w C_{out}\times C_{in}\times k_h \times k_w Cout×Cin×kh×kw,输出特征图的维度是 N × C o u t × H o u t × W o u t N\times C_{out} \times H_{out} \times W_{out} N×Cout×Hout×Wout,如下图所示:

在这里插入图片描述

附:
深度学习入门基础CNN系列——填充(padding)与步幅(stride)
深度学习入门基础CNN系列——卷积计算

  • 14
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心无旁骛~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值