深度学习 -- 卷积神经网络

news2024/12/23 10:52:54

1、卷积神经网络的结构

大卫·休伯尔( David Hunter Hubel ) 等人研究发现,猫的视皮层上 存在简单细胞( simple cell )和复杂细胞( complex cell ),简单细胞会对 感受野中特定朝向的线段做出反应,而复杂细胞对于特定朝向的钱段移动也能做出反应,

福岛邦彦在此基础上提出了神经认知机模型,这是一种分 层神经网络模型。 神经认知机由负责对比度提取的 G 层,以及负责 图形特征提取的S细胞层和抗变形的C细胞层交替排列组成。 最上层的 C 细胞会输出识别结果 。 S 细胞和C 细胞分别根据简单细胞和复杂细胞 的英语首字母得名。 借助于 S细胞层和 C细胞层交替排列的结构,各种 输入模式的信息会在经过 S 细胞层提取特征后,通过 C 细胞层对特征琦变的容错,并在反复迭代后被传播到上一层。 经过这个过程,在底层提取 的局部特征会逐渐变成全局特征 。 因输入模式扩大、缩小或平移而产生 的畸变也能很好地被 C 细胞消除,所以网络对变形具有较好的稳健性。

神经认知机中,如果没有任何细胞对输入模式做出反应,就采用增加细胞的学习规则。 通过引人神经网络中的误差反向传播算法,人们得 到了卷积神经网络( Convolutional Neural Network)。 LeCun 等人提出的卷积神经网络和神经认知机一样,也是基于人类视皮层巾感受野的 结构得到的模型。 如下所示,卷积神经网络由输入层( input layer)、卷积层( convolution layer )、池化层(pooling layer )、全连接层(fully connected layer )和输出层( output layer )组成。 通过增加卷积层和池化层,还可以得到更深层次的网络,其后的全连接层也可以采用多层结构 。

2、卷积层

卷积神经网络中的卷积操作可以看作是输入样本和卷积核的内积运算 。 在第一层卷积层对输入样本进行卷积操作后 , 就可以得到特征图。 卷积层中是使用同一卷积核对每个输入样本进行卷积操作的。 在第二层及其以后的卷积层,把前一层的特征图作为输入数据,同 样进行卷积操作 。 该卷积操作与 Hubel-Wiesel 实验中的简单细胞具有相同 的作用。 如下图所示,对10 × 10的输入样本使用 3 × 3的卷积核进行卷 积操作后,可以得到一个 8 × 8 的特征图 。 特征阁的尺寸会小于输入样本, 为了得到和原始输入样本大小相同的特征图,可以采用对输入样本进行填充( padding)处理后再进行卷积操作的方法。 零填充( zero-padding)指 的就是用 0 填充输入样本的边界,填充大小为 P = (F -1)/2,其中 F 为 卷积核尺寸 。 在图 中,卷积核的滑动步长为 1。 我们也可以设定更 大的滑动步长,步快越大则特征图越小 。 另外,卷积结果不能直接作为特征图,需通过撒活函数计算后,把函数输出结果作为特征图 。

一个卷积层中可以有多个不同的卷积核,而每一个卷积核都对应一 个特征图 。

当卷积层的输入样本是三通道的彩色罔像时,卷积核就 会是三维的 3×M×M,M表示卷积核大小。 第二层及其以后的卷积层 的输入是上一层的特征图,而特征图的个数是由上一层的卷积核数决定 的。 例如, 当上一层的卷积核数为 8时,就会得到 8个特征图作为下一 层的输入,所以下一层需要 8个三维的 8×M×M卷积核。

3、池化层

池化层的作用是减小卷积层产生的特征图的尺寸 。 选取一个区域, 根据该区域的特征图得到新的特征图,这个过程就称为池化操作 。 对一 个 2×2 的区域进行池化操作后,得到的新特征图会被斥缩为原来尺寸 的 1/4。 池化操作降低了特征图的维度,使得特征表示对输入数据的位置变化具有稳健性。 池化操作与 Hubel-Wiesel实验中的复杂细胞具有相同的作用。 主要的池化方法如下图 3所示。 其中最常使用的是图 (a) 所示的 最大池化, 最大池 化是选取图像区域内的最大值作为新的特征图。 另外还有图 (b)所示的平均池化,以及图 (c)所示的 Lp池化。 平均池化是取图像区域内的平均值作为新的特征图 。 Lp 池化则 是通 过突出图像区域内的中央值而计算新的特征图 。在图 (c)中的公式中,p越大越能突出中心位置的值。

4、全连接层

和多层感知器一样,全连接层也是首先计算激活值,然后通过激 活函数计算各单元的输出值 。 激活函数包括 sigmoid、 tanh、 ReLU 等函 数。 由于全连接层的输入就是卷积层或池化层的输出,是二维的特征图,所以需要对二维特征图进行降维处理

5、输出层

和多层感知器的输出层一样,卷积神经网络的输出层也是使用似然函数计算各类别的似然概率。 卷积神经网络出现后,最先被应用在了手写字符分类上。 手写字符识别用到的是 0到 9这 10个数字,所以共有 10个输出单元。 每个单元对应一个类别, 使用公式(5.1)的softmax函数可以计算输出单元的似然概率,然后把概率最大的数字作为分类结果输出

公式5.1: p(y^k) = \frac{exp(u_{2k})}{\sum_{q=1}^{Q}exp(u_{2q})}

在递归问题中, 一般使用线性输出函数(公式5.2)计算各单元的输出值。

公式5.2: p(y^k) = \sum_{m=1}^{M}W_{pm}X_{m}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1277827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用mybatis-plus框架:@Autowired报错Could not autowire. No beans of ‘XXX‘ type found

使用mybatis-plus框架,使用xxmapper报错: 解决办法是:在mapper中添加注解: Repository Mapper 也可以使用 AutowiredSysRoleMenuService sysRoleMenuService;替代 AutowiredSysRoleMenuMapper sysRoleMenuMapper;方法名不同,但…

工业机器视觉megauging(向光有光)使用说明书(十三,资源发现bug,已经更新)

megauging(向光有光)旧资源有bug,已经更新,如下: 第一工具,combox默认0,选择后,鼠标点击“获取结果”,相机就取一帧图像处理后显示出来: 第一工具&#xff0…

计算机网络之网络传输,三次握手和四次挥手

网络传输通过高低电压 流 基本类型数组 低电压转高电压,通过网卡 传输模式: 全双工:互相传输且能同时传输 半双工:互相传输但是不能同时传输 单工:单向传输,(键盘,显示器&#…

LIN TP

LIN总线为了解决多帧场景,也像CAN一样有TP协议。 主机发送请求PDU,从机发送应答PDU。 分为单帧(Single Frame,SF)、首帧(First Frame,FF)和续帧(Consecutive Frames,CF)三种。 PDU结构 包含节点地址(NAD)、协议控制…

C语言-预处理与库

预处理、动态库、静态库 1. 声明与定义分离 一个源文件对应一个头文件 注意&#xff1a; 头文件名以 .h 作为后缀头文件名要与对应的原文件名 一致 例&#xff1a; 源文件&#xff1a;01_code.c #include <stdio.h> int num01 10; int num02 20; void add(int a, in…

08-中介者模式-C语言实现

中介者模式&#xff1a; Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to each other explicitly,and it lets you vary their interaction independently.&#xff08;用一个中介对…

【Python3】【力扣题】383. 赎金信

【力扣题】题目描述&#xff1a; 题解&#xff1a; 两个字符串ransomNote和magazine&#xff0c;ransomNote中每个字母都在magazine中一一对应&#xff08;顺序可以不同&#xff09;。 即分别统计两个字符串中每个字母出现的次数&#xff0c;ransomNote中每个字母的个数小于等…

分享83个节日PPT,总有一款适合您

分享83个节日PPT&#xff0c;总有一款适合您 83个节日PPT下载链接&#xff1a;https://pan.baidu.com/s/1xX4tVpl3sSW-d2nlFzN-mg?pwd6666 提取码&#xff1a;6666 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易…

openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志

文章目录 openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志137.1 检查操作系统日志137.2 检查openGauss运行日志137.3 清理运行日志 openGauss学习笔记-137 openGauss 数据库运维-例行维护-检查和清理日志 日志是检查系统运行及故障定位的关键手段。建议按…

R语言实验三

1、读取一个文件并进行如下操作。 ①使用命令清空工作空间&#xff0c;使用read.table读取exam_1.txt文件&#xff0c;将文件保存到data变量中&#xff0c;数据第一行设置为列名&#xff0c;第一列是行名。 ②判断对象data是否为矩阵。 ③将对象转换为矩阵&#xff0c;记为d…

pyqt5使用pyqtgraph实现动态热力图

pyqt5使用pyqtgraph实现动态热力图 一、效果图 二、流程 1、打开Designer创建一个UI界面 2、把UI转成py 3、创建一个main.py文件 4、在main文件中渲染画布、创建初始数据、画热力图、创建更新数据线程、绑定按钮触发事件三、UI界面 其中h_map.py代码如下: # -*- coding: ut…

【多线程】-- 09 线程同步之三大不安全案例举例

多线程 6 线程同步 “多个线程操作同一个资源” 处理多线程问题时&#xff0c;多个线程访问同一个对象&#xff0c;并且某些线程还想修改这个对象&#xff0c;这时候就需要线程同步。线程同步其实就是一种等待机制&#xff0c;多个需要同时访问此对象的线程进入这个对象的等…

1.0 十大经典排序算法

分类 算法 本系列算法整理自&#xff1a;https://github.com/hustcc/JS-Sorting-Algorithm 同时也参考了维基百科做了一些补充。 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序&#xff0c;内部排序是数据记录在内存中进行排序&#…

vue3使用vue-router路由(路由懒加载、路由传参)

vue-router 是 vue的一个插件库 1. 专门用来实现一个SPA单页面应用 2 .基于vue的项目基本都会用到此库 SPA的理解 1) 单页Web应用&#xff08;single page web application&#xff0c;SPA&#xff09; 2) 整个应用只有一个完整的页面 3) 点击页面中的链接不会刷新页面, 本…

2023年12月3日支付宝蚂蚁庄园小课堂今日答案是什么?

问题&#xff1a;雪天行车&#xff0c;路面会有不少前车行驶的轨迹&#xff0c;最好&#xff1f; 答案&#xff1a;顺着前车轨迹行驶 解析&#xff1a;雪天路面湿滑&#xff0c;而且可能有冰雪等堆积物遮盖路面&#xff0c;所以&#xff0c;最好顺着前车轨迹减速慢行&#xf…

网络和Linux网络_8(传输层)TCP协议_续(流量控制+滑动窗口+拥塞控制+紧急指针+listen第二个参数)

目录 1. 流量控制 2. 滑动窗口 2.1 滑动窗口概念 2.2 滑动窗口模型详解 高速重发控制&#xff08;快重传&#xff09; 3. 拥塞控制和拥塞窗口 4. 延迟应答 5. 捎带应答 6. 面向字节流 7. 粘包问题 8. 16位紧急指针 9. listen的第二个参数 10. TCP总结异常情况与UD…

【开箱即用】前后端同时开源!周末和AI用Go语言共同研发了一款笔记留言小程序!

大家好&#xff0c;我是豆小匠。 真的是当你在怀疑AI会不会取代人类的时候&#xff0c;别人已经用AI工具加速几倍的生产速度了… 周末体验了和AI共同开发的感受&#xff0c;小项目真的可以一人全干了… 本次实验使用的AI工具有两个&#xff1a;1. GitHub Copilot&#xff08;…

怎么通过邻接矩阵求图的通路总数和回路总数?

通路总数 邻接矩阵所有元素的之和 回路总数 邻接矩阵对角线元素之和

Unittest单元测试之unittest用例执行顺序

unittest用例执行顺序 当在一个测试类或多个测试模块下&#xff0c;用例数量较多时&#xff0c;unittest在执行用例 &#xff08;test_xxx&#xff09;时&#xff0c;并不是按从上到下的顺序执行&#xff0c;有特定的顺序。 unittest框架默认根据ACSII码的顺序加载测试用例&a…

有文件实体的后门无文件实体的后门rootkit后门

有文件实体后门和无文件实体后门&RootKit后门 什么是有文件的实体后门&#xff1a; 在传统的webshell当中&#xff0c;后门代码都是可以精确定位到某一个文件上去的&#xff0c;你可以rm删除它&#xff0c;可以鼠标右键操作它&#xff0c;它是有一个文件实体对象存在的。…