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

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

内容简介:编辑 | 安可出品 | 磐创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最全原理剖析(续)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

JavaScript高级程序设计(第3版)

JavaScript高级程序设计(第3版)

[美] Nicholas C. Zakas / 李松峰、曹力 / 人民邮电出版社 / 2012-3-29 / 99.00元

本书是JavaScript 超级畅销书的最新版。ECMAScript 5 和HTML5 在标准之争中双双胜出,使大量专有实现和客户端扩展正式进入规范,同时也为JavaScript 增添了很多适应未来发展的新特性。本书这一版除增加5 章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。全书从JavaScript 语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深......一起来看看 《JavaScript高级程序设计(第3版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

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

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具