背景介绍:深度学习两大依赖因素:大规模的训练数据、高性能的计算平台。
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是最早设计的一个应用于识别银行手写数字的卷积神经网络,结果如下