ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

反向传播算法

2020-08-31 16:00:20  阅读:391  来源: 互联网

标签:输出 权重 loss 层中 传播 算法 反向 求导 神经元


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)\) 求一次导

对于其他层的权重,链式求导方式为

标签:输出,权重,loss,层中,传播,算法,反向,求导,神经元
来源: https://www.cnblogs.com/zhouyc/p/13589917.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有