#解析卷积神经网络——基础理论篇

第三章 卷机神经网络经典结构

3.1 CNN网络结构中的重要概念

####感受野
感受野(receptive filed)原指听觉、视觉等神经系统中一些神经元的特性,即神经元只接受其所支配的刺激区域内的信号。
以单层卷积操作为例,如左图是一个 7 × 7,步长为 1 的卷积操作,对后层的每一个输出神经元(如紫色区域)来说,它的前层感受野即为黄色区域。
随着网络深度的加深,后层神经元在第一层输入层的感受野会随之增大。如右图所示为3× 3,步长为 1 的卷积操作,同单层卷积操作一样,相邻两层中后层神经元在前层的感受野仅为 3 × 3,但随着卷积操作的叠加,第 L + 3 层的神经元在第 L 层的感受野可扩增值7× 7。

也就是说,小卷积核(如 3 × 3)通过多层叠加可取得与大卷积核(如 7 × 7)同等规模的感受野,此外,采用小卷积核同时可带来其余两个优势:第一,由于小卷积核需多层叠加,加深了网络深度进而增强了网络容量(model capacity)和复杂度(model complexity);第二,增强网络容量的同时减少了参数个数。
若假设上述示例中卷积核对应的输入输出特征张量的深度均为 C,则 7 × 7 卷积核对应参数有 C × (7 × 7 × C) = 49C 2 个。而三层 3 × 3 卷积核堆叠只需三倍单层 3 × 3 卷积核个数的参数,即 3 × [C × (3 × 3 × C)] = 27C 2,远小于 7 × 7卷积核的参数个数。
此外,需指出的是,目前已有不少研究工作为提升模型预测能力通过改造现有卷积操作试图扩大原有卷积核在前层的感受野大小,或使原始感受野不再是矩形区域而是更自由可变的形状,对以上内容感兴趣的读者可参考“扩张卷积操作”(dilated convolution) 和“可变卷积网络”(deformable convolutional networks)。

####分布式表示
深度学习相比之前机器学习方法的独到之处是其表示学习部分。但仍需强调,深度学习只是表示学习(representation learning)的一种方式。
深度学习兴起之前,就有不少关于表示学习的研究,其中在计算机视觉中比较著名的就是“词包”模型(bag-of-word model)。词包模型源自自然语言处理领域,在计算机视觉中,人们通常将图像局部特征作为一个视觉单词(visual word),将所有图像的局部特征作为词典(vocabulary),那么一张图像就可以用它的视觉单词来描述,而这些视觉单词又可以通过词典的映射形成一条表示向量(representation vector)。很显然,这样的表示是离散式表示(distributional representation),其表示向量的每个维度可以对应一个明确的视觉模式(pattern)或概念(concept)。

不同的是,在深度学习中,深度卷积神经网络呈现“分布式表示”(distributional representation)的特性。神经网络中的“分布式表示” 指“语义概念”(concept)到神经元(neuron)是一个多对多映射,直观来讲,即每个语义概念由许多分布在不同神经元中被激活的模式(pattern)表示;而每个神经元又可以参与到许多不同语义概念的表示中去。举个例子,如下图所示,将一些物体为中心的图像(object-centric images)送入在ImageNet数据集 (73) 上预训练(pre-train)的卷积网络,若输入图像分辨率为 224 × 224,则最后一层汇合层(pooling5)可得 7 × 7 × 512 大小的响应张量(activation tensor),其中“512”对应了最后一层卷积核的个数,512个卷积核对应了 512个不同的卷积结果( 512个特征图或称“通道”)。可视化时,对于“鸟”或“狗”这组图像对,我们分别从 512张 7 × 7 的特征图(feature map)中随机选取相同的 9 张,并将特征图与对应原图叠加,即可得到有高亮部分的可视化结果。从图中可明显发现并证实神经网络中的分布式表示特性。以鸟类这组图像为例,对上下两张“鸟”的图像,即使是同一卷积核(第108个卷积核)但在不同原图中响应(activate)的区域可谓大相径庭:对上图,其响应在鸟爪部位;对下图,其响应却在三个角落即背景区域。关于第三个随机选取的特征图(对应第375 个卷积核),对上图其响应位于头部区域,对下图则响应在躯干部位。更有甚者,同一卷积核(第 284个卷积核)对下图响应在躯干,而对上图却毫无响应。这也就证实了:对于某个模式,如鸟的躯干,会有不同卷积核(其实就是神经元)产生响应;同时对于某个卷积核(神经元),会在不同模式上产生响应,如躯干和头部。另外,需指出的是,除了分布式表示特性,还可从图中发现神经网络响应的区域多呈现“稀疏”(sparse)特性,即响应区域集中且占原图比例较小。

####深度特征的层次性
上节为在同一层的神经元的特性,本节介绍不同层神经元的表示特点,即深度特征的层次性:之前提到,卷积操作可获取图像区域不同类型特征,而汇合等操作可对这些特征进行融合和抽象,随着若干卷积、汇合等操作的堆叠, 各层得到的深度特征逐渐从泛化特征(如边缘、纹理等)过度到高层语义表示 (躯干、头部等模式)。
2014年,Zeiler 和 Fergus 曾利用反卷积技术对卷积神经网络(反卷积技术中以Alex-Net [52] 为例)特征进行可视化,洞察了卷积网络的诸多特性,其中之一即层次性。
如图,可以发现,浅层卷积核学到的是基本模式,如第一层如图中的边缘、方向和第二层的纹理等特征表示。随着网络的加深,较深层例如从第三层除了一些泛化模式外,也开始出现了一些高层语义模式,如“车轮”、“文字”和“人脸”形状的模式。直到第五层,更具有分辨能力的模式被卷积网络所捕获…

以上的这些观察就是深度网络中特征的层次性。值得一提的是,目前深度特征的层次性已成为深度学习领域的一个共识,也正是由于Zeiler 和 Fergus 的贡献,该工作 (反卷积技术) 被授予欧洲计算机视觉大会ECCV 2014 最佳论文提名奖,短短几年间引用已逾1700次。另外,得益于卷积网络特征的层次特性使得不同层特征可信息互补,因此对单个网络模型而言“多层特征融合”(multi-layer ensemble)往往是一种很直接且有效的网络集成技术,对于提高网络精度通常有较好表现,详细内容可参见本书第13.2节。
3.2经典网络案例分析

本节将以 Alex-Net[52],VGG-Nets[74],Network-In-Network[67]和深度残差网络[36](residual network)为例,分析几类经典的卷积神经网络案例。在此需请读者注意,此处的分析比较并不是不同网络模型精度的“较量”,而是希望读者体会卷积神经网络自始至今的发展脉络和趋势,这样会更有利于对卷积神经网络的理解,进而方可举一反三提高解决真实问题的能力。
####Alex-Net
Alex-Net[52]是计算机视觉中首个被广泛关注、使用的卷积神经网络,特别是Alex-Net在2012年 ImageNet竞赛中以超越第二名10.9个百分点的优异成绩一举夺冠,从而打响了卷积神经网络、乃至深度学习在计算机视觉领域中研究热潮的“第一枪”。
Alex-Net由加拿大多伦多大学的Alex Krizhevsky,Ilya Sutskever (G.E.Hinton的两位博士生)和Geoffrey E. Hinton提出,网络名“Alex-Net”即取自第一作者。关于Alex-Net还有一则八卦:由于Alex-Net划时代的意义,开启了深度学习在工业界的应用,2015年Alex和Ilay两位作者连同“半个”Hinton被Google重金(据传高达 3500 万美金)收买。但为何说“半个” Hinton?因当时Hinton只是花费一半时间在Google工作,而另一半时间仍然留在多伦多大学。
下图是Alex-Net的网络结构,共含五层卷积层和三层全连接层。Alex-Net的上下两支是为方便同时使用两片GPU并行训练,不过在第三层卷积和全连接层处上下两支信息可交互。由于两支网络完全一致,在此仅对其中一支进行分析。下表列出了Alex-Net网络的架构及具体参数。对比第1.1提到的LeNet可以发现,单在网络结构或基本操作模块方面,Alex-Net的改进非常微小,构建网络的基本思路大致一样,仅在网络深度、复杂度上有较大优势。

后面我懒得写下去了,自己看书吧!!!!

ps:对于参数个数计算的理解补充


参数个数的计算公式:w* h* d* k
(w,h分别为卷积核的宽和高,d为卷积核的深度(也可以理解成通道数,不知道这么说是不是精准),k为卷积核的个数)


文中提到的卷积核的尺寸为7×7×C,又用了C个卷积核。故参数个数为C × (7 × 7 × C) = 49C 2 个


这张图找的不是很好,卷积核为3×3×3的,但是它用了5个卷积核,参数个数为:5×(3×3×3)

[读书笔录]解析卷机神经网络(魏秀参)——第三章相关推荐

  1. [翻译] 神经网络与深度学习 第三章 提升神经网络学习的效果 - Chapter 3 Improving the way neural networks learn

    目录: 首页 译序 关于本书 关于习题和难题 第一章 利用神经网络识别手写数字 第二章 反向传播算法是如何工作的 > 第三章 提升神经网络学习的效果 第四章 可视化地证明神经网络可以计算任何函数 ...

  2. 读书笔记,《刻意练习》,第三章,心理表征

    本章开篇给出一个例子,讲述俄罗斯国际象棋特级大师亚历山大阿廖欣在1924年挑战26位国优秀的国际象棋棋手.然后就提出了,一个问题,他是怎么做到的呢!国际象棋大师究竟是能够回忆每一个棋子的位置,还是实际 ...

  3. 读书笔记《疯狂人类进化史》,第三章,肤色中隐藏的进化奥秘

        瑞典分类学家林奈(CarolusLinnaeus)也接受了这种方法,正儿八经地把各个洲的人种分别命名为亚洲黄种人.非洲黑种人.美洲红种人和欧洲白种人.这种命名法影响很大,几乎人人皆知.但这种分 ...

  4. 深度学习笔记之《解析卷积神经网络》附下载地址

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 <解析卷积神经网络>是 @魏秀参 博士撰写的深度学习实践手册,主要以卷积神 ...

  5. 实用卷积神经网络 运用python pdf_解析卷积神经网络—深度学习实践手册 中文pdf高清版...

    解析卷积神经网络-深度学习实践手册从实用角度着重解析了深度学习中的一类神经网络模型--卷积神经网络,向读者剖析了卷积神经网络的基本部件与工作机理,更重要的是系统性的介绍了深度卷积神经网络在实践应用方面 ...

  6. 神经网络如何调参、超参数的最优化方法、python实现

    神经网络如何调参.超参数的最优化方法.python实现 一.what is 超参数 二.超参数优化实验 一.what is 超参数 超参数是什么,其实就是,各层神经元数量.batch大小.学习率等人为 ...

  7. keras_猫狗分类案例(三)_卷机神经网络的可视化(可视化类激活的热力图)

    卷机神经网络的可视化(可视化类激活的热力图) 参考:https://www.cnblogs.com/zhhfan/p/9978099.html python深度学习 可视化类激活的热力图 我还要介绍另 ...

  8. python面向对象、向量化来实现神经网络和反向传播(三)

    现在,我们要根据前面的算法,实现一个基本的全连接神经网络,这并不需要太多代码.我们在这里依然采用面向对象设计. 理论知识参考:https://www.zybuluo.com/hanbingtao/no ...

  9. 数据挖掘导论Pangaea-Ning Tan 读书笔记——(第一,二,三章)

    <数据挖掘导论>Pang-Ning Tan ,Michael Steinbach,Vipin Kumar 读书笔记, 第一章 绪论 数据挖掘任务 预测任务 描述任务 分类任务 回归任务 聚 ...

  10. 神经网络与深度学习(三):如何提升神经网络学习效果

    一个高尔夫球手练习高尔夫球时会花绝大多数时间练习基本的挥杆动作.在基本的挥杆动作的基础上,逐渐的才会练习其他动作.相似的,目前为止我们一直专注在理解BP算法, 它是我们的基础"挥杆" ...

最新文章

  1. 【VMware vSAN 6.6】8.2.合规性:我们有软硬件项目解决方案
  2. ThreadLocal小记
  3. Seetaface 向树莓派 移植
  4. c++七参数坐标转换_深度 | 扒一扒坐标转换之七参数
  5. MyBatis Generator:代码生成器
  6. c语言linux消息机制,linux消息机制的过程是什么啊,请赐教
  7. 使用apache POI把list集合里面的实体写入Excel(java)
  8. No.3 - CSS transition 和 CSS transform 配合制作动画
  9. L1-013.计算阶乘和
  10. SAP License:移动类型541(委外业务)不产生会计凭证的原因
  11. linux 运行java工程师_java工程师linux命令,这篇文章就够了
  12. SqlServer还原数据库出现“无法在服务器上访问指定的路径或文件”提示的解决办法
  13. 有关 VS winform 开发问题
  14. 斯坦福NLP名课带学详解 | CS224n 第5讲 - 句法分析与依存解析(NLP通关指南·完结)
  15. 《自卑与超越》读书笔记
  16. Premiere Pro 快捷键大全(2023版)
  17. 【大数据分析】Spark的joins研究
  18. BackTrack5 学习笔记5 扫描 Nmap
  19. AI遮天传 ML-初识决策树
  20. 【OriginPro使用】FFT绘制信号频谱图

热门文章

  1. spreadjs使用
  2. (一)密码学之数论基础
  3. MATLAB点云重采样,PCL点云曲面重采样三种方法:上采样,下采样,均匀采样
  4. SosoApi使用说明-基本操作文档
  5. Chrome浏览器添加fehelper插件
  6. 系统辨识与自适应控制
  7. java根据种子生成固定值_java固定种子随机数预测
  8. echarts地图随机点生成
  9. 【新增esp8266设备订阅命令主题、响应平台命令、命令处理】esp8266接入华为云物联网平台(IOTDA)2.0
  10. 软件及其公司篇--项目管理(七)