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

article/2025/9/28 16:07:28

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

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

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的改进非常微小,构建网络的基本思路大致一样,仅在网络深度、复杂度上有较大优势。
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)


http://chatgpt.dhexx.cn/article/4YH020ak.shtml

相关文章

[读书笔录]解析卷积神经网络(魏秀参)——第一章

解析卷积神经网络——基础理论篇 第一章 卷机神经网络基础知识 1.1发展历程 卷积神经网络发展历史中的第一件里程碑事件发生在上世纪60年代左右的神经科学中,1959 年提出猫的初级视皮层中单个神经元的“感受野”概念,紧接着于1962年发现了猫的视觉中枢…

如何看旷视南京负责人魏秀参跳槽高校工作?

链接:https://www.zhihu.com/question/404733616 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 跳槽本是正常现象,之所以会在知乎引起讨论,说明其中有让大家值得关注的点。但我们吃瓜群众&#xff0c…

[阅读笔记]《解析卷积神经网络_深度学习实践手册》魏秀参著

书籍下载地址:http://lamda.nju.edu.cn/weixs/book/CNN_book.pdf 这本书名虽然有实践两个字,但内容还是主要介绍在实践框架中涉及的基本概念、方法和技巧介绍,侧重于实践中的概念介绍并不是手把手告诉你如何在某平台上搭建一个卷积神经网络&a…

CVPR 2020评审结果放出,魏秀参博士教你如何rebuttal!!!

关注上方“深度学习技术前沿”,选择“星标公众号”, 资源干货,第一时间送达! 来源:知乎 作者:魏秀参 链接:https://zhuanlan.zhihu.com/p/104298923 近日,在此文章中,旷视…

魏秀参:如何理解全连接层的作用?

点击上方“机器学习与生成对抗网络”,关注"星标" 获取有趣、好玩的前沿干货! 来自 | 知乎 作者 | 魏秀参 文仅分享,侵删 https://www.zhihu.com/question/41037974/answer/150522307 全连接层到底什么用?我来谈三点。…

28岁少帅统领旷视南京研究院,LAMDA魏秀参专访

记者和魏秀参专访约在旷视科技北京总部,北临清华大学,西靠中关村的融科写字楼,公司三层中厅是一整面落地屏幕,实时显示着人脸识别、人脸检测、年龄估计、人体关键点预测等多种视觉应用demo。 这家计算机视觉公司在2017年10 月 31 …

极市直播丨南京理工大学魏秀参、沈阳:大规模细粒度图像检索

| 极市线上分享 第102期 | 一直以来,为让大家更好地了解学界业界优秀的论文和工作,极市已邀请了超过100位技术大咖嘉宾,并完成了101期极市线上直播分享。往期分享请前往:http://bbs.cvmart.net/topics/149,也欢迎各位…

[读书笔录]解析卷积神经网络(魏秀参)——目录和绪论

解析卷积神经网络——基础理论篇 *南京大学计算机系机器学习与数据挖掘所(LAMDA)在读博士魏秀参开放了一份较系统完整的 CNN 入门材料《解析卷积神经网络——深度学习实践手册》。这是一本面向中文读者轻量级、偏实用的深度学习工具书,内容侧…

R Talk | 旷视南京研究院魏秀参:细粒度图像分析综述

「R Talk 」是旷视研究院推出的一个深度学习专栏,将通过不定期的推送展示旷视研究院的学术分享及阶段性技术成果。「R」是 Research 的缩写,也是旷视研究院的内部代号;而所有的「Talk」都是来自旷视的 Researcher。「R Talk 」旨在通过一场场…

【Web】控制台操作

浏览器控制台 重定向空白页面使用调用函数eval()执行函数命令使用时间类函数执行代码通过匿名function()执行脚本创建Function对象并执行代码通过apply执行代码通过call执行函数通过成员对象执行函数通过top执行函数通过WINDOW.WINDOW或任何等价值执行函数通过页面事件执行代码…

浏览器控制台Network面板简述

浏览器控制台Network面板简述 如何打开NetWork面板控制台Network的作用面板组成请求列表请求列表每列:查看单个资源的详细信息查看HTTP头信息General部分:Response Headers(响应头)部分:Request Headers (请求头&#…

浏览器随笔 -- 谷歌浏览器控制台使用

谷歌浏览器控制台使用 1. 使用说明2. 整体布局介绍3. Element3.1 页面元素查找&修改css样式3.2 操作HTML元素 4. Console4.1 日志打印4.2 代码编辑器 5. Sources6. Network6.1 接口状态码6.2 接口传参&数据返回 7. Application -- 浏览器存储7.1 cookie 存储7.2 localS…

如何监听浏览器控制台的打印信息?

注意: 拦截并监听控制台打印并不是一个好的行为,为了网站安全请谨慎使用 需求背景 当我们在项目中引入某些第三方依赖时,该第三方依赖会在浏览器控制台打印相关信息,如 stompjs 会打印 stomp 连接情况 今天有个新需求是需要将控…

Chrome 控制台console的用法

转自:http://www.open-open.com/lib/view/open1421131601390.html 原文出处: ctriphire 大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的&am…

Chrome控制台console的各种用法(方便调试)

https://www.cnblogs.com/qubernet/p/5794812.html 1、输出信息 console.log(消息内容!); //输出普通信息   console.info(消息内容!); //输出提示信息   console.error(消息内容!);//输出错误信息   console.warn(消息内容&#xff0…

chrome控制台中console的强大

在使用谷歌浏览器进行前端开发的时候,console作为控制台的一个主要方法,相信大家都用过,一般都是用console.log()来输出部分内容,但是console还有很多强大之处,下面主要说一下console的更重强大的地方: 首…

浏览器控制台的一些输出方法---console

1.首选是常见的console.log(); console.log(hello);console.log(hi,friend);在浏览器按F12,控制台输出的是这样的 2.在console.log()里使用%s console.log(Hello, my name is %s,kon);%s会替换成第二个参数 3.在console.log()里使用%c console.log(%c styled te…

Edge浏览器调整控制台位置

默认edge浏览器f12控制台是在右边的,但是个人比较喜欢在下面,显示的全面一些 点击右上角的省略号,出现: 注意这几个图标: 点击第三个,就可以把控制台调到下面啦~

【Chrome】浏览器控制台设置成中文

文章目录 按 F12 或 鼠标右键点击检查打开控制台界面,如下 此时可以看到我们的控制台界面是英文的,这对新手来说可能有点不太友好所以如果需要设置成中文,可以按以下步骤设置 点击控制台中的设置图标,如图所示 找到 Language 选项…

chrome控制台使用

1.输入代码片段的时候 总是遇到 Enter回车代码没敲完 就被执行了 试试使用ShiftEnter 直接在控制台换行 2.当你在控制台计算了一个数值的时候 可以用$_来代替上一个表达式执行的结果 数值计算的 同样适用 3.当时在Element里面选中一个元素时 你可以回到控制台 用$0-$5去输出这个…