卷积神经网络(Convolutional Neural Network, CNN)与LeNET-5

来源:互联网 发布:sql查询分析器在哪2005 编辑:程序博客网 时间:2024/06/16 23:32

背景介绍:深度学习两大依赖因素:大规模的训练数据、高性能的计算平台。

                    CNN直接从图像原始像素出发,经过极少的预处理,就可以提取特征识别出视觉上的规律。

                    CNN——>层数变深,结构变复杂。通过增加深度,网络能够抽象出更深层、更抽象的特征

                     ——>网络变得难以优化和训练。

                    “全连接的深度网络”存在梯度消失、局部最优解、可扩展性差的缺点


卷积运算 

(1.)离散情形:类似于向量作内积运算,CNN中的离散卷积是相同阶数矩阵对应位置相乘,再求和。                                             


(2.)连续情形:函数w(a)在函数x(t)上的加权叠加。

计算带激光传感器的宇宙飞船的位置x(t)时,为减少噪音影响,不直接使用瞬时位置,而是对求加权平均位置。

离当前时间较近的位置,对结果影响大,权重w(a)大;反之一样。


其中,x(t)是输入,函数w(a)是滤波器,也即卷积核,s(t)是特征图,特征图谱。


CNN网络结构

Input Layer—[—>Convolutional Layer——>Activation Layer——>Pooling Layer——>Full Connected Layer—]*n—>OutputLayer

    A*B*C      ---->          (A*B)/(a*b)          ---->     (A*B)/(a*b)     ---->(A*B)/[(a*b)*(i*j)]     (单隐藏层为例,数组降维情况)


(a.)Input Layer——>Convolutional Layer

局部感知野,局部连接,卷积层神经元仅和输入层一部分神经元连接,降维;卷积核权重参数共享

(后一层作用于前一层每个区域用的是同一个卷积核,从而需要求得卷积核参数个数大幅减少)


使用不同的卷积核可以提取不同的特征

对前一层进行卷积运算步长可以选择1,2,3...

步长的选择会涉及边界是否需要补0,即same padding、valid padding的区别:

(1)same padding是求完卷积后与上一层大小一样

(2)valid padding是求完卷积后边界变小



(b.)Convolutional Layer——>Activation Layer

非线性激活,sigmoid函数、ReLU激活函数,一一映射


(c.)Activation Layer——>Pooling Layer

求输入数组(m*n)的统计学特征(m*n变1),降维

max-pooling,mean-pooling和stochastic pooling等不同池化方式



(d.)[]*n

多个卷积核提取多重特征,进行组合加强网络抽象能力


LeNET-5是最早设计的一个应用于识别银行手写数字的卷积神经网络,结果如下














阅读全文
0 0
原创粉丝点击