[深度学习]反向传播的微分原理

目录

 

1、反向传播的定义

2、简单网络的反向传播实例


1、反向传播的定义

       前面的文章《什么叫梯度学习》,介绍了梯度学习的原理,本文将介绍神经网络“自动学习”的核心算法:反向传播,即使BP算法。BP算法的输入输出关系实质上是一种映射关系,建立在梯度下降的基础上。

       BP算法的学习过程由正向传播过程和反向传播过程组成。在正向传播过程中,输入信息通过输入层经隐含层,逐层处理并传向输出层。如果在输出层得不到期望的输出值,则取输出与期望的误差的平方和作为目标函数,转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,网络的学习在权值修改过程中完成。误差达到所期望值时,学习结束。BP算法本质是一个监督学习算法。

BP算法的阶段:

     前向传播阶段:将训练输入网络以获得激励响应

     反向传播阶段:将激励响应同训练输入对应的目标输出求差,从而获得隐层和输出层的响应误差。

2、简单网络的反向传播实例

举一个例子:

 

以上是3层神经网络,每层只有一个神经元,第一层表示数据输入,最后一层表示数据输出。假设如下变量:

 

 

输入和期望输出值:

输入值a(L-1)

期望值输出y(L+1)

5

2

损失函数采用均分方差误差:

1、前向传播的过程:

1)随机各个神经元的权重参数和偏移参数

层次

权重w

偏置值b

L

0.1

1

L+1

0.5

2

2)计算各层的输出值

3)计算目标损失

损失函数的计算结果较大,启动反向传播阶段

2、反向传播的过程

1)微分

根据链式法则:

2)更新参数值

更新完所有变量后,重复前向传播和反向传播过程,直到损失函数接近0。

        在复杂神经网络中,网络的层数和每层的神经元数量都比较大,神经元的输出可能还用到激活函数,参数的更新都遵循反向传播的原理。

猜你喜欢

转载自blog.csdn.net/henku449141932/article/details/107768781