LeNet-5卷积神经网络框架介绍

news/2024/11/17 0:51:50/文章来源:https://www.cnblogs.com/mofeisite/p/18357398

1.LeNet-5结构总览

 LeNet-5总体框架结构如下图所示,具体层级为INPUT->C1->S2->C3->S4->C5->F6->OUTPUT。

C : 卷积层
S : 池化层

 下文对网络框架的每一层做出详细说明

2.输入层INPUT

 在LeNet-5网络中,输入数据采用32*32的二维数组存储,当然此处只做举例说明,具体的图像大小可以根据项目的具体需求自行确定。如果采用torchvision.dataset.MNIST数据集用于训练该网络,那么在编程时有一个细节要注意,要给该数据集添加上颜色通道的维度(灰度图即为1维通道),代码形式则为train.data.unsqueeze(1)/255.0

3.卷积层C1

 如下图所示,有六个大小为55的卷积核对输入图像进行卷积处理,padding=0,stride=1。由32-5+1可得输出为2828的矩阵,再由有六个卷积核进行卷积可知C1卷积层有六个特征输出。
上述文字大致全面的概述了C1卷积层内部的结构和运作原理。相较于深度神经网络DNN每层之间的全连接模式,卷积神经网络采用的是通过卷积核在输入数据上的滑动加上对应权重求和的方式,也就是在输入数据上的权重共享方式,不仅大大实现了层与层之间连接数的减少,而且保留了输入数据的位置特征。

4.池化层S2

 池化层作用为降低数据的维度。池化层S2由六个2x2的矩阵组成,padding=0,stride=2。经过池化层后,输出变为6特征14x14的矩阵。

5.卷积层C3

C3层是卷积层,由16个5x5xn的卷积核构成。输入为6个14x14的矩阵,输出为16个10x10的矩阵。与传统卷积不同的是并不是每一个卷积核都覆盖S2的所有输出通道,具体见下表所示:

C3输出层的前六个特征(0-5)分别由S2相邻的三通道与前6个卷积核卷积而成。其余的于此类推,上表已经清晰的展示。

6.池化层S4

S4 层与 S2 一样也是降采样层,使用 16 个 2×2 大小的卷积核进行池化,padding=0,stride=2,得到 16 个 5×5 大小的特征图:10/2=5。
参数个数:(1+1)x16=32。
连接数 :(2x2+1)x16x5x5 = 2000。

7.C5 层

C5 层是卷积层,使用 120 个 5×5x16 大小的卷积核,padding=0,stride=1进行卷积,得到 120 个 1×1 大小的特征图:5-5+1=1。即相当于 120 个神经元的全连接层。
值得注意的是,与C3层不同,这里120个卷积核都与S4的16个通道层进行卷积操作。
参数个数:(5516+1)120=48120。
连接数:48120
1*1=48120。

8.F6层

F6 是全连接层,共有 84 个神经元,与 C5 层进行全连接,即每个神经元都与 C5 层的 120 个特征图相连。计算输入向量和权重向量之间的点积,再加上一个偏置,结果通过 sigmoid 函数输出。
F6 层有 84 个节点,对应于一个 7x12 的比特图,-1 表示白色,1 表示黑色,这样每个符号的比特图的黑白色就对应于一个编码。该层的训练参数和连接数是(120 + 1)x84=10164。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础-学习笔记11

11 枚举、注解 枚举 枚举是一组常量的集合。 可以这么理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象。比如,Season类,只包含SPRING、SUMMER、AUTUMN、WINTER四个对象常量。 两种实现方式 (1)自定义类实现枚举1) 构造器私有化2) 本类内部创建一组对象 [四个 …

QTableWidget 设置列宽样式

一、QTableWidget 有时需要设置表格的列宽样式,设置方式如下:// 设置竖直表头不可见ui.tableWidget->verticalHeader()->setVisible(false);// 设置水平表头不可见ui.tableWidget->horizontalHeader()->setVisible(false);// 设置列数ui.tableWidget->setColu…

KingbaseRAC部署案例之---基于SAN存储部署

KingbaseES 、RAC案例说明: 通过iscsi共享存储作为数据库存储文件系统,构建KingbaseES RAC架构。 适用版本: KingbaseES V008R006C008M030B0010 操作系统版本: [root@node201 KingbaseHA]# cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)集群架构: 如下所…

Google只能以管理员运行

关于Google踩了一个坑,折磨了好久。记录一下。这个默认是打开的关闭之后正常快捷方式运行!

(转)《eBPF 核心技术与实战》

原文:https://fanlv.fun/2022/11/05/study-ebpf/ 概览 eBPF 是什么呢? 从它的全称“扩展的伯克利数据包过滤器 (Extended Berkeley Packet Filter)” 来看,它是一种数据包过滤技术,是从 BPF (Berkeley Packet Filter) 技术扩展而来的。 BPF 提供了一种在内核事件和用户程序…

KingbaseES V8R3集群运维案例---sys_md5修改密码错误

KingbaseES、kingbasecluster案例说明: KingbaseES V8R3集群在通过sys_md5修改SYSTEM用户密码时出现异常“invalid password length in cluster_passwd file”。 适用版本:KingbaseES V8R3 一、问题现象 ksql访问集群9999端口,提示“md5 authentication failed”:kingbasec…

音频去噪:使用Python和FFT增强音质

根据定义,声音去噪是从音频信号中去除不需要的噪音或干扰,以提高其质量和清晰度的过程。这涉及识别和隔离噪音成分(通常以不规则或高频元素为特征),并将其过滤掉,同时保持原始声音的完整性。 声音去噪目标是改善聆听体验以及音频分析和处理的准确性。过滤掉噪音对于高保真音频来…

使用 onBeforeRouteLeave 组合式函数提升应用的用户体验

title: 使用 onBeforeRouteLeave 组合式函数提升应用的用户体验 date: 2024/8/14 updated: 2024/8/14 author: cmdragon excerpt: 摘要:本文介绍了在Nuxtjs中使用onBeforeRouteLeave组合式函数来提升应用用户体验的方法。onBeforeRouteLeave允许在组件离开当前路由前执行逻辑…

线程状态

阻塞状态 import lombok.SneakyThrows;import java.text.SimpleDateFormat;public class T {@SneakyThrowspublic static void main(String[] args) {new Thread(() -> {synchronized (T.class) {try {Thread.sleep(6000);System.out.println(new SimpleDateFormat("yy…

502错误分析及处理(Nginx应用服务器出现502错误的原因)

Nginx应用服务器出现502错误的原因很多,但是基本都是资源不够造成的。 包括:内存不足,CPU超标,硬盘满了,另外可能也有程序导致php-fpm停止运行。对应的的解决办法: 内存和CPU超标,通过重启一下php-fpm 和nginx mysql 三个服务可以临时解决,如果是1核1g的配置且经常出现…

【医疗器械质量管理体系GB/T42061-2022法规内容了解】

国标GB/T42061 等同于 国际标准ISO13485(GB/T42061-2022 idt ISO 13485:2016) 4.1 组织要求4.2文件要求5、管理职责6、资源管理7、产品实现8、测量,分析与改进