从生理学的角度,大脑的学习能力反映了神经元间突触联系的形成和改变能力。人工神经网络的功能性和智能性体现由其连接的拓扑结构和突触连接强度(即连接权值)决定。神经网络的全体连接权值可以用一个矩阵W表示,神经网络的学习过程,就是根据训练数据来动态调整神经元之间的连接权值(connecting weight),以使网络输出不断接近期望输出的过程。
多层神经网络的学习能力比单层感知器强得多,训练多层网络需要更强大的学习算法,20世纪80年代初,Paul Werbos提出的反向传播算法(backpropagation,BP算法)有效解决了多层神经网络的学习问题,引发了神经网络研究的第二次热潮。Lecun等人(1998)将反向传播算法引入卷积神经网络,并在手写体数字识别上取得了很大的成功。反向传播算法是迄今最为成功的神经网络学习算法。2006年,Hinton通过逐层预训练学习一个深度信念网络,并将其权重作为一个多层前馈神经网络的初始化权重,再用反向传播算法进行精调,这种“预训练+精调”的思路可以有效解决深度神经网络难以训练的问题,在语音识别和图像分类等任务上取得了巨大的成功,以神经网络为基础的深度学习迅速崛起。
其中,等式右边第一项称为均方差项,第二项称为正则项,正则项也称权重衰减项,能够减小权重幅度防止过拟合。hW,b(xi)表示样本xi经过神经网络的输出,nl表示神经网络层数(包括输入层、隐含层以及输出层),sl表示第l层的神经元个数,λ为权重衰减参数,是一个用于控制均方差项和正则项权重的参量。其中,α表示学习率。可以看出,梯度下降算法的一个关键步骤是偏导数的计算。
图4-4 一个简单的神经网络(用于解释反向传播算法)
反向传播算法算法就是第l层的一个神经元的残差是所有与该神经元相连的第l+1层的神经元的残差权重之和,再乘上该神经元激活函数的梯度。使用误差反向传播的前馈神经网络训练过程可以概括为以下4个步骤:(www.xing528.com)
(1)神经网络进行前向传播,得到各层的净输入和激活值;
(2)计算输出层神经元的残差:
(3)反向传播计算l=nl-1,nl-2,nl-3,…,nl各层神经元的残差:
以上式中,“·”表示向量乘积运算。
(4)计算每层参数的偏导数,并更新参数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。