TensorFlow系列专题(十三): CNN最全原理剖析(续)

栏目: 数据库 · 发布时间: 6年前

内容简介:编辑 | 安可出品 | 磐创AI技术团队

TensorFlow系列专题(十三): CNN最全原理剖析(续)

编辑 | 安可

出品 | 磐创AI技术团队

目录:

  • 前言

  • 卷积层(余下部分)

    • 卷积的基本结构

  • 卷积层

    • 什么是卷积

    • 滑动步长和零填充

  • 池化层

  • 卷积神经网络的基本结构

  • 总结

  • 参考文献

一、前言

上一篇 我们一直说到了CNN [1] 卷积层的特性,今天会继续讲解卷积层的基本结构。

二、卷积层(余下部分)

1. 卷积的基本结构

如图1所示,假设输入到神经网络中的是一张大小为256*256的图像,第一层隐藏层的神经元个数为241*241。在只考虑单通道的情况下,全连接神经网络输入层到第一层隐藏层的连接数为 ,也就是说输入层到第一层隐藏层有 个参数(1为偏置项参数个数)。而在卷积神经网络中,假设我们使用了一个大小为16*16的卷积核,则输入层到第一层隐藏层的连接数为,由于我们的卷积核是共享的,因此参数个数仅为 个。有时候为了提取图像中不同的特征,我们可能会使用多个卷积核,假设这里我们使用了100个大小为16*16的卷积核,则输入层到第一层隐藏层的参数个数也仅为,这依然远远少于全连接神经网络的参数个数。

根据图1所示的例子我们可以看到卷积神经网络的两个重要特性:

  • 局部连接 :全连接神经网络中,第层的每一个神经元和第 层的每一个神经元之间都有连接。而在卷积神经网络中,第层的每一个神经元都只和第 层的部分神经元之间有连接,而这个“部分”有多大,则具体取决于卷积核的大小。

  • 权值共享 :在卷积神经网络中,同一隐藏层的每一个神经元所使用的卷积核都是相同的,卷积核对同一隐藏层的神经元来说是共享的。

TensorFlow系列专题(十三): CNN最全原理剖析(续)

图1 全连接神经网络(左)和卷积神经网络(右)连接数示例

在卷积层中,特征图(feature map,又称为特征映射)是输入层的图像(或其它的特征图)经过卷积之后得到的特征输出。一个卷积核只负责提取某一类特定的特征,为了充分的提取出图像中的信息,我们通常会使用多个卷积核。卷积层的一般性结构可以表示如下:

1 ) 输入特征映射组 :输入特征映射组 TensorFlow系列专题(十三): CNN最全原理剖析(续) 是一个三维的张量(tensor),其中每个切片(slice)矩阵 TensorFlow系列专题(十三): CNN最全原理剖析(续) 是一个输入特征映射。每个特征映射的大小为M x N,D 是输入特征映射的个数。

2 )输出特征映射组 :输出特征映射组 TensorFlow系列专题(十三): CNN最全原理剖析(续) 也是一个三维张量,其中每个切片矩阵 TensorFlow系列专题(十三): CNN最全原理剖析(续) 是一个输出特征映射。每个特征映射的大小为M' x N',P 是输出特征映射的个数。

3 )卷积核 :卷积核 TensorFlow系列专题(十三): CNN最全原理剖析(续) 是一个四维张量,其中每个切片矩阵 TensorFlow系列专题(十三): CNN最全原理剖析(续) 是一个二维的卷积核。

为了更直观的理解,我们看如图2所示的例子。示例中的输入特征映射组有两个特征映射,每个特征映射的大小为5x5,对应有M=5,N=5,D=2 。输出特征映射组有三个特征映射,每个特征映射的大小为3x3,对应有M'=3,N'=3,P'=3 。卷积核的维度是3x3x2x3,每个二维卷积核的大小为3x3 ,对应有m=3,n=3,D=2,P=3

TensorFlow系列专题(十三): CNN最全原理剖析(续)

图2一个卷积层的结构示例

图3所示是卷积层中从输入特征映射组x 到输出特征映射组 的计算过程示例。卷积核 TensorFlow系列专题(十三): CNN最全原理剖析(续) 分别对输入的特征映射 TensorFlow系列专题(十三): CNN最全原理剖析(续) 进行卷积,然后将卷积得到的结果相加,再加上一个偏置 后得到卷积层的净输入 ,如式1。最后经过一个非线性激活函数后得到输出特征映射 ,如式2,其中函数f(·) 为非线性激活函数。

TensorFlow系列专题(十三): CNN最全原理剖析(续)

式1

TensorFlow系列专题(十三): CNN最全原理剖析(续)

式2

在图3所示的例子中,每一个输入特征映射都需要P 个卷积核和一个偏置。假设每个二维卷积核的大小为mxn,那么该层卷积层共需要的参数个数为:(mxn)xPxD+P。

TensorFlow系列专题(十三): CNN最全原理剖析(续) 图3卷积层中计算过程示例

三、池化层

池化层(pooling layer)也称为子采样层(subsamplinglayer),池化层一般都是紧跟在卷积层之后,它的作用是进行特征选择,减少特征的数量,进而减少网络中参数的数量。

对于一个特征映射,我们可以将其划分为多个区域(这些区域可以有重合部分),池化就是对这些划分后的区域进行下采样(downsampling),然后得到一个值,并将这个值作为该区域的概括。池化层的方式有多种,一般常用的有最大池化(maximumpooling)和平均池化(mean pooling)。

  • 最大池化(maximum pooling) :选取区域内的最大值的神经元作为该区域的概括。

  • 平均池化(mean pooling) :取区域内所有神经元的均值作为该区域的概括。

如图4是一个最大池化和均值池化的示例,这里我们将一个特征映射划分为了4个区域,即池化窗口的大小为2x2 ,步长为2。

TensorFlow系列专题(十三): CNN最全原理剖析(续)

图4 最大池化和平均池化示例

目前大多数卷积神经网络中,池化层仅包含下采样操作,池化层没有需要训练的参数。但在一些早期的卷积网络中,会在池化层中使用一个非线性激活函数,例如我们会面会介绍的LeNet-5。现在,池化层的作用已经越来越小,通过增加卷积的步长也可以达到池化层同样的效果。因此在目前一些比较新的卷积神经网络中,池化层出现的频率已经越来越低。

四、卷积神经网络的基本结构

一个基本的卷积神经网络通常是由卷积层、池化层和全连接层交叉堆叠而成。如图5所示,由连续个卷积层和 个池化层构成一个卷积块(M 的取值一般为1~5 ,h 的取值一般为0或1),一个卷积神经网络中可以堆叠N 个连续的卷积块(N 的取值可以很大,较深的网络可以达到100多层)。在N个连续的卷积块之后是K 个连续的全连接层(K 一般取1~2 )。

TensorFlow系列专题(十三): CNN最全原理剖析(续)

图5 基本的卷积神经网络结构示意图

五、总结

本节介绍了卷积层的结构及池化层和卷积神经网络的特性,下一章节将结合代码介绍基于CNN的一个实际比赛的冰山雷达波图像识别项目。

六、参考文献

[1]AlexKrizhevsky: ImageNet Classification withDeep Convolutional Neural                Networks.NIPS 2012

长按扫描下方小程序码,互动提问 

TensorFlow系列专题(十三): CNN最全原理剖析(续)

你也许还想

  十 | 门控循环神经网络LSTM与GRU(附 python 演练)

   TensorFlow系列专题(九):常用RNN网络结构及依赖优化问题

    TensorFlow系列专题(八):七步带你实现RNN循环神经网络小示例

    TensorFlow系列专题(七):一文综述RNN循环神经网络

    TensorFlow系列专题(六):实战项目Mnist手写数据集识别

    TensorFlow系列专题(五):BP算法原理

    Tensorflow系列专题(四):神经网络篇之前馈神经网络综述

    TensorFlow系列专题(三):深度学习简介

    TensorFlow系列专题(二):机器学习基础

    TensorFlow系列专题(一):机器学习基础

欢迎扫码关注:

TensorFlow系列专题(十三): CNN最全原理剖析(续)

觉得赞你就点 在看 ,多谢大佬


以上所述就是小编给大家介绍的《TensorFlow系列专题(十三): CNN最全原理剖析(续)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

XML Hacks

XML Hacks

Michael Fitzgerald / O'Reilly Media, Inc. / 2004-07-27 / USD 24.95

Developers and system administrators alike are uncovering the true power of XML, the Extensible Markup Language that enables data to be sent over the Internet from one computer platform to another or ......一起来看看 《XML Hacks》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具