梯度下降、反向传播

目录

反向传播

梯度传播

总结

反向传播

正向传播:把数据输入到神经网络,这些数据会沿着神经网络进行正向传递,传递的过程中,会一层层的感知机进行操作,最后得出结果。

反向传播:当一个神经网络还未训练好的时候,它的判断结果是有偏差的,传递偏差的信息,将这些偏差传递到各个参数上,根据参数对偏差的贡献大小,相应的承担修改责任。

梯度方向:指向上升最快的那个方向,当取反的时候就是减小最快的方向。梯度可以将它当作一个向量的概念,来进行分解。

梯度的数学表达如下图所示。

 

当从z轴向下俯视函数f的图像时,函数f在x轴的切线斜率加上函数f在y轴的切线斜率指向的一个方向恰好是变化最大的一个方向,即梯度的方向。

 

梯度传播

从神经网络中单独拿出一个感知机,感知机由三部分组成, w,b两个系数,把前面感知机的输出值作为后面感知机的输入值,通过w,b两个系数进行线性运算后得出来的就是这个z值。方括号上的L代表这个是第几层,下方的下标i代表的是第L层第i个。算出来的z值是不能直接输出的,通过激活函数进行计算,得出的a值就是感知机向外输出的值。

 

利用矩阵写出第l层的感知机输出a[l]

 

y上面的的k代表的是训练数据集里面的第几号数据,其中x是代表的是训练的数据集。y代表的是给训练的数据集打上的标签。这个神经网络在输出层只有一个输出节点,只能判断一个分类问题。当输出层有多个节点时,可以判断多个分类问题。

当想进行反向传播的时候, 先对J求梯度,求梯度之后,它的变量只有ai,即这个梯度的分量一定是J对ai的偏导。

 

对J求梯度展开后的样子。

 

此时J对W求的偏导,展开的公式如下所示。

 

其中向量是有自己的分量,对于分量的偏导。

感知机的w进行迭代。

 

接下来得出一个新的损失函数,损失函数就是那个偏差值。这个偏差值是由第L层的神经网络带来的,这个偏差值是由后面的L-1层负责承担。

 

此时进行下一轮的反向传播。

 

此时的L+1层是上次反向传播的L层,在这一轮反向传播是把L+1层全部的偏差全部反向给L层,让L层进行相应的调整。

 

此时神经网络第一轮的更新迭代完成了。

总结

对于反向传播,其实就是一直在寻找最好的参数Θ,通过调整参数,来让输出值最达到合理的范围内。

同时还有一点所有的输出节点包括在一个函数里,这个函数才是损失函数,无论输出有多少维,损失函数都只有一个,通过这个函数求出梯度,进而对网络中的所有权重进行一次更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值