卷积神经网络调研
cnndoer@gmail.com
2015-1.19
报告内容
• 卷积神经网络(CNN)概述
• 卷基层,降采样层,激活函数,优化算法
• CNN局部结构改进
• CNN网络结构改进
• CNN并行加速
• 数据库及相关应用
报告内容
• 卷积神经网络(CNN)概述
• CNN局部结构改进
• CNN网络结构改进
• CNN并行加速
• 数据库及相关应用
1.1 卷积神经网络
• 卷积神经网络(Convolutional Neural Networks, CNN)
• 卷积神经网络是前馈神经网络(BP)的扩展
• 1962年Hubel提出的感受野(Receptive Field)概念;
• 1980年日本学者Fukushima提出神经认知机(Neocognition),是卷积神经网络的第一个实
现网络,并将其应用于手写体字符识别;
• 1988年Yann LeCun等提出反向传播算法,极大地推动了卷积神经网络的发展。
• 1998年Yann LeCun等提出LeNet-5网络结构,并应用于文档识别,该结构为CNN最经典的
网络结构。
• 2012年,Hinton改进了卷进神经网络的训练方式(ReLU+Dropout),并将其应用于
ImageNet,取得了最好的分类效果。
• 目前,在计算机视觉领域,卷积神经网络是应用最广的深度学习模型。
1.2 深度神经网络
1.3 CNN经典模型
卷积神经网络最核心的地方在于卷积和Pooling操作,卷积思想来源于人眼视觉的感受野概念,即以兴趣
点为中心的一小块区域,卷积更符合图像的二维空间的本质,可以学习更有效的特征;Pooling可以简单
理解为降采样操作,学习图像的空域特征。
CNN中通过卷积核共享可以减少参数的个数,降低模型的复杂度;
Pooling可以使学到的特征具有一些不变形,如平移、旋转、旋转不变性等。
From: (1998) Gradient-Based Learning Applied to Document Recognition.
1.4 CNN的训练过程
• 训练算法与传统的BP算法差不多。主要包括两个阶段:
• 第一阶段,向前传播阶段:
• 从样本集中取一个样本(X, Y),将X输入网络;
• 计算相应的实际输出O。
• 在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成
训练后正常运行时执行的过程。在此过程中,网络执行的是计算(实际上就是输入与
每层的权值矩阵相点乘,得到最后的输出结果):
• O=Fn(…(F2(F1(XW(1))W(2))…)W(n))
• 第二阶段,向后传播阶段
• 计算实际输出O与相应的理想输出Y的差;
• 按极小化误差的方法反向传播调整权矩阵。
1.5 CNN反向传播算法
• CNN代价函数
• 一般选择最小化平方误差(MSE)或者最小化相对熵(Relative Entropy)。
• 反向传播一般使用随机梯度下降法。
• CNN的反向传播主要考虑三个方面:
• 输出层,代价函数的确定及求导,类似BP网络;
• Pooling,数据的下采样及残差的上采样;
• 卷基层,数据的卷积运算及残差的反卷积运算。
• 如果卷积层的下一层为pooling层时,需要做残差的上采样。Pooling如果采用max
pooling的话需要在前向传播时记录最大值的位置。
• 如果Pooling的下一层为卷积层时,需要做残差的反卷积。
From: (2014) Notes on Convolutional Neural Networks.