李宏毅机器学习学习笔记汇总
课程链接


文章目录

  • Gradient Descent
  • Chain Rule链式法则
    • 前向传播
    • 反向传播
      • 情况一:红色的neural是属于网络的output layer的
      • 情况二:假设红色的neural并不是整个网络的output,后面还有其他的东西
  • Summary

Gradient Descent

BP只是为了更加高效地进行梯度计算。

Chain Rule链式法则

输入一个xnx^nxn,经过神经网络后,得到 yny^nyn,真实值是y^n\hat{y}^ny^​n,定义一个yny^nyn和y^n\hat{y}^ny^​n之间的距离的function CnC^nCn,CnC^nCn越小,代表神经网络的parameter很好。

求和所有训练数据的 CnC^nCn 得到total loss L,对某一个参数进行计算微分。

前向传播

先考虑一个单独的neural

如何计算∂z/∂w\partial{z}/\partial{w}∂z/∂w:
其值为该权重链接的输入值

在前馈时同时用变量存储了每层的梯度


反向传播

如何计算 ∂C/∂z\partial{C}/\partial{z}∂C/∂z:
假设∂C/∂z′\partial{C}/\partial{z}'∂C/∂z′ 和 ∂C/∂z′′\partial{C}/\partial{z}''∂C/∂z′′是已知的,进行后续计算。


把第二个式子带入第一个式子得到如下公式:

σ(z)\sigma(z)σ(z)在前向传播的时候就已经算出来了,是一个常量。

下面只需要求出∂C/∂z′\partial{C}/\partial{z}'∂C/∂z′ 和 ∂C/∂z′′\partial{C}/\partial{z}''∂C/∂z′′即可:

情况一:红色的neural是属于网络的output layer的

∂C/∂z′=(∂y1/∂z′)∗(∂C/∂y1)\partial{C}/\partial{z'}=(\partial{y_1}/\partial{z'})*(\partial{C}/\partial{y_1})∂C/∂z′=(∂y1​/∂z′)∗(∂C/∂y1​)

(∂y1/∂z′)(\partial{y_1}/\partial{z'})(∂y1​/∂z′):只需要知道后面的激活函数是什么即可,因为y1=σ(z′)y_1=\sigma(z')y1​=σ(z′)

(∂C/∂y1)(\partial{C}/\partial{y_1})(∂C/∂y1​):知道损失函数、output和target之间是如何evaluate评价的(cross entropy或者mean square error)

在这种情况下(图中蓝色的激活函数是最后一个隐藏层的激活函数,后面就是输出层了),这样就已经完成了。

情况二:假设红色的neural并不是整个网络的output,后面还有其他的东西

从前往后算没有效率,所以要从输出层开始倒着算


在做反向传播的时候,实际上是建立了另外一个神经网络,正向网络中的激活函数都是sigmoid函数;现在需要建立一个反向的神经网络,在前向传播之后,再计算反向传播的激活函数,反向传播神经网络的输入是∂C/∂z5\partial{C}/\partial{}z_5∂C/∂z5​ 和 ∂C/∂z6\partial{C}/\partial{z_6}∂C/∂z6​,其他部分和正向的神经网络运算完全一致。

Summary

如何反向传播?
1、做一个前向传播,知道每一个激活函数的output,就得到了他所连接的weight的∂z/∂w\partial{z}/\partial{w}∂z/∂w

2、在反向传播中,要把原来的神经网络的方向反转,他的每一个三角形的output是∂C/∂z\partial{C}/\partial{z}∂C/∂z,将前向传播得到的∂z/∂w\partial{z}/\partial{w}∂z/∂w 与现在反向传播得到的∂C/∂z\partial{C}/\partial{z}∂C/∂z相乘,就得到了某一个weight对w的C的偏微分∂C/∂w\partial{C}/\partial{w}∂C/∂w是什么了~

【李宏毅机器学习】backpropagation 反向传播(p13) 学习笔记相关推荐

  1. 反向传播算法学习笔记

    反向传播算法(Back propagation) 目的及思想 我们现在有一堆输入,我们希望能有一个网络,使得通过这个网络的构成的映射关系满足我们的期待.也就是说,我们在解决这个问题之前先假设,这种映射 ...

  2. 《机器学习》周志华 学习笔记

    <机器学习>周志华 学习笔记 第一章 绪论 1.1 引言 机器学习:致力于研究如何通过计算的手段,利用经验来改善系统自身的性能. 经验:"经验"通常以"数据& ...

  3. cs224w(图机器学习)2021冬季课程学习笔记18 Colab 4:异质图

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 Question 1. DeepSNAP异质图简介 1.1 Question 1.1:分配Node ...

  4. cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Heterogeneous Graphs and Relational GCN (RGCN) ...

  5. cs224w(图机器学习)2021冬季课程学习笔记4 Link Analysis: PageRank (Graph as Matrix)

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Graph as Matrix 2. PageRank / the Google Algor ...

  6. cs224w(图机器学习)2021冬季课程学习笔记9 Graph Neural Networks 2: Design Space

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. A General Perspective on Graph Neural Networks ...

  7. cs224w(图机器学习)2021冬季课程学习笔记10 Applications of Graph Neural Networks

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Graph Augmentation for GNNs 1.1 图特征增强Feature A ...

  8. cs224w(图机器学习)2021冬季课程学习笔记11 Theory of Graph Neural Networks

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. How Expressive are Graph Neural Networks? 2. D ...

  9. 随时间反向传播算法(BPTT)笔记

    随时间反向传播算法(BPTT)笔记 1.反向传播算法(BP) 以表达式f(w,x)=11+e−(w0x0+w1x1+w2)f(w,x)=\frac{1}{1+e^{-(w_0x_0+w_1x_1+w_ ...

  10. (pytorch-深度学习系列)pytorch实现自定义网络层,并自设定前向传播路径-学习笔记

    pytorch实现自定义网络层,并自设定前向传播路径-学习笔记 1. 不包含模型参数的自定义网络层 首先我们自定义一个网络层, 定义一个网络层,使其不包含模型参数,并在forward()函数中进行运算 ...

最新文章

  1. DotNet关键知识点——WCF篇(六)
  2. 月薪30k~50k,这个领域的人才正在被疯抢!
  3. js 月份加6个月_12月AHA HS大众急救认证培训22个城市报名开启!2021年1~6月份课程预售限时开启!!...
  4. 斯坦福机器学习公开课学习笔记(2)—监督学习 梯度下降
  5. C#常用控件的属性以及方法(转载)
  6. MySQL学习【第十二篇事务中的锁与隔离级别】
  7. 电信机顶盒怎么连接鸿蒙系统电视,移动电信机顶盒怎么投屏?怎么连接手机
  8. 我与阿里巴巴集团副总裁、阿里云智能数据库事业部总负责人在阿里云官网同框啦
  9. idea安装插件后无法启动
  10. ARM学习(8) axf 工具解析
  11. ccproxy 6.61 注册机(纯绿/傻瓜/真正去除线程限制)
  12. css pseudo elements,CSS 伪元素 (Pseudo-elements)
  13. 中南大学2020大学生心里健康教育答案 —— 雨课堂
  14. C#导入导出数据到Excel的通用类源码
  15. 通过excel生成不同dimens文件来实现安卓屏幕适配
  16. 网易云课堂uni-app实战社区交友类app开发笔记
  17. Xilinx FPGA时钟及I/O接口规划(一)
  18. matlab实践总结与体会,MatLab实习心得体会
  19. 2021年电赛仪器仪表类常用模块
  20. 什么是大数据?如何入门学习大数据?

热门文章

  1. 潭州课堂25班:Ph201805201 并发(非阻塞,epoll) 第十课 (课堂笔记)
  2. JavaScript高级程序设计之EventUtil
  3. GNU make manual 翻译(八十二)
  4. “中国式”盗版该何去何从?
  5. 分享12款非常漂亮的免费国外网站模板
  6. C语言课后习题(30)
  7. int *p=new int; int *p=new int[10]; int *p=new int(10);这三个有什么区别
  8. java图形接口_java基础七 [图形用户接口](阅读Head First Java记录)
  9. python中scrapy是什么_python爬虫中scrapy组件有哪些?作用是什么?
  10. python循环遍历把表写入csv_求教python3.5如何把字典循环写入csv?