欢迎光临钟爱文库,如需获取更多资料请使用搜索功能。
钟爱文库
当前位置:首页 » 工程科技 » 信息与通信 » 正文

神经网络到卷积神经网络原理与实践

神经网络到卷积神经网络 推导与实践摘要卷积神经网络(Convolutional Neural Network, CNN)是一种源于人工神经网 络(Neural Network, NN)的深度机器学习方法,近年来在图像识别领域取得了巨 大的成功。

CNN 由于采用局部连接和权值共享,保持了网络的深层结构,同时 又大大减少了网络参数,使模型具有良好的泛化能力又较容易训练。

NN 的训练 算法是基于梯度下降的错误反向传播(Back Propagate,BP)算法,CNN 的训练 算法是 BP 算法的一种变形。

本文从梯度下降的数学推导中总结了 NN 训练过程 中的错误信号传播和权重修改策略,用切割小图训练共权神经网络的方式解释 了 CNN 中的卷积过程,并以特殊卷积的方式解释了 CNN 的子采样过程,最后 将 NN 的错误信号传播和权重修改策略移植到 CNN 的训练中。

我们将推导出的 CNN 训练方法用 C++编码实现,用 CNN 应用最早最典型的手写数字识别问题 验证被编码的推导过程,得到了正确的效果。

I

神经网络到卷积神经网络原理与实践

卷积神经网络研究及其在基音检测中的应用目 录摘要 .......................................................................................................................................................I 目录 ..................................................................................................................................................... II 图目录 ................................................................................................................................................ III 第三章神经网络与卷积神经网络 ...................................................................................................... 1 3.1 神经网络 ............................................................................................................................... 1 3.1.1 单层感知机 ................................................................................................................ 3 3.1.2 单输出多层感知机 ..................................................................................................... 7 3.1.3 多输出多层感知机 ..................................................................................................... 8 3.2 卷积神经网络...................................................................................................................... 10 3.2.1 卷积神经网络的常用结构 ....................................................................................... 11 3.2.2 卷积与子采样 ........................................................................................................... 12 3.2.3 卷积与权值共享 ....................................................................................................... 13 3.2.4 CNN 训练过程中的三次卷积过程 ......................................................................... 14 3.2.5 卷积的作用 ............................................................................................................... 17 3.3 卷积神经网络实践 ............................................................................................................. 18 3.4 本章小结 ............................................................................................................................. 19 第六章总结与展望 ............................................................................................................................ 20II

神经网络到卷积神经网络原理与实践

图目录图 3.1 神经元的结构[24] .................................................................................................................... 2 图 3.2 神经元之间的连接[25] ............................................................................................................ 2 图 3.3 sigmoid 函数 ............................................................................................................................ 3 图 3.4 单层感知机............................................................................................................................... 4 图 3.5 单层感知机的错误信号 ........................................................................................................... 5 图 3.6 单输出多层感知机................................................................................................................... 7 图 3.7 多输出多层感知机................................................................................................................... 9 图 3.8 卷积神经网络结构示例 ......................................................................................................... 11 图 3.9 卷积过程................................................................................................................................. 12 图 3.11 CNN 中的卷积过程 ............................................................................................................. 13 图 3.12 四个 4*1 的神经网络 ........................................................................................................... 14 图 3.13 前向卷积过程....................................................................................................................... 15 图 3.14 错误传播过程中的卷积 ....................................................................................................... 16 图 3.15 四个 4*1 的神经网络的权重更新 ....................................................................................... 16 图 3.16 卷积核的权重修改量 ........................................................................................................... 17 图 3.17 权重更新过程中的卷积 ....................................................................................................... 17 图 3.18 两个固定卷积核................................................................................................................... 18 图 3.19 数字识别使用的卷积神经网络结构[26] ............................................................................ 19III

神经网络到卷积神经网络原理与实践

神经网络到卷积神经网络原理与实践

第三章神经网络与卷积神经网络人工神经网络(Neural Network, NN)有 50 多年的历史。

神经网络的发展也经历过单层感知 机, 多层感知机, 多层感知机变形几个阶段。

卷积神经网络(Convolutional Neural Network, CNN) 是多层感知机的一种变体。

神经网络的训练方法是错误反向传播算法(Back Propagate, BP) , 而错误反向传播算法的数学基础是梯度下降。

在本章的前半部分,我给出单层感知机和多层 感知机的工作原理,即 BP 算法。

计算机学者从生物视觉的研究中得到启示,一个视觉神经细胞只与其距离较近的邻层神 经元相连。

鉴于此,CNN 的采用了局部感受野。

为了简化模型,一个特征平面的神经元共享 权值。

CNN 最早由 YannLecun 实现并运用到手写数字识别问题中,并取得该领域最高的识 别率,至今未被超越。

CNN 是 NN 的一种变形,CNN 与 NN 最大的不同在于 CNN 的卷积和 子采样过程,而子采样可以被认为是一种特殊的卷积过程。

在本章的后半部分,将以切割小 图训练共享权值的 NN 的方式阐释卷积神经网络中的卷积过程。

本文按照 BP 的思想实现并训练了一个卷积神经网络模型。

我使用经典的手写数字识别 问题检测 CNN 训练推导过程的准确性。

在实验中,我使用 6 万张图片训练 CNN,用 1 万张 数字图片做测试,训练后的 CNN 模型在测试集上的准确率高达 98.6%。

实验说明用切割小图 训练 NN 的方法推导的 CNN 训练方法是正确的。

3.1 神经网络神经网络(neural network,NN)是生物科学和信息科学交叉的产物。

生物学家研究人脑 神经的工作过程,发现神经元(神经细胞)和神经元之间通过突起(轴突和树突)的相连,神 经细胞感受到刺激之后产生兴奋并通过细胞突起将兴奋传导给与之有连接的神经元。

神经元 的连接大多是相邻层间的连接,神经细胞总体上呈现分层结构,感受器中的神经接收外界刺 激,神经中枢的神经元决定人脑的意识。

如图 3.1 为一个神经细胞的结构:1

神经网络到卷积神经网络原理与实践

卷积神经网络研究及其在基音检测中的应用图 3.1 神经元的结构错误!未找到引用源。

Figure 3.1structure of a neuron 错误!未找到引用源。

一个神经元和其它神经元的连接如图 3.2 所示:图 3.2 神经元之间的连接错误!未找到引用源。

Figure 3.2the connection betweenneurons 错误!未找到引用源。

一个神经元通常和若干个神经元相连,连接有强有弱,不同的连接就像电子元件之间阻 值不同的带阻导体。

一个非输入神经元在兴奋传导过程中受到的刺激总和为与之相连的神经 元传递来的兴奋之和。

我们用 Y 表示一个神经元受到的兴奋之和,兴奋来自于 n 个与之相连 的前层神经元,那么 Y 可以通过公式 3-1 来计算。

在公式 3-1 中,x0=1,它并不是一个真实 的兴奋输入,只是为了统一表示而虚拟出来的一个节点,w0 反映神经元基础兴奋度。

一个神 经元与 n 个前层神经元相连,xi 是 n 个前层神经元传来的兴奋值,wi 是其与前层 n 个神经元 的连接紧密程度。

2

神经网络到卷积神经网络原理与实践