码迷,mamicode.com
首页 > 编程语言 > 详细

反向传播算法

时间:2020-09-12 21:24:54      阅读:41      评论:0      收藏:0      [点我收藏+]

标签:通过   line   math   一个   图片   网络图   sigma   image   箭头   

BP公式推导

bp算法通过loss计算得到的误差,从最后的输出层,通过loss不断的向后,对能影响到loss变化的传播路径中各个隐藏层的神经元的输入和输出函数求偏导,更新目标权重的一个过程。
具体的计算方式如下。
先来构建一个网络图,然后我们定义一些数学符号
技术图片
其中

  • \(w_{ij}^{l}\) 表示 第\(l\)层中的第\(j\)个神经元与前一层第\(i\)个神经元之间的连接权重
  • \(z_{i}^{l}\)表示 第\(l\)层中第\(i\)个神经元的输入
  • \(a_{i}^{l}\)表示 第\(l\)层中第\(i\)个神经元的输出
  • \(f\) 代表激活函数
    其中需要注意的是,每一个神经元内部的结构有输入和输出,求偏导的时候,要分别考虑到它的输入和输出。如下所示:
    技术图片

接下来我们看一下求BP的时候,需要的一些公式和知识点,loss我们使用mse代替,因为好算
技术图片

我们以求解第1层第一个神经元的权重\(w_{11}^{1}\)为例子,红色箭头表示其会通过那些路径影响倒loss,反过来,loss也是通过原路径去影响到这个权重
技术图片
那么链式求导的公式为
技术图片
注意此处输出层并未被激活,所以我们忽略loss对输出的求导,否则loss还需要对\(\sigma(z)\) 求一次导

对于其他层的权重,链式求导方式为
技术图片

反向传播算法

标签:通过   line   math   一个   图片   网络图   sigma   image   箭头   

原文地址:https://www.cnblogs.com/zhouyc/p/13589917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!