深度学习之卷积神经网络 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,一经查实,立即删除!

相关文章

python爬虫常见反爬措施_爬虫常见的反爬措施有哪些

爬虫常见的反爬措施有三种:1、header头部信息解决方法:加User-Agent值:如果不加header头,部分网站服务器判断不到用户的访问来源,所以会返回一个404错误来告知你是一个爬虫,拒绝访问,解决办法如…

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…

移动前端头部标签(HTML5 head meta)

<!DOCTYPE html> <!-- 使用 HTML5 doctype&#xff0c;不区分大小写 --> <html lang"zh-cmn-Hans"> <!-- 更加标准的 lang 属性写法 http://zhi.hu/XyIa --> <head><!-- 声明文档使用的字符编码 --><meta charsetutf-8>&l…

python新建文件夹口令_python编程快速上手—口令保管箱

之前小编为大家整理了如何成为一个优秀的程序员应该具备的品质&#xff0c;接下来为大家展示一个简单有趣的python小项目&#xff0c;从中体会编程的乐趣。小编了解这个小项目之后&#xff0c;很是惊奇&#xff0c;觉得python竟然还可以做这样的事情。为什么要建立口令保管箱&a…

django+nginx+uwsgi部署web站点

环境&#xff1a; django&#xff1a;1.8.16 python&#xff1a;2.7.13 pip&#xff1a;2.7 uwsgi&#xff1a;2.0.15 project路径&#xff1a; /opt/cmdb/ Uwsgi的安装配置 1、安装python2.7 &#xff08;省略安装过程&#xff09; 2、安装pip2.7 &#xff08;省略安装过程&…

GCC源代码阅读

获取GCC源代码 阅读源代码的第一步是获取源代码&#xff0c;巧妇难为无米之炊嘛&#xff01; 使用以下任意方法均可获得gcc源代码&#xff1a; svn checkout svn://gcc.gnu.org/svn/gcc/trunk SomeLocalDir &#xff08;摘自http://gcc.gnu.org/svn.html&#xff09;git clone …

Nginx 动静分离

页面动静分离 后端 调用tomcat 集群 示例&#xff1a; server { listen 80; server_name www.www2.com ; root /web/www2/htmlloation /img/ {alias /web/www2/html/img/;}location ~ (\.jsp)|(\.do)$ {proxy_pass http:## //serverip:port;proxy_redirect off;// 重定向 指…

Linux 状态命令之内存状态 vmstat

语法 vmstat 常见命令格式如下&#xff1a; vmstat [-a] [-n] [-S unit] [delay [ count]] vmstat [-s] [-n] [-S unit] vmstat [-m] [-n] [delay [ count]] vmstat [-d] [-n] [delay [ count]] vmstat [-p disk partition] [-n] [delay [ count]] vmstat [-f] vmstat [-V]命…

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

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

最近公共祖先 python_求二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”…

gdb使用实例

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

Linux 监控命令之 netstat

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

C#递归搜索指定目录下的文件或目录

来源&#xff1a;https://www.cnblogs.com/huhangfei/p/5012978.html诚然可以使用现成的Directory类下的GetFiles、GetDirectories、GetFileSystemEntries这几个方法实现同样的功能&#xff0c;但请相信我不是蛋疼&#xff0c;原因是这几个方法在遇上【System Volume Informati…

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 运行主目录&#xff0c;可包含多个 SolrCore 目录SolrCore 目录中包含运行 Solr 实例…

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

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

day 7 引用

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

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

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

Linux 状态命令之磁盘状态 iostat

Linux系统中的iostat是I/O statistics&#xff08;输入/输出统计&#xff09;的缩写&#xff0c;iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况&#xff0c;同时也会汇报出CPU使用情况。同vmstat一样&#xff0c;iostat也有一个弱点&#xff0c;就…

GDB十分钟教程

GDB十分钟教程 作者: liigo 原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx 日期: 2006年1月16日 本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友&#xff0c;以及程序爱好者。 GDB是一个由GNU开源组织发布的、UNIX/LI…