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

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

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

第一章 卷机神经网络基础知识

1.1发展历程

卷积神经网络发展历史中的第一件里程碑事件发生在上世纪60年代左右的神经科学中,1959 年提出猫的初级视皮层中单个神经元的“感受野”概念,紧接着于1962年发现了猫的视觉中枢里存在感受野、双目视觉和其他功能结构,标志着神经网络结构首次在大脑视觉系统中被发现。
这里写图片描述

1980年前后,日本科学家福岛邦彦在之前两个人工作的基础上,模拟生物视觉系统并提出了一种层级化的多层人工神经网络,即“神经认知”,以处理手写字符识别和其他模式识别任务。神经认知模型在后来也被认为是现今卷积神经网络的前身。在福岛邦彦的神经认知模型中,两种最重要的组成单元是“s型细胞”和“c型细胞”,两类细胞交替堆叠在一起构成了神经认知网络。其中,s型细胞用于抽取局部特征,c型细胞则用于抽象和容错,如图所示,不难发现这与现今卷积神经网络中的卷积层和汇合层可一一对应。
这里写图片描述
随后,Yann LeCun等人在1998年提出基于梯度学习的卷积神经网络算法,并将其成功用于手写数字字符识别,在那时的技术条件下就能取得低于1%的错误率。
这里写图片描述

2012年,在有计算机视觉界“世界杯”之称的ImageNet图像分类竞赛四周年之际,Geoffrey E. Hinton等人凭借卷积神经网络Alex-Net力挫日本东京大学、英国牛津大学VGG组等劲旅 ,且以超过第二名近12%的准确率一举夺得该竞赛冠军,霎时间学界业界纷纷惊愕哗然。自此便揭开了卷积神经网络在计算机视觉领域逐渐称霸的序幕,此后每年竞赛的冠军非深度卷积神经网络莫属。
直到2015年,在改进了卷积神经网络中的激活函数后,卷积神经网络在ImageNet 数据集上的性能(4.94%)第一次超过了人类预测错误率(5.1%)。深度卷积神经网络自2012年的一炮而红,到现在俨然已成为目前人工智能领域一个举足轻重的研究课题,甚至可以说深度学习是诸如计算机视觉、自然语言处理等领域主宰性的研究技术,同时更是工业界各大公司和创业机构着力发展力求占先的技术奇点。

1.2 基本结构

卷积神经网络是一种层次模型,其输入是原始数据,如图像、原始音频数据等。卷积神经网络通过卷积操作、汇合操作和非线性激活函数映射等一系列操作的层层堆叠,将高层语义信息逐层由原始数据输入层中抽取出来,逐层抽象,这一过程便是“前馈运算”。其中,不同类型操作在卷积神经网络中一般称作“层”:卷积操作对应“卷积层”,汇合操作对应“汇合层”等等。最终,卷积神经网络的最后一层将其目标任务(分类、回归等)形式化为目标函数 。通过计算预测值与真实值之间的误差或损失(loss),凭借反向传播算法将误差或损失由最后一层逐层向前反馈,更新每层参数,并再次前馈,如此往复,直至网络模型收敛,从而达到训练模型的目的。
计算机视觉应用中,卷机神经网络的数据层通常是:H行,w列,3个通道(RGB)的图像,记为x1。对应的第一层操作参数记为w1。
这里写图片描述
损失函数为
这里写图片描述
其中,函数 L(·) 中的参数即 ω L 。事实上,可以发现对于层中的特定操作,其参数 ω i 是可以为空的,如汇合操作、无参的非线性映射以及无参损失函数的计算等。实际应用中,对于不同任务,损失函数的形式也随之改变。
对于回归问题,常用的L2损失函数即可作为卷积网络的目标函数,
这里写图片描述
对于分类问题,网络的目标函数常采用!交叉墒损失函数,
这里写图片描述 其中这里写图片描述C 为分类任务类别数。
显然,无论回归问题还是分类问题,在计算 z 前,均需要通过合适的操作得到与 y 同维度的x L ,方可正确计算样本预测的损失/误差值。

1.3前馈运算

无论训练模型时计算误差还是模型训练完毕后获得样本预测,卷积神经网络的前馈运算都较直观。同样以图像分类任务为例,假设网络已训练完毕,即其中参数 ω 1 , … , ω L−1 已收敛到某最优解,此时可用此网络进行图像类别预测。预测过程实际就是一次网络的前馈运算: 将测试集图像作为网络输入 x 1 送进网络,之后经过第一层操作 ω 1 可得 x 2 ,依此下去……直至输出x L ∈ R C 。上一节提到,x L 是与真实标记同维度的向量。在利用交叉墒损失函数训练后得到的网络中,x L 的每一维可表示 x 1 分别隶属 C 个类别的后验概率。

1.4反馈运算

同其他许多机器学习模型(支持向量机等)一样,卷积神经网络包括其他所有深度学习模型都依赖最小化损失函数来学习模型参数。不过需指出的是,从凸优化理论来看,神经网络模型不仅是非凸函数而且异常复杂,这便带来优化求解的困难。该情形下,深度学习模型采用随机梯度下降法(SGD)和误差反向传播进行模型参数更新。
具 体 来 讲, 在 卷 积 神 经 网 络 求 解 时, 特 别 是 针 对 大 规 模 应 用 问 题,常采用批处理的随机梯度下降法。批处理的随机梯度下降法在训练模型阶段随机选取 n 个样本作为一批(batch)样本,先通过前馈运算得到预测并计算其误差,后通过梯度下降法更新参数,梯度从后往前逐层反馈,直至更新到网络的第一层参数,这样的一个参数更新过程称为一个“批处理过程”(mini-batch)。不同批处理之间按照无放回抽样遍历所有训练集样本,遍历一次训练样本称为“一轮”(epoch)。其中,批处理样本的大小(batch size)不宜设置过小。过小时,由于样本采样随机,按照该样本上的误差更新模型参数不一定在全局上最优(此时仅为局部最优更新),会使得训练过程产生振荡。而批处理大小的上限则主要取决于硬件资源的限制,如GPU显存大小。一般而言,批处理大小设为32,64,128或256 即可。
下面我们来看误差反向传播的详细过程。假设某批处
这里写图片描述
这里写图片描述

1.5 小结

  1. 本章回顾了卷积神经网络自 RN8N 年至今的发展历程;
  2. 介绍了卷积神经网络的基本结构,可将其理解为通过不同种类基本操作层的“堆叠”将原始数据表示不经任何人为干预直接映射为高层语义表示并实现向任务目标映射的过程——这也是为何深度学习被称作“端到端”学习或作为“表示学习”中最重要代表的原因;
  3. 介绍了卷积神经网络中的两类基本过程:前馈运算和反馈运算。神经网络模型通过前馈运算对样本进行推理和预测,通过反馈运算将预测误差反向传播逐层更新参数,如此两种运算依次交替迭代完成模型的训练过程。

http://chatgpt.dhexx.cn/article/UY8khOcX.shtml

相关文章

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

链接: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去输出这个…

谷歌浏览器控制台位置调整

1.如何打开 使用快捷键F12即可 2.如何设置