LeNet-5学习笔记

news2025/7/5 5:34:42

LeNet-5

网络结构
输入→卷积(C1)→池化(S2)→卷积(C3)→池化(S4)→全连接(F5)→全连接(F6)→输出(Output)
在这里插入图片描述

卷积神经网络的构成

输入层

整个网络的输入部分,在图像中,一般就是一个图像的像素矩阵,一般为三维矩阵,其中长宽代表了图像的大小,深度代表了图像的色彩通道(channel),其中,黑白图片的深度为1,彩色采用RGB色彩模式下的深度为3.

卷积层

卷积层中的输入为上一层中的一小块(一般为33或55的卷积块),通过卷积操作,会使节点矩阵变得更深。
卷积层的计算

  • 局部关联:每个神经元看做一个滤波器(filter)
  • 窗口滑动: filter对局部数据计算

深度:如下图
在这里插入图片描述
步长:滑动窗口每次移动的长度
填充值(padding):在原有的矩阵外填充(一般为0)一层,以便遍历矩阵的全部像素
卷积操作:
在这里插入图片描述
特征图的边长:N = ( W − F + 2 P ) / S + 1
其中,W是输入的图像,F是卷积核大小,P是填充值,S是步长。

常用激活函数:

在这里插入图片描述

池化层

池化层可以看作将一张高分辨率的图像转化为低分辨率的图像,通过池化层,可以进一步缩小最后全连接层中节点的个数,以减少神经网络中的参数。

  • 最大池化是指把卷积后函数区域内元素的最大值作为函数输出的结果,对输入图像提取局部最大响应,选取最显著的特征。
  • 平均池化是指把卷积后函数区域内元素的算法平均值作为函数输出结果,对输入图像提取局部响应的均值。

如下图。
在这里插入图片描述

LeNet模型

LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。
在这里插入图片描述

输入层:

在上述图像中,输入层为一个32×32像素的图像,其通道数为1.

C1层(卷积层):

使用了6个5×5大小的卷积核,padding=0,stride=1,输出为6个28×28大小的特征图
在这里插入图片描述

S2层(池化层-下采样层):
  • 输入:28*28
  • 卷积核:2*2
  • 采样方式:4个输入相加,乘以一个可训练参数,再加上一个可训练偏置。结果通过sigmoid
  • 卷积核种类(输出通道):6
  • 输出featureMap大小:14*14(28/2)
  • 神经元数量:14 * 14 *6
  • 可训练参数:2*6(和的权+偏置)
  • 连接数:(2 * 2 + 1)* 6 * 14 *14
  • S2中每个特征图的大小是C1中特征图大小的1/4。
    在这里插入图片描述
S3层(卷积层):

使用 16 个 5×5xn 大小的卷积核,padding=0,stride=1 进行卷积,得到 16 个 10×10 大小的特征图:14-5+1=10
在这里插入图片描述

S4层(池化层-下采样层):

使用 16 个 2×2 大小的卷积核进行池化,padding=0,stride=2,得到 16 个 5×5 大小的特征图:10/2=5。
参数个数:(1+1)*16=32。

F5层(卷积层-全连接层):

使用 120 个 5×5x16 大小的卷积核,padding=0,stride=1进行卷积,得到 120 个 1×1 大小的特征图:5-5+1=1。即相当于 120 个神经元的全连接层。
参数个数:(5516+1)120=48120。
连接数:48120
1*1=48120
在这里插入图片描述

F6层(全连接层):
  • 输入:c5 120维向量
  • 计算方式:计算输入向量和权重向量之间的点积,再加上一个偏置,结果通过sigmoid函数输出。
  • 可训练参数:84*(120+1)=10164
OUTPUT层(输出层):

Output 层共有 10 个节点,分别代表数字 0 到 9。假设x是上一层的输入,y 是 RBF的输出,则 RBF 输出的计算方式是:
在这里插入图片描述
参数个数:84*10=840。

连接数:84*10=840
在这里插入图片描述

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

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

相关文章

力扣(LeetCode)18. 四数之和(C++)

双指针 快排使 numsnumsnums 正序。 设置四个指针 iii 指向 numsnumsnums 第一个数,jjj 指向 numsnumsnums 第二个数,从前往后枚举 nums[i]nums[i]nums[i] 和 nums[j]nums[j]nums[j] , lll 从 nums[j1]nums[j1]nums[j1] 往后,指…

AI写作文案的技巧:Wordhero AI写作SOP

文案引用自AI Content Hacker Tips 7步成文:2000单词SEO文案写作 | Wordhero AI Editor大更新心态:用AI写作的正确态度 人工智能 (AI) 的兴起导致写作世界发生了一些有趣的变化。许多人现在正在使用人工智能工具来帮助他们写作。一些专家认为&#xff0…

向毕业妥协系列之深度学习笔记(一)浅层神经网络

目录 一.神经网络杂记 二.计算图(反向传播求导的几个实例) 1.普通式子反向传播求导 2.逻辑回归中的梯度下降 3.m个样本的梯度下降 三.向量化 四.python广播 五.激活函数 六.随机初始化 深度学习系列的文章也可以结合下面的笔记来看:…

java计算机毕业设计装修设计管理系统设计与实现(附源码、数据库)

java计算机毕业设计装修设计管理系统设计与实现(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xf…

【论文阅读】时序动作检测系列论文精读(2020年)

文章目录1. DBG: Fast Learning of Temporal Action Proposal via Dense Boundary Generator论文目的——拟解决问题、贡献——创新实现流程详细方法2. PBR-Net: Progressive Boundary Refinement Network for Temporal Action Detection论文目的——拟解决问题贡献——创新实现…

08.初级指针

一、指针 指针理解的2个要点: 1. 指针是内存中一个最小单元的编号,也就是地址 2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量 总结:指针就是地址,口语中说的指针通常指的是指针变…

VLSI 半定制设计方法 与 全定制设计方法【VLSI】

VLSI 半定制设计方法 与 全定制设计方法【VLSI】VLSI 半定制设计方法1. standard cell 设计方法Standard Cell library设计方法与步骤特点2. 门阵列(gate array)设计方法gate array特点与FPGA的区别PLA3. 门海设计方法(sea-of-gates styles)全定制:无约束设计方法&a…

希望计算机专业同学都知道这些老师

C语言教程——翁凯老师、赫斌 翁恺老师是土生土长的浙大码农,从本科到博士都毕业于浙大计算机系,后来留校教书,一教就是20多年。 翁恺老师的c语言课程非常好,讲解特别有趣,很适合初学者学习。 郝斌老师的思路是以初学…

【UML】活动图Activity Diagram、状态机图State Machine Diagram、顺序图Sequence Diagram

一、活动图 1、简述 活动图和流程图很相似,但是流程图不属于UML图的一种。 类图是一种静态图,属于结构建模;活动图是一个动态图,属于行为建模。 2、元素 2.1 开始、结束、判读、活动、合并 流程图的元素很简单:圆…

[附源码]java毕业设计社区新冠疫情防控网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

WebSocket 和 Socket 的区别

WebSocket 和 Socket 的区别就像Java和JavaScript,并没有什么太大的关系,但又不能说完全没关系。可以这么说: 1.命名方面,Socket是一个深入人心的概念,WebSocket借用了这一概念;2.使用方面,完全…

java项目-第148期ssm社区疫情防控管理信息系统-ssm毕业设计_计算机毕业设计

java项目-第148期ssm社区疫情防控管理信息系统-ssm毕业设计_计算机毕业设计 【源码请到资源专栏下载】 今天分享的项目是《ssm社区疫情防控管理信息系统》 该项目分为2个角色,管理员、用户。 用户可以浏览前台的疫情物资,进行申请领取。申请后可以在后台…

Windows Server 2019 - 辅助DNS

配置辅助DNS实现主DNS的备用 两台虚拟机;都安装了DNS服务器 一个作为主服务器,一个作为备用服务器 主服务器的配置: 固定IP DNS管理器 安装成功后打开DNS管理器 在正向查找区域新建区域

尝试搞懂 MySQL(一)

一、MySQL 基础架构 先上个 MySQL 逻辑架构图 可以看出,整个架构分为两层:server 层 和 存储引擎层。其中: server 层:连接器、查询缓存、分析器、优化器、执行器等;存储引擎层:插件式,支持 In…

与排序相关的STL模板

今天,深度学习了排序的我决定大展身手,将另我突发八十年脑血栓的STL排序全部列举出来. 本博客除了已在文章中说明的函数外,其他默认头文件为<algorithm>. qsort 在c标准库中,此函数被(收藏)于<cstdlib> qsort 与 bsearch 的比较函数 qsort 函数有四个参数&…

华清远见上海中心22071班--11.19作业

题目&#xff1a;实现开发板点灯操作 程序要求&#xff1a; 1&#xff09;分部实现注册字符设备驱动 2&#xff09;自动创建设备节点 3&#xff09;通过结构体对led灯地址进行映射 4&#xff09;次设备号完成私有数据传参 5&#xff09;在open函数中获取到次设备号&#xff0c…

Js逆向教程-10常见代码混淆

作者&#xff1a;虚坏叔叔 博客&#xff1a;https://xuhss.com 早餐店不会开到晚上&#xff0c;想吃的人早就来了&#xff01;&#x1f604; Js逆向教程-10常见代码混淆 一、常见代码混淆 eval混淆AA和OO混淆JSFuck 混淆就是将正常的代码进行语法上的改变或者变量名称上的改变…

基于javaweb,ssm学生宿舍系统(带论文)

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat8.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 系统分前后台&#xff0c;非前后端分离 前端技术&#xff1a;vue.jselementUI等框架实现 服务端技术&#xff1a;springspringmvcmybat…

基于stm32单片机的输入捕获测量脉宽Proteus仿真

资料编号&#xff1a;109 下面是相关功能视频演示&#xff1a; 109-基于stm32的输入捕获测量脉宽Proteus仿真(源码仿真全套资料)功能介绍&#xff1a; 采用stm32单片机作为主控&#xff0c;采用单片机的GPIO进行输入捕获&#xff0c;可以测量按键按下的低电平脉宽时间&#x…

云原生系列七【轻松入门容器基础操作】

✅作者简介&#xff1a; CSDN内容合伙人&#xff0c;全栈领域新星创作者&#xff0c;阿里云专家博主&#xff0c;华为云享专家博主&#xff0c;掘金后端评审团成员 &#x1f495;前言&#xff1a; 最近云原生领域热火朝天&#xff0c;那么云原生是什么&#xff1f;何为云原生&a…