卷积神经网络(CNN)理论学习之经典BP算法

简介

卷积神经网络(Convolutional Neural Network)的结构类似于神经网络,可以看做是对其的改进。它利用局部连接、权值共享、多核卷积、池化四个手段大大降低了参数的数目,使得网络的层数可以变得更深,并且能够合理的隐式的提取特征。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于其特征检测层通过训练数据进行学习,隐式地从训练数据中进行学习,避免了显式的特征抽取;再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据重建的复杂度它可以直接处理灰度图片,能够直接用于处理基于图像的分类。

这里写图片描述

卷积网络较一般神经网络在图像处理方面有如下优点: a)输入图像和网络的拓扑结构能很好的吻合;b)特征提取和模式分类同时进行,并同时在训练中产生;c)权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。
更加具体的细节请参考博客Convolutional Neural Networks卷积神经网络

全连接的反向传播算法(BP算法)

BP算法(error BackPropagation)是训练神经网络最为经典的算法,深度学习算法中所用的卷积神经网络结构也是用类似的算法进行训练的。传统的神经网络的结构如下图所示:
经典神经网络结构

一、代价函数的定义

假定有一个包含m个样例的样本集这里写图片描述,对于单个样例,我们定义代价函数为:
这里写图片描述
这是方差代价函数,这里写图片描述是样例x对应网络的输出向量,y是期望的输出向量。对于整个样本集,代价函数为:
这里写图片描述
上式中第一项为均方差项;第二项是一个规则化项(也叫权重衰减项),其目的是减小权重的幅度,防止过度拟合。权重衰减参数λ用于控制公式中两项的相对重要性。(注:这里写图片描述表示的是第l层第i个神经元与第l+1层第j个神经元之间的链接权重)。
以上的代价函数经常被用于分类和回归问题。在分类问题中,我们用 y = 0 或1,来代表两种类型的标签(回想一下,这是因为 sigmoid激活函数的值域为 [0,1];如果我们使用双曲正切型激活函数,那么应该选用-1 和+1 作为标签)。对于回归问题,我们首先要变换输出值域(译者注:也就是y),以保证其范围为 [0,1] (同样地,如果我们使用双曲正切型激活函数,要使输出值域为 [-1,1])。

二、权重更新

我们训练网络的目的是为了得到网络的一组权值w,b使得网络的代价函数J(W,b)最小,输出的结果与样本的标签更相似。为了求解神经网络,得到这样一组权值,我们需要将每个待训练的参数初始化一个很小的、接近于零的随机值(比如使用正态分布N(0,ε^2)生成随机值,其中ε=0.01)。之后利用诸如批量梯度下降法的最优化算法进行优化。因为J(W,b) 是一个非凸函数,梯度下降法很可能会收敛到局部最优解;但是在实际应用中,梯度下降法通常能得到令人满意的结果。最后,需要再次强调的是,要将参数进行随机初始化,而不是全部置为0。如果所有参数都用相同的值作为初始值,那么所有隐藏层单元最终会得到与输入值有关的、相同的函数(也就是说,对于所有这里写图片描述都会得到相同的值;那么对于任何输入x都会有:这里写图片描述)。随机初始化的目的是使对称失效。
权重更新公式如下:
这里写图片描述
其中η为学习率。

三、求取梯度

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值