神经网络中的反向传播(梯度下降)

梯度下降:

  • 梯度下降法是一种优化算法,思想是沿着目标函数梯度的方向更新参数值以希望达到目标函数最小(或最大)。梯度下降法是深度学习网络最常用的优化算法。
  • 神经网络中的反向传播(梯度下降)_第1张图片

反向传播法:

  • 由于深度学习网络按层深入,层层嵌套的特点,对深度网络目标函数计算梯度的时候,需要用反向传播的方式由深到浅倒着计算以及更新参数。所以反向传播法是梯度下降法在深度网络上的具体实现方式。
    神经网络中的反向传播(梯度下降)_第2张图片

  • 在这里插入图片描述

一句话总结就是反向传播法采用链式法则进行偏导作用在各个层,并采用梯度下降的优化算法进行每层权重的更新。
下面就通过公式推导和例子来进行分析神经网络的权重更新过程:

一、一个简单 例子

给i一个简单的传播函数:

y = wx + b
误差error:
在这里插入图片描述
代入则得到Cost = (wx+b - Y)^2
Cost = (Error)^2  Error = wx+b-Y
神经网络中的反向传播(梯度下降)_第3张图片
神经网络中的反向传播(梯度下降)_第4张图片
神经网络中的反向传播(梯度下降)_第5张图片
通过以上就可求出偏导:
神经网络中的反向传播(梯度下降)_第6张图片

二、升华一下

神经网络中的反向传播(梯度下降)_第7张图片
如图所示:前向传播就不多说了,直接累乘加激活即可完成每层前传值。
现在说下后向传播:

  • 构建误差(损失):总误差(square error)
    神经网络中的反向传播(梯度下降)_第8张图片
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
W5权值更新
神经网络中的反向传播(梯度下降)_第9张图片
在这里插入图片描述
神经网络中的反向传播(梯度下降)_第10张图片
同理
神经网络中的反向传播(梯度下降)_第11张图片
W1权值更新
W1涉及多个输出反馈来进行更新
神经网络中的反向传播(梯度下降)_第12张图片
神经网络中的反向传播(梯度下降)_第13张图片
神经网络中的反向传播(梯度下降)_第14张图片
为了进行对每层中每个w进行更新,简化公式直接和输入计算出梯度
神经网络中的反向传播(梯度下降)_第15张图片

三、数学推导

数学推导见https://blog.csdn.net/xierhacker/article/details/53431207

参考文献

  • https://segmentfault.com/a/1190000019862084
  • https://blog.csdn.net/xierhacker/article/details/53431207
  • https://www.cnblogs.com/softzrp/p/6718909.html
  • https://www.cnblogs.com/codehome/p/9718611.html

你可能感兴趣的:(优化)