深度学习之卷积神经网络 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性能演进历程

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值