2020-12-09 深度学习 卷积核/过滤器、特征图(featue map)、卷积层

概念学习:卷积核/过滤器、特征图(featue map)、卷积层

作为基础学习,建议先看一看电子版的:

[美] Michael Nielsen著,Xiaohu Zhu/Freeman Zhang译:《神经⽹络与深度学习》(Neural Networks and Deep Learning)

这本书深入浅出,把神经网络的基本原理讲得比较清楚。

 

人们把feature map翻译成特征图,把channel翻译为通道。有时这二者说的是同一件事;但有时强调输入输出时就叫通道,强调图片经过神经网络运算后发现的特征就叫特征图。在下文的说明过程中,我们不做显著的区分,同学们可以理解为上一层输出的feature maps就是下一层输入的channels。

 

(1)卷积核/过滤器

卷积核也称为过滤器(filter)。

每个卷积核具有长、宽、深三个维度。

卷积核的长、宽都是人为指定的,长X宽也被称为卷积核的尺寸,常用的尺寸为3X3,5X5等。

在指定卷积核时,只需指定其长和宽两个参数,这是因为通常卷积核的深度(也可以理解为通道数)与当前图像的深度(feather map的个数,比如:RGB三个通道就是三个feature map)相同。

卷积过程中,输入层有多少个通道(输入的feature map个数),滤波器就要有多少个通道(卷积核的深度);但是滤波器的数量是任意的,滤波器的数量决定了卷积后输出的通道数(即:输出的feature map 个数)。

在许多常用的体系结构中,随着计算所使用的网络越来越深,所使用的过滤器数量也越来越大(例如,第二个为64,第三个为128,依此类推)。

 

(2)feature map

输入层:在输入层,如果是灰度图片,那就只有一个feature map(一个通道);如果是彩色图片,一般就是3个feature map(红绿蓝三个通道)。

其它层:层与层之间会有若干个卷积核(kernel)(也称为过滤器),上一层的feature map(通道)跟每个卷积核做卷积,都会产生下一层的一个feature map;有N个卷积核,下层就会产生N个feather map(即:N个输出通道)。

 

(3)卷积层

许多卷积架构是从一个外部卷积单元开始的,它将信道RGB的输入图像映射到一系列内部过滤器中。在深度学习框架中,这个代码可能如下所示:

 

out_1=Conv2d(input=image, filter=32, kernel_size=(3,3), strides=(1,1))

relu_out=relu(out_1)

pool_out=MaxPool(relu_out, kernel_size=(2,2), strides=2)

 

对一个输入图片,这里使用了32个的过滤器,每个过滤器尺寸为3X3,步长为1。

下面这张图,可以用来显示上述代码片段中所有的操作:

 

上图中,32个过滤器中的每个过滤器(即:Filter-1、Filter-2……)实际上包含一组3个二维内核(Wt-R、Wt-G和WT-B,即:深度为3)。这些二维内核中的每一个分别保存为输入图片中的红(R)、绿(G)和蓝(B)信道。

在正向传播期间,输入图片中的R、G和B像素值分别与Wt-R、Wt-G和Wt-B内核相乘以产生一个间歇激活映射(intermittent activation map)(图中未标出)。然后将三个核的输出相加,这样就为每个过滤器产生一个激活映射(Activation),一共是32个。

随后,这些激活映射中的每一个都要受到ReLu函数的支配,最后运行到最大池化层(也有不使用最大池化层的),而后者主要负责减少输出激活映射的维度(可以理解为减小了长X宽的大小,注意这里所使用的步长为2)。最后,我们得到的是一组32个激活映射,其维数是输入图片的一半(即:得到的32个feature map,每个feature map的尺寸只有输入图片的一半)。

来自卷积层的输出经常用作后续卷积层的输入。因此,如果我们的第二个卷积单元如下:

 

conv_out_2 = Conv2d(input = relu_out,filters = 64)

 

在这个卷积单元中有64个过滤器,每个过滤器使用一组32个独特的内核(每个内核对应前面卷积层输出的一个feature map的信道,32个feature map就需要32个内核,即:深度为32)。

参数比较简单的Conv2d()卷积函数的计算过程可以参考:

https://blog.csdn.net/weixin_41943311/article/details/94570067

 

(4)Batch Normalization

Normalization是数据标准化(归一化,规范化),Batch 可以理解为批量,加起来就是批量标准化。

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值