神经网络中可训练参数的计算---LeNet5为例

文章目录

  • 1. 基础公式
  • 2. 以LeNet5为案例分析
    • 2.1 架构图
    • 2.2 C1层
    • 2.3 S2层
    • 2.4 C3层
    • 2.5 S4层
    • 2.6 C5层
    • 2.7 F6层
    • 2.8 OUTPUT层:


1. 基础公式

 这里就是有两个 3 3 3 通道的卷积核;或者理解成有 6 6 6 3 × 3 3×3 3×3
 从下图中可发现:偏置数量=输出通道数;卷积核种类=输出通道数。

在这里插入图片描述

2. 以LeNet5为案例分析

2.1 架构图

在这里插入图片描述

2.2 C1层

 输入图片大小: 32 ∗ 32 32*32 3232
 卷积窗大小: 5 ∗ 5 5*5 55
 卷积窗种类: 6 6 6
 输出特征图数量:6
 输出特征图大小: 28 ∗ 28 28*28 2828
 神经元数量: 4704 4704 4704 [ ( 28 ∗ 28 ) ∗ 6 ) ] [(28*28)*6)] [(2828)6)]
 连接数: 12304 12304 12304 [ ( 5 ∗ 5 + 1 ) ] ∗ [ 6 ∗ ( 28 ∗ 28 ) ] [(5*5+1)]*[6*(28*28)] [(55+1)][6(2828)]
 可训练参数: 156 156 156 [ ( 5 ∗ 5 ) ∗ ( 1 ∗ 6 ) + 6 ] [(5*5)*(1*6)+6] [(55)(16)+6]

注解:
(1) ( 32 − 5 ) + 1 = 28 (32-5)+1=28 (325)+1=28
(2) 一个 28 ∗ 28 28*28 2828 的输出特征图,上面每一个结果的得到都经过一个神经元。即一个神经元对应一个输出,与像素点个数相同。
(3) 连接数按我们老师上课讲的,就先看一次卷积,加 1 1 1 是偏置,再乘上神经元数。
(4) 可训练参数套公式就可以。

2.3 S2层

 输入图片大小: ( 28 ∗ 28 ) ∗ 6 (28*28)*6 (2828)6
 卷积窗大小: 2 ∗ 2 2*2 22
 卷积窗种类: 6 6 6
 输出下采样图数量: 6 6 6
 输出下采样图大小: 14 ∗ 14 14*14 1414
 神经元数量: 1176 1176 1176 ( 14 ∗ 14 ) ∗ 6 (14*14)*6 (1414)6
 连接数: 5880 5880 5880 ( 2 ∗ 2 + 1 ) ∗ [ ( 14 ∗ 14 ) ∗ 6 ] (2*2+1)*[(14*14)*6] (22+1)[(1414)6]
 可训练参数: 12 12 12 ( 6 ∗ 2 ) (6*2) (62)

在这里插入图片描述

注解:
(1) 步长为 2 2 2
(2) 一个池化对应两个参数。

2.4 C3层

 输入图片大小: ( 14 ∗ 14 ) ∗ 6 (14*14)*6 (1414)6
 卷积窗大小: 5 ∗ 5 5*5 55
 卷积窗种类: 16 16 16
 输出特征图数量: 16 16 16
 输出特征图大小: 10 ∗ 10 10*10 1010
 神经元数量: 1600 1600 1600 [ ( 10 ∗ 10 ) ∗ 16 ) ] [(10*10)*16)] [(1010)16)]
 连接数: 151600 151600 151600 [ ( 60 + 16 ) ] ∗ 25 ∗ ( 10 ∗ 10 ) [(60+16)]*25*(10*10) [(60+16)]25(1010) (部分连接)
 可训练参数: 1516 1516 1516 [ ( 60 + 16 ) ∗ 25 ] [(60+16)*25] [(60+16)25]

在这里插入图片描述

注解:
(1) ( 14 − 10 ) + 1 = 5 (14-10)+1=5 (1410)+1=5
(2) 按照正常思维,卷积核的数量有 6 × 16 6×16 6×16 个,数量太大。这里早期设计改为了部分连接,有 60 60 60 个卷积核。
(3) 连接数的计算如下。每一个像素点的得到,都经过卷积,一个卷积核大小 5 × 5 5×5 5×5,共 60 60 60 个卷积核;一个 10 × 10 10×10 10×10 图像共用一个偏置,有 16 16 16 个图像,所以偏置数为 1 × 10 × 10 × 16 1×10×10×16 1×10×10×16
在这里插入图片描述

2.5 S4层

 输入图片大小: ( 10 ∗ 10 ) ∗ 16 (10*10)*16 (1010)16
 卷积窗大小: 2 ∗ 2 2*2 22
 卷积窗种类: 16 16 16
 输出下采样图数量: 16 16 16
 输出下采样图大小: 5 ∗ 5 5*5 55
 神经元数量: 400 400 400 ( 5 ∗ 5 ) ∗ 16 (5*5)*16 (55)16
 连接数: 2000 2000 2000 ( 2 ∗ 2 + 1 ) ∗ [ ( 14 ∗ 14 ) ∗ 16 ] (2*2+1)*[(14*14)*16] (22+1)[(1414)16]
 可训练参数: 32 32 32 ( 16 ∗ 2 ) (16*2) (162)

在这里插入图片描述

注解:步长为 2 2 2

2.6 C5层

 输入图片大小: ( 5 ∗ 5 ) ∗ 16 (5*5)*16 (55)16
 卷积窗大小: 5 ∗ 5 5*5 55
 卷积窗种类: 120 120 120
 输出特征图数量: 120 120 120
 输出特征图大小: 1 ∗ 1 1*1 11
 神经元数量: 120 120 120 120 ∗ ( 1 ∗ 1 ) 120*(1*1) 120(11)
 连接数: 48120 48120 48120 [ 16 ∗ 25 + 1 ] ∗ 1 ∗ 120 ( 全连接) [16*25+1]*1*120(全连接) [1625+1]1120(全连接)

在这里插入图片描述

注解:
(1) 120 120 120 个向量或点。
(2) 每个 1 × 1 1×1 1×1 的输出与前面的 16 16 16 个卷积核都有连接, 16 16 16 个卷积求和后加一个偏置。

2.7 F6层

 输入图片大小: ( 1 ∗ 1 ) ∗ 120 (1*1)*120 (11)120
 卷积窗大小: 1 ∗ 1 1*1 11
 卷积窗种类: 84 84 84
 输出特征图数量: 84 84 84
 输出特征图大小: 1 1 1
 神经元数量: 84 84 84
 连接数: 10164 10164 10164 ( 120 + 1 ) ∗ 84 ( 全连接 ) (120+1)*84(全连接) (120+1)84(全连接)
 可训练参数: 10164 10164 10164 120 ∗ 84 + 84 120*84+84 12084+84

在这里插入图片描述

2.8 OUTPUT层:

 输入向量: 84 84 84
 输出向量: 10 10 10

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

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

相关文章

五十首养生音乐,养五脏,解抑郁,去烦恼(附最佳聆听时间)

五十首养生音乐,养五脏,解抑郁,去烦恼(附最佳聆听时间) 在中国医学巨作《黄帝内经》中记载: 肝属木,在音为角,在志为怒; 心属火,在音为徴,在志为喜; 脾属土,在…

2024.03.21作业

自由发挥实现一个登录窗口的应用场景 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QPen> #include <QBrush> #include <QPainter> #include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; class Painter; } QT_END_NAMESPACE…

Linux快速入门,上手开发 02.VMware的安装部署

倘若穷途末路&#xff0c;那便势如破竹 —— 24.3.21 一、VMware的作用 在Windows或IOS系统下&#xff0c;给本地电脑安装VMware虚拟机&#xff0c;用来在虚拟机上安装Linux系统&#xff0c;避免重复资源的浪费&#xff0c;可以在虚拟机上搭建Linux系统进行学习 二、VMware的安…

【零基础C语言】内存中的存储

一. 整数在内存中的存储 1.原码反码补码 在计算机中整数在内存中存储的是二进制数 二进制的存储有三种表示的方式: 原码反码补码 这三种表示方式又分为符号位和数值位&#xff1a; 符号位中0表示正数&#xff0c;1表示负数&#xff0c;最高位被当作符号位&#xff0c;其他为…

高精度铸铁平台制造工艺有多精细——河北北重机械

高精度铸铁平台制造工艺通常包括以下几个步骤&#xff1a; 材料准备&#xff1a;选择合适的铸铁材料&#xff0c;并确保其质量符合要求。常用的铸铁材料包括灰铸铁、球墨铸铁等。 模具制造&#xff1a;根据平台的设计要求&#xff0c;制造适用的模具。模具一般由砂型、金属模具…

Unity 学习日记 7.用代码让2D角色动起来

下载源码 UnityPackage 目录 1.准备工作 2.显示第一幅图片 3.让乌龟动起来 1.准备工作 步骤&#xff1a; 将乌龟&#x1f422;进行切片 创建一个2D精灵对象&#xff0c;暂时将乌龟&#x1f422;的第一张图片放进去&#xff0c;并调整到合适的大小和位置 然后将精灵对象里…

Python正则表达式之模式修正符,你get了吗?

​大家好&#xff0c;今天我要和大家分享一个Python编程中的神秘武器——正则表达式模式修正符&#xff01;正则表达式&#xff0c;对于很多编程新手来说&#xff0c;可能是一个头疼的问题。但别担心&#xff0c;模式修正符就像是你手中的魔法棒&#xff0c;让你的正则表达式更…

2024创业:开一个抖店,哪怕当副业去做也行!

我是王路飞。 绝大多数人之所以走上创业这条路&#xff0c;原本的理由可能没有这么高大上。 就像我自己当初创业走上电商这条路一样&#xff0c;就一句话&#xff1a;走到绝路了&#xff0c;没办法了&#xff0c;只能闯一把&#xff0c;不让自己饿死。 创业之难&#xff0c;…

流域生态系统水-碳-氮耦合过程模拟

原文链接&#xff1a;流域生态系统水-碳-氮耦合过程模拟https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247598401&idx2&sn4c972ff3a9046094042a0a3dc65e9764&chksmfa8200a6cdf589b01b0af612a5810e6eda02cc9e7f5232db9157ff85de28626a8f4f1878fd9f&…

PTA L2-041 插松枝 代码附注释

人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上&#xff0c;做成大大小小的松枝。他们的工作流程&#xff08;并不&#xff09;是这样的&#xff1a; 每人手边有一只小盒子&#xff0c;初始状态为空。每人面前有用不完的松枝干和一个推送器&#xff0c;每次推送一…

leetcode106从中序与后序遍历序列构造二叉树

目录 1.解题关键2.思路3.变量名缩写与英文单词对应关系4.算法思路图解5.代码 本文针对原链接题解的比较晦涩的地方重新进行说明解释 原题解链接&#xff1a;https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/solutions/50561/tu-jie-…

PHP的IntlChar类:处理Unicode字符的强大工具

PHP的IntlChar类&#xff1a;处理Unicode字符的强大工具 在处理多语言和国际化应用程序时&#xff0c;Unicode字符的解码是必不可少的一环。PHP的IntlChar类为我们提供了强大的工具来解码Unicode字符。本文将深入探讨PHP的IntlChar类&#xff0c;介绍其功能、用法和优势&#x…