文章目录

  • 背景
  • 链式法则
  • 计算思路
  • 梯度计算过程/反向传播
  • 总结

背景

回顾神经网络中计算梯度,更新梯度的过程

这里面的问题是,梯度是一个上百万维的向量,计算出来并非易事
这就引出了反向传播
可以说反向传播是梯度下降在神经网络中的实现

链式法则

本节将要用到的数学知识
对于case2,可以看成是s通过影响x和y这两条路径来影响z

计算思路

如图所示,本文引入反向传播的思想,运用链式法则,通过将A的计算转化为B,进一步转化为C,进一步转化为D1和D2来求梯度。其中D1和D2的求解分为在输出层和非输出层两种情况讨论。

梯度计算过程/反向传播


以下只关注1不关注2,因为1求出2也就求出
取出一个神经元作为研究对象

关注其一个权重,记作w(在总图中的w1或是w2)
如何计算损失函数对w的偏微分,这就要用到链式法则

我们将因子1 @z/@w 称作forward pass,因子2 @C/@z 称作backward pass

先看如何计算forward pass(@代表偏微分符号
发现秒杀

网络上所有**@z/@w都等于和w对应的输入值

接着看如何计算 backward pass
可以再次使用链式法则
其中 @a/@z 就是sigmoid函数的微分

sigmoid函数及其微分如图所示

@C/@a应该如何计算呢
注意到a可以通过z’和z’'来影响后面的
可再度利用链式法则

进一步计算@C/@a

@C/@z’@C/@z’’ 假设已经算出
则综合上面的计算可以得到 @C/@z

我们换个角度看这个式子
@C/@z’@C/@z’’ 看成是输入,而 sigma pf z ’ 由forward pass决定,可看成一个常数
注意:“新的神经元”和之前的神经元运作模式并不一样

问题只剩下计算出 @C/@z’@C/@z’'
如果
下一层就是输出层**,根据链式法则,可以写出如下式子
其中 @y1/@z’ 即为激活函数的导数,@C/@y1 取决于损失函数是如何定义的
z’'和y2是类似的

如果下一层不是输出层,则需要递归计算

也就是根据这个式子

在这样一张神经网络中,如果想知道C对z1的偏微分,就要知道C对z3和z4的偏微分,想知道z3的的偏微分,就要知道C对z5和z6的偏微分……直至最后一层

想要计算地更有效率,我们不妨从输出层往里计算

总结

forward pass和backward pass的命名原因就是前者用正向(输入到输出)思维计算,后者用逆向(输出到输入)思维计算,两者相乘就是我们要计算的梯度

hung-yi lee_p13_反向传播相关推荐

  1. 【数据挖掘】神经网络 后向传播算法( 向后传播误差 | 输出层误差公式 | 隐藏层误差公式 | 单元连接权值更新公式 | 单元偏置更新公式 | 反向传播 | 损失函数 | 误差平方和 | 交叉熵 )

    文章目录 I . 向后传播误差 简介 II . 输出层误差计算公式 III . 隐藏层层误差计算公式 IV . 使用误差更新 连接权值 V . 使用误差更新 单元偏置 VI . 反向传播 过程 VII ...

  2. Lesson 11.1-11.5 梯度下降的两个关键问题反向传播的原理走出第一步:动量法开始迭代:batch和epochs在Fashion—MNIST数据集熵实现完整的神经网络

    在之前的课程中,我们已经完成了从0建立深层神经网络,并介绍了各类神经网络所使用的损失函数.本节课开始,我们将以分类深层神经网络为例,为大家展示神经网络的学习和训练过程.在介绍PyTorch的基本工具A ...

  3. 【深度学习】神经网络基础:反向传播算法

    作者:Simona Ivanova AI/ML  专家 就职于 Science 杂志   导读 反向传播(Backpropagation,简称 BP)是目前用来训练人工神经网络(Artificial ...

  4. AI应用开发基础傻瓜书系列2-神经网络中反向传播与梯度下降的基本概念

    AI应用开发基础傻瓜书系列2-神经网络中反向传播与梯度下降的基本概念 Copyright © Microsoft Corporation. All rights reserved. 适用于Licens ...

  5. 神经网络训练中的Tricks之高效BP(反向传播算法)

    神经网络训练中的Tricks之高效BP(反向传播算法) zouxy09@qq.com http://blog.csdn.net/zouxy09 Tricks!这是一个让人听了充满神秘和好奇的词.对于我 ...

  6. nndl学习笔记(二)反向传播公式推导与详解

    写在前面 反向传播回顾 为什么需要反向传播? 基本思想 算法流程 算法局限性 详细推导(核心:多元微积分的*链式法则*) 一些定义 1. 输出层的误差δL\delta^{L}δL 2. 利用下一层误差 ...

  7. 反向传播与梯度下降概念

    反向传播和梯度下降这两个词,第一眼看上去似懂非懂,不明觉厉.这两个概念是整个神经网络中的重要组成部分,是和误差函数/损失函数的概念分不开的. 神经网络训练的最基本的思想就是:先"蒙" ...

  8. 【深度学习】深度学习入门——BP网络反向传播

    BP网络反向传播 1.原理 2.Code bc.m fc.m bp_batch.m bp_online.m 本博客代码为本人选修<深度学习引论>课程所用,源代码与课件截图属于Zhang Y ...

  9. Educoder 机器学习 神经网络 第三关:反向传播算法

    任务描述 相关知识 数据集介绍 神经网络是如何训练 前向传播 交叉熵 反向传播 sklearn中的神经网络 编程要求 测试说明 任务描述 本关任务:用sklearn构建神经网络模型,并通过鸢尾花数据集 ...

最新文章

  1. centos6.7x86_64安装nginx (good)
  2. nmon服务器监控工具的使用安装
  3. SQL优化笔记分享:34条实用经验可别错过
  4. mysql每一步花费时间_MySQL之:日志
  5. (JAVA)FileWriter
  6. 【POJ - 2255】Tree Recovery (给定树的先序中序,输出后序)
  7. Vue、element-ui的resetFields()方法重置表单无效问题及解决办法
  8. c1flexGrid 在单元格中显示图片, 及行号
  9. idea 工程中有某个类,仍然报错 Cannot resolve symbol XXX 的问题
  10. html5 小车动画_HTML5 实现小车动画效果(Canvas/CSS3/JQuery)
  11. 【物理应用】基于Matlab GUI超声场可视化仿真模拟【含Matlab源码 1494期】
  12. Pilosa文档翻译(二)入门指南
  13. 使用deepin 20作为开发环境
  14. VScode恢复删除的文件
  15. 正点原子IMX6UL底板硬件设计指南
  16. 微信公众号定位用户所在位置
  17. Windows XP下如何实现共享上网
  18. 华为2022硬件逻辑笔试题
  19. 阿里云率先达成国家绿色数据中心标准,平均PUE低于1.3...
  20. 在互联网卷不动了,还能做什么?

热门文章

  1. 四个超好用的优质资源搜索网站,海量优质资源等你发现!
  2. WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口
  3. jquery源码分析(七)——事件模块 event(二)
  4. memcached(二)事件模型源码分析
  5. 使用Spring实现邮件发送
  6. JS-arguments分析
  7. Nginx 搭建负载均衡
  8. 使用谷歌jquery库文件的理由
  9. SEO内部链接优化的技巧
  10. 微软开源数据处理引擎 Trill,每天可分析万亿次事件