池化层、感受野、空洞卷积、反卷积
池化层
在卷积神经网络中,连续几个卷积层接连在一起,称为卷积模块,随着卷积层增加,参数总数也相应增加,为了减少后续卷积层的参数,在卷积层之间加入池化层,提取抽象特征。池化核在输入上滑动,并通过函数对局部区域特征进行运算。如图所示。
其中,池化层的池化核大小为 2×2 ,在输入上滑动步伐 stride = 2。根据上图 ,池化层能够降低特征图的维度。局部特征图像素间存在相关性,最大池化法将选取输入特征图中局部特征图像素的最大值并输出,将其他像素当作冗余的信息弃掉,而平均池化法将取输入特征图中局部特征图所有像素平均值并输出。
池化层具有局部平移不变性的特点,即不关注特征图局部区域的某个特征具体出现在那个位置,而是使用池化函数对特征图局部区域的相邻像素点的总体特征作为在该局部的某个特征输出。例如,最大池化函数,输出局部相邻像素点的最大值,丢弃其他像素点,因此降低了特征图的分辨率。但是对于图像语义分割而言,卷积神经网络是对特征图的像素点进行分类,并分割出含有语义信息的区域,所以局部特征像素点的位置信息是重要的。
感受野
特征图像素点在原输入上映射的范围是该像素点的感受野,如图所示。
上图是两组特征提取过程,输入特征图的尺寸为5×5 。第一组有两层卷积层,它的卷积核尺寸都是 3×3。第二组仅有一层卷积层,它的卷积核尺寸是5×5 。两组的滑动步伐 stride = 1,且输入特征图边缘没有填充 0,都是输出分辨率相同的特征图。在第一组特征提取过程中,第一次输出特征图的红色像素点对应输入特征图的红色区域,第二次输出特征图的阴影像素点对应前一层输出特征图的阴影部分和对应输入特征图的阴影部分。在第二组特征提取过程中,输出特征图的阴影像素点对应输入特征图的阴影区域。对比两组特征提取过程,输出特征图像素点的在输入特征图的映射区域都是一样的。那么小的卷积核可以通过加深卷积层数获得大的卷积核一样感受野,并且小的卷积核使网络非线性表达更强。
空洞卷积
语义分割网络的池化层能够按比例降低特征图宽和高,增大输出特征图像素点的感受野,但是也影响到了特征图的空间结构,而且上采样结构无法准确还原特征图的位置信息。另外,空洞卷积也可以且不增加参数情况下使像素点扩大映射范围。空洞卷积的表达式为:
y [ i ] = ∑ k = 1 k x [ i + r ⋅ k ] w [ k ] y[i]=\sum\limits_{k = 1}^k x[i+r·k]w[k] y[i]=k=1∑kx[i+r⋅k]w[k]
其中, k是卷积核的大小, y是输出信号, w是卷积核函数, r是空洞率。
相同卷积运算是在输入特征图边缘填充零来满足卷积核对其进行卷积运算的过程。相同卷积运算可以保持特征图不变,而空洞卷积运算是在卷积核上对其卷积核的相邻元素之间填充 0元素,即填充空洞。实际上,卷积核填充 0并没有因给卷积层增加参数而降低训练的效率,但是元素为 0的卷积核元素可以辅助卷积核增大,这种卷积方式称为空洞卷积。空洞卷积的卷积过程与标准卷积一样,由空洞卷积的内核在输入特征图上滑动。由于卷积核大小改变,在输入特征图上滑动所占用的空间大小将会改变,对于输出同样分辨率的特征图,那么输出特征图的像素点所映射出来的感受野比标准卷积的还大。不同空洞率的空洞卷积如图所示。
在图中,有三种不同空洞率的空洞卷积,分别是空洞率 r = 1的空洞卷积、空洞率r = 2的空洞卷积和空洞率 r = 4的卷积,图(a)是它们的感受野。
当空洞率 r = 1时,没有在卷积核相邻元素之间填充零元素,如图(b1),卷积核的大小和标准卷积核的大小一样,它的大小为3×3 ,此时空洞卷积是一个标准卷积,输出特征图的每个像素点感受野为3×3 ,如图(a)紫色边区域所示。当空洞率r = 2时,卷积核大小为5×5 ,并且给相邻元素间隔增添 1个零元素,如图(b2),即相邻元素之间存在1个空洞,输出特征图的每个像素点感受野为 7 7 ,如图(a)红色边区域所示。当空洞率 r = 4时,卷积核的大小为9×9 ,在卷积核相邻元素之间填充了 3个零元素,如图(b3),即相邻元素之间存在了 3个空洞,输出特征图的每个像素点的感受野为15×15 ,如图(a)黄色边区域所示。
从以上三种卷积核的感受野对比图看,对于特征图像素点,它的卷积核空洞率越大,它的感受野就越大,该像素点表示局部特征范围就越大,在同一个输入图像中,输出等分辨率的特征图,空洞卷积的特征图比标准卷积的特征图更具有全局性,同时,空洞卷积并没有给深度卷积神经网络增加参数。
反卷积
上采样结构的上采样层能恢复特征图的分辨率,且上采样层通常用反卷积运算,如图所示。Zeiler在 2010年提出反卷积,反卷积运算是将输入特征图拉成一个列向量并且右乘卷积核,反卷积是一种转置的卷积。
跨步卷积
跨步卷积,即卷积时并不是简单的逐步卷积:
池化层、感受野、空洞卷积、反卷积相关推荐
- 深度学习入门 (九):卷积层和池化层的实现
目录 卷积神经网络 CNN 整体结构 卷积层 全连接层存在的问题 卷积运算 乘积累加运算 偏置 填充 (padding) 步幅 (stride) 小结:卷积层的输出特征图的大小 3 维数据的卷积运算 ...
- 深度学习之卷积神经网络(7)池化层
深度学习之卷积神经网络(7)池化层 在卷积层中,可以通过调节步长参数s实现特征图的高宽成倍缩小,从而降低了网络的参数量.实际上,处理通过设置步长,还有一种专门的网络层可以实现尺寸缩减功能,它就是这里要 ...
- 深入学习卷积神经网络中卷积层和池化层的意义(转)
为什么要使用卷积呢? 在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量:需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用 ...
- 【卷积神经网络】卷积层,池化层,全连接层
转于:<入门PyTorch> 卷积层是卷积神经网络的核心, 大多数计算都是在卷积层中进行的. 1 卷积层 1.1 概述 首先介绍卷积神经网络的参数. 这些参数是由一些可学习的滤波器集合构成 ...
- 卷积神经网络---卷积层、激励层、池化层以及全连接层
文章目录 概述 卷积神经网络 局部连接+权值共享** 输入层 卷积层 激励层 池化层 全连接层 参考资料 概述 这两天在看论文,涉及到卷积神经网络的知识,之前一直对这块迷迷糊糊.看到了一篇博文写的很好 ...
- 卷积神经网络中卷积层、池化层、全连接层的作用
1. 卷积层的作用 卷积层的作用是提取输入图片中的信息,这些信息被称为图像特征,这些特征是由图像中的每个像素通过组合或者独立的方式所体现,比如图片的纹理特征,颜色特征. 比如下面这张图片,蓝色框框住的 ...
- 深入学习卷积神经网络中卷积层和池化层的意义
为什么要使用卷积呢? 在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量:需要人工设计特征,然后将这些特征计算的值组成特征向量,在过去几十年的经验来看,人工找到的特征并不是怎么好用 ...
- 『TensorFlow』卷积层、池化层详解
一.前向计算和反向传播数学过程讲解 这里讲解的是平均池化层,最大池化层见本文第三小节 二.测试代码 数据和上面完全一致,自行打印验证即可. 1.前向传播 import tensorflow as tf ...
- 理解CNN卷积层与池化层计算
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 概述 深度学习中CNN网络是核心,对CNN网络来说卷积层与池化层的 ...
- 对卷积神经网络中卷积层、激活层、池化层、全连接层的理解
文章目录 卷积神经网络 输入层 卷积层 激励层 池化层 全连接层 卷积神经网络 举一个卷积神经网络识别汽车的例子如下: 其中数据输入的是一张图片(输入层),CONV表示卷积层,RELU表示激励层,PO ...
最新文章
- 【基础练习】【拓扑排序】codevs3294 车站分级题解
- 视觉计算理论简介【转】
- 启用tomcat debug模式
- Linux下目录/文件颜色的含义
- FreeBSD 9.1安装KMS 这是一个伪命题###### ,9....
- swagger3 设置值可以为空_【Swagger2】【3】API注解详解,以及注解常用参数配置
- GCC 编译时优化某一个或几个函数或者不优化某一个或几个函数
- C4.5-Release8中Ross Quinlan对缺失值的处理
- python qt 拖拽组件使用方法_Python QT组件库qtwidgets的使用
- ubuntu服务器修改保存文件,Ubuntu Server 如何永久保存iptables的设置?
- 2022英伟达显卡排名天梯图
- 从卫星天线到接收机的信号路径解析
- python中temp的用法_请问Python里temp是什么意思?
- c语言break可以跳出for循环吗,怎么跳出for循环
- JavaScript下的setTimeout(fn,0)的作用,涨知识了
- DeepDive教程第一部分
- MAC新手教程:十分钟轻松熟悉Mac系统
- JS- 数字自增动画
- Linux 目录与文件
- 第五周【任务1】范数惩罚正则化 (笔记)