笔试准备(一)——前向传播算法(Forward propagation)与反向传播算法(Back propagation)

本文回顾了深度学习基础知识,包括三层神经网络的前向传播与反向传播过程,使用sigmoid激活函数和均方误差损失函数。文章详细解释了BP算法的工作原理,如何通过梯度下降更新权重,以及学习率在训练过程中的作用。

研一的时候上过深度学习的课,但是很久没复习忘得差不多了,趁着找工作准备笔试面试的机会把之前模糊的概念再复习一下。

假设初始的三层网络结构如图,其中激活函数为sigmod函数,损失函数C为均方误差。

首先进行前向传播:

同理,下一级:

最终的损失为:

先将链式法则中需要用到的函数列出:

然后根据链式法则,计算:

关于橙色部分的推导为:

则更新后的weights为:

其中,奇怪的希腊字母是学习率。

同理,可以计算其他所有的weights,这里再举一例:

-------------------------------------------------------------------------------------------

再从头理一遍:

前向传播的意思就是往前计算,即从x经过w到y的过程,y = wx

反向传播的意思就是往后计算,即通过y和y_out的偏差,反向推导出偏导数,来更新w成为w'的过程;

之后神经网络又通过更新了的参数w',计算y'=w'x

再反向,求出w''

……

如此循环往复,就会使得y'''''(很多')'''逐渐接近y_out

这就是BP算法。

-------------------------------

最后一个小点就是学习率(那个奇怪的希腊字母)

它控制的是参数更新的“步长”

图中黑色是要拟合的曲线,假设橙色的步长为0.001,绿色的步长为0.1,步长小的能够更好的拟合曲线,但是训练较慢,步长大的训练快,但是可能会错过最优解。

所以训练中一般是先用大的学习率,一段时间后将学习率逐步变小。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值