深度学习之卷积神经网络 LeNet

卷积神经网络典型CNN

  • LeNet:最早用于数字识别的CNN
  • LeNet5:现在常说的一般就是LeNet5
  • AlexNet:2012ILSVRC冠军,远超第二名的CNN,比LeNet更深,用多层小卷积叠加来替换单个的大卷积
  • ZF Net:2013ILSVRC冠军
  • GoogLeNet:2014ILSVRC冠军
  • VGGNet:2014ILSVRC比赛中算法模型,效果率低于GoogleNet
  • ResNet:2015ILSVRC冠军,结构修正以适应更深层次的CNN训练

卷积神经网络典型CNN-LeNet

卷积神经网络典型CNN-LeNet5

网络结构

C1层是一个卷积层(卷积+激励)

  • input:1*32*32
  • filter:1*5*5
  • stripe:1                
  • padding:0                
  • filter size/depth:6                
  • output:6*28*28                
  • 神经元数目:6*28*28                
  • 参数个数:(1*5*5+1)*6=156。每个特征图内共享参数,因此参数总数:共(5*5+1)*6=156个参数
  • 连接方式:普通的卷积连接方式    
  • 每个卷积神经元的参数数目:5*5=25个weight参数和一个bias参数
  • 链接数目:(5*5+1)*6*(28*28)=122304个链接

S2层是一个下采样层(池化)

  • input:6*28*28
  • filter:2*2
  • padding:0
  • stripe:2
  • output:6*14*14。每个图中的每个单元与C1特征图中的一个2*2邻域相连接,不重叠。因此,S2中每个特征图的大小是C1中的特征图大小的1/4
  • 神经元数目:6*14*14
  • 参数个数:0            
  • 连接方式:普通的最大池化方式

=========================================================================

现在 lenet5 多用改进的池化,池化方式如下

  • S2层每个单元的4个输入相加,乘以一个可训练参数w,再加上一个可训练偏置b,结果通过sigmoid函数计算
  • 连接数:(2*2+1)*1*14*14*6=5880个
  • 参数共享:每个特征图内共享参数,因此有2*6=12个可训练参数

C3层是一个卷积层(卷积+激励)

  • input:6*14*14                                        
  • filter:?*5*5    6*5*5                                    
  • stripe:1                                        
  • padding:0                                        
  • filter size/depth:16                                        
  • output:16*10*10           
  • 神经元数目:16*10*10                                        
  • 参数个数:(3*5*5+1)*6+(4*5*5+1)*9+(6*5*5+1)*1=1516                                    
  • 连接方式(S2->C3)    不是普通的卷积操作,是卷积操作的变种。"最终输出的16个fetaure map中,对应的前六个卷积核是和s2中输出的六个feature map中的任意3个feature map做卷积,中间九个卷积核是和s2中输出的六个feature map中的任意4个feature map做卷积,最后一个卷积核是和六个feature map做卷积"。
    • 好处:
      • 1. 不需要使用全部的feature map,这样有连接的feature map的连接数/参数数量可以保持在一定范围,直白来讲:相对于传统的卷积操作,降低了网络的参数数据量
      • 2. 可以打破网络的对称结构,不同的卷积核可以得到不同的特征信息

S4层是一个下采样层(池化)

  • input:16*10*10
  • filter:2*2
  • padding:0
  • stripe:2
  • output:16*5*5
  • 神经元数目:16*5*5
  • 参数个数:0
  • 连接方式:普通的最大池化方式

=========================================================================

现在 lenet5 多用改进的池化,池化方式如下

  • S4层每个单元的4个输入相加,乘以一个可训练参数w,再加上一个可训练偏置b,结果通过sigmoid函数计算
  • 连接数:(2*2+1)*5*5*16=2000个
  • 参数共享:特征图内共享参数,每个特征图中的每个神经元需要1个因子和一个偏置,因此有2*16个可训练参数。

C5层是一个卷积层(卷积+激励)

  • input:16*5*5
  • filter:16*5*5(没有共享卷积核)
  • stripe:1
  • padding:0
  • filter size/depth:120
  • output:120*1*1
  • 神经元数目:120*1*1
  • 参数个数:(16*5*5+1)*120=48120
  • 连接数:(16*5*5+1)*120=48120
  • 连接方式:普通的卷积操作。好处、作用:当网络结构不变,如果输入的大小发生变化,那么C4的输出就不是120啦。120个神经元,可以看作120个特征图,每张特征图的大小为1*1,每个单元与S4层的全部16个单元的5*5邻域相连(S4和C5之间的全连接)

F6层是一个全连接层

  • input:120
  • output:84
  • 神经元数目:84
  • 参数个数:(120+1)*84=10164
  • 连接数:(120+1)*84=10164
  • 有84个单元(之所以选这个数字的原因来自于输出层的设计),与C5层全连接。84:stylized image:7*12

输出层采用欧氏径向基函数单元

  • input:84
  • output:10
  • 神经元数目:10
  • 参数数目:84*10=840
  • 给定一个输入模式,损失函数应能使得F6的配置与RBF参数向量(即模式的期望分类)足够接近。
  • 每类一个单元,每个单元连接84个输入;每个输出RBF单元计算输入向量和参数向量之间的欧式距离。
  • RBF输出可以被理解为F6层配置空间的高斯分布的对数似然【-log-likelihood】

卷积神经网络CNN性能演进历程

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

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

相关文章

dom4j的读写xml文件,读写xml字符串

百度了一些博客,大同小异,在选取jar包工具的时候大概看了下,大抵是jdom原始,dom4j优秀。于是做了些练习。 参考:http://www.cnblogs.com/mengdd/archive/2013/06/05/3119927.html 1 package com.test.xml;2 3 import j…

深度学习之数据增强方案和TensorFlow操作

一、数据增强的方法介绍 增加训练数据, 则能够提升算法的准确率, 因为这样可以避免过拟合, 而避免了过拟合你就可以增大你的网络结构了。 当训练数据有限的时候, 可以通过一些变换来从已有的训练数据集中生成一些新的数据&#x…

使用OpenSSL实现CA证书的搭建过程

个人博客地址:http://www.pojun.tech/ 欢迎访问 什么是CA CA,Catificate Authority,通俗的理解就是一种认证机制。它的作用就是提供证书(也就是服务端证书,由域名,公司信息,序列号,签名信息等等组成&#…

gdb使用实例

第一篇 概论我们将学习使用gdb来调试通过一个通过串行线同PC相连的嵌入式系统。Gdb可以调试各种程序,包括C、C、JAVA、PASCAL、FORAN和一些其它的语言。包括GNU所支持的所有微处理器的汇编语言。在gdb的所有可圈可点的特性中,有一点值得注意,…

Linux 监控命令之 netstat

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。 语法 netstat [-acC…

solr 配置

创建 SolrHome(solrCore) 1.解压 solr-4.10.4.tgz 到 /usr/local/solr 2.将 solr-4.10.4/example/solr 下所有文件拷贝到 /usr/local/solrhome (此 solrhome 为自己创建的) solrhome 是 solr 运行主目录,可包含多个 SolrCore 目录SolrCore 目录中包含运行 Solr 实例…

mfc程序转化为qt_10年程序员:我都学过这些语言,2019年开始我再也不是程序员......

为什么学编程2008年,高中毕业的我问一个已经工作两年的亲戚:什么专业工资高?他告诉我:程序员。2008年成都最低工资好像是800元,我的生活费也是800元,据他所说程序员出来的工资是2000,于是开始了…

day 7 引用

1.ba在c语言和python中的区别 c语言:a100 a变量里面放的100 b a b变量里面也放的100 python : a100 内存中有个100 a放的100的内存地址 b a b也放的100的内存地址 相当于给100那一块内存,贴个便利签 2.type查看数据类型&…

Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示...

Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http://www.cnblogs.com/dunitian/p/5221058.html 平台之大势何人…

ride上点击用例不能显示edit信息_接口测试平台代码实现61: 多接口用例1

终于又序更上了,原谅最近作者几天事情不断。按照我们之前的计划,需要迅速开启很重要的核心多用例接口。首先,我们要确定,这个功能的大体设计。就放在在我们的页面 用例库 中:所以也就是我们很久之前就创建好的P_cases.…

MUI - 预加载

打开详情页回到顶部:document.body.scrollTop document.documentElement.scrollTop 0;方式一:preload一次仅能预加载一个页面(除非循环) var subWebview mui.preload({url: examples/accordion.html,id: template_sub,top: styles: {48 …

Bash : 索引数组

Bash 提供了两种类型的数组,分别是索引数组(indexed array)和关联数组(associative array)。本文主要介绍索引数组的基本用法。 索引数组的基本特点 Bash 提供的数组都是一维数组。任何变量都可以用作索引数组。通过 declare 关键字可以显式的声明一个索引数组。数组…

Python 第三方模块之 smtplib

1 python对SMTP的支持 SMTP(Simple Mail Transfer Protocol)是简单传输协议,它是一组用于用于由源地址到目的地址的邮件传输规则。 python中对SMTP进行了简单的封装,可以发送纯文本邮件、HTML邮件以及带附件的邮件。两个核心模块…

Node.js 使用jQuery取得Nodejs http服务端返回的JSON对象示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var httprequire("http");// 创建服务器,创建HTTP服务器要调用http.createServer()函数&#xff0c…

svg 动画_根据AI导出的SVG path制作SVG线条动画

点击右上方红色按钮关注“web秀”,让你真正秀起来前言首先祝大家2019新年快乐,万事大吉,猪事顺利,阖家欢乐。前面文章SVG 线条动画基础入门知识学习到了基础知识,现在来给大家讲讲如何制作SVG 制作复杂图形线条动画。假…

读书笔记2013第3本:《无价》

《无价》这本书是过年前买的,网络书店上写着“老罗推荐”,想着好像是在老罗哪一年的演讲里听过这本书,在豆瓣上评分7.9。读书是为了产生行动,读书时要提的4个问题,1)这本书主要在谈些什么?2&…

Linux下的程序调试——GDB

无论是多么优秀的程序员,都难以保证自己在编写代码时不会出现任何错误,因此调试是软件开发过程中的一个必不可少的 组成部分。当程序完成编译之后,它很可能无法正常运行,或者会彻底崩溃,或者不能实现预期的功能。此时如…

圆锥曲线万能弦长公式_2020高考数学50条秒杀型公式与方法

考试马上就要到了,学姐整理了高考数学50条秒杀型公式和方法,希望能帮助考生们更好地攻克数学难关!高考数学秒杀公式与方法一1,适用条件:[直线过焦点],必有ecosA(x-1)/(x1),其中A为直线与焦点所在…

Python 内置模块之 logging

日志的级别和适用情况 级别适用情况DEBUG详细信息,通常只在诊断问题时对其感兴趣INFO确认工作正常WARNING表示发生了意料之外的事或者在不远的将来会有问题(比如磁盘空间低)。软件依然正常工作ERROR由于一个更加严重的问题,软件不…

数据结构与算法 Python语言描述 笔记

数据结构 线性表包括顺序表和链表,python的list是顺序表,链表一般在动态语言中不会使用。不过链表还是会出现在各种算法题中。 链表 link list 单链表 逆转链表: leetcode 206双链表循环单链表字符串 string 有一个重要的点就是字符串的匹配问…