@深度学习
一、简介
反向传播算法(简称BP算法)是一种神经网络学习算法,主要思想是通过不断将输出误差(期望输出与实际输出之差)按原通路反传计算,通过隐含层反向直至输入层。在反传过程中计算每层的每个神经元的误差并调整各层神经元的权值和阈值,逐渐降低误差至最低。
二、神经网络的训练过程
反向传播算法分为正向传播和误差的反向传播两个过程。
正向传播时,输入样本从输入层传入,经隐含层的处理,传向输出层。若输出层的实际输出与期望输出误差较大,则转入误差的反向传播过程。
误差反传将输出误差以某种形式通过隐含层向输入层逐层反传,并将误差分摊到各层的神经元,从而获得各层神经元的误差信号,并将该误差信号作为修正各神经元权值的依据。
通过周而复始的权值调整过程,直到网络输出的误差减小到可接受程度,或达到预先设定的学习次数,终止过程。流程图如下所示:
三、计算过程
1.前向传播
前向传播通常表现为:
对于激活函数f,输入a0,权值矩阵W1到WL,对bL的偏差b1,(上标代表输入某层的参数)我们计算该层的激活为: