zoukankan      html  css  js  c++  java
  • LeNet5

    Lecun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.(Ⅰ.induction ⅡConvolutional Neural Networks For Isolated Character Recognition)

    传统的模式识别方法

    1.人工设计的特征提取方法+分类器(可以是全连接神经网络)
        1.1. 图像–特征提取–>特征–分类器–>数字类别
        1.2. 缺点:需要手动设计特征提取方法,通常对于不同的问题需要不同的特征提取方法。而且效果与特征提取方法关系很大。

    image

    2.直接处理图像的全连接神经网络(raw input)
        2.1. 图像–全连接神经网络–>数字类别
        2.2. 缺点: 
        a. 参数数量爆炸(起码与图像像素数目成正比):需要大数据集,难以收敛,容易过拟合,会超内存。
        b. 不保证对旋转以及局部扭曲的无关性,需要数字图像居中才可以得到较好的准确度(通常难以满足)。理论上全连接可以得到旋转以及局部扭曲不变性,即在不同位置都有一个相似的权值单元,但是需要大量的局部移动的训练样本)。
        c. 忽略了图像的拓扑结构,任意打乱图像的像素顺序不会影响训练结果

    为什么Convolution

    1.位移不变性:论文中不单单指图像,还指出语音,在这些应用中,它们的input的数据不可能在输入到网络前,进行预处理将这些数据完美地摆在输入的正中央,因此需要模型具有一种位移不变性,即 即使在训练集中没有图片的某个位置都没有出现过目标物,在测试时仍能将在这个位置上的目标物识别出来,语音处理也同理。

    2.保持拓扑结构:空间相邻的像素具有高度相关性,需要保持图像中的拓扑结构。

    3.稀疏性:避免像全连接网络那样那么多参数,降低模型复杂度,从而减少variance

    据此产生了卷积的三个性质:

    1.权值共享:对于同一卷积核,图片上不同位置处的参数(权重)是一样的

    2.局部感受野:每个感受野里的像素点都是有空间结构的

    3.空间或时间上的下采样:“因为对于不同的手写体字符,位置会经常变动。在特征图中降低特征位置的精度的方式是降低特征图的空间分辨率,这个可以通过下采样层达到,下采样层通过求局部平均降低特征图的分辨率,并且降低了输出对平移和形变的敏感度。”(原文)

    总结:总之,卷积+下采样目的就是保证空间和时间结构,并且尽可能保证位移,缩放,和形变的不变性(shift,scale,distortion invariance)。如果对图像做平移,那么对应于高层特征的平移(因为权值共享);如果对图像做局部旋转,小范围旋转/扭曲会被局部感受野消除,大范围扭曲会因为降采样而模糊掉其影响。

     

    但是事实上,在有些实验中,会对训练图像进行一定程度上地空间变换,以提高数据的健壮性。这从侧面也说明,上面提到的位移,缩放和形变只能尽可能保证不变。

    第1层  卷积层

    输入图片尺寸:32x32x1;
    输出图片尺寸:28x28x6;(filter=5*5, strides=1, padding='VALID')
    卷积层参数:5x5x1x6+6=156个参数,其中6个为偏置参数;
    卷积层连接:(5x5+1)x28x28x6=122304个连接。

    第2层 池化层

    输入图片尺寸:28x28x6;
    输出图片尺寸:14x14x6;(filter=2*2, strides=2, padding='SAME')
    池化层参数:2x6=12个参数;
    池化层连接:(4+1)x14x14x6=5880个连接。

    第3层 卷积层

    输入图片尺寸:14x14x6;
    输出图片尺寸:10x10x16;(filter=5*5, strides=1, padding='VALID')
    卷积层参数:(5x5x3+1)x6 + (5x5x4 + 1) x 3 + (5x5x4 +1)x6 + (5x5x6+1)x1 = 1516个参数;
    卷积层连接:1516x10x10=151600个连接。
    Note: C3的前6个特征图以S2中3个相邻的特征图子集为输入。接下来6个特征图以S2中4个相邻特征图子集为输入。然后的3个以不相邻的4个特征图子集为输入。最后一个将S2中所有特征图为输入。这样C3层有1516个可训练参数和151600个连接。

    第4层 池化层

    输入图片尺寸:10x10x16;
    输出图片尺寸:5x5x16;(filter=2*2, strides=2, padding='SAME')
    池化层参数:2x16=32个参数;
    池化层连接:(4+1)x5x5x16=2000个连接。

    第5层 卷积层(实质上因为滤波器大小为5x5,等价于全连接层)

    输入图片尺寸:5x5x16;
    输出图片尺寸:1x1x120;
    卷积层参数:(5x5x16+1)x120=48120个参数;
    卷积层连接:(5x5x16+1)x120=48120个连接,与参数大小一致。

    第6层 全连接层

    输入图片尺寸:1x1x120;
    输出图片尺寸:1x1x84;
    全连接层参数:(120+1)x84=10164个参数;
    全连接层连接:(120+1)x84=10164个连接,与参数大小一致。

    第7层 全连接层

    输入图片尺寸:1x1x84;
    输出图片尺寸:1x1x10;
    全连接层参数:(84+1)x10=850个参数;
    全连接层连接:(84+1)x10=850个连接,与参数大小一致。

     

     

  • 相关阅读:
    jquery中attr和prop的区别
    director.js:客户端的路由---简明中文教程
    MVC利用Routing实现多域名绑定一个站点、二级域名以及二级域名注册Area
    机器学习——几种分类算法的汇总
    图像预处理(二值化)
    深度学习训练数据打标签过程
    卷积神经网络(CNN)
    机器学习算法中的准确率(Precision)、召回率(Recall)、F值(F-Measure)
    TortoiseGit上传项目到GitHub
    机器学习中的数据清洗与特征工程
  • 原文地址:https://www.cnblogs.com/yifdu25/p/8523245.html
Copyright © 2011-2022 走看看