1、梯度下降(Gradients Descent)

概念:构建Loss(预测值与实际值之间的偏差)与相关权值变量θ(0)和θ(1)的函数关系J(θ(0), θ(1)),在函数图像上随机取初值点,然后求初值点的导数(也就是梯度),并沿着导数最倾斜的方向按照一定的步长更新J点,以及类推总能找到J(min)的局部最优解,也就是预测值与实际值偏差最小的状态。

2、常用函数的求导公式

3、单层感知机(Perceptron)的梯度

不看灰色部分。感知机的输入输出关系为 z = ω · x,那么输出z对权值ω的导数就是输入x。

4、神经网络的前向数据传递

传递方式:上一层节点的输出ξ乘以权值ω,二者之积经过激活函数σ的非线性变换之后,再输入到下一层节点。

5、链式法则

概念:复合函数的导数是子函数导数的乘积,就像锁链一样一环套一环,故称链式法则。

6、激活函数

概念:在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(激励函数)。

作用:不使用激活函数的话,神经网络的每层都只是做线性变换,多层输入叠加后也还是线性变换。因为线性模型的表达能力通常不够,所以这时候就体现了激活函数的作用了,激活函数可以引入非线性因素。

常用激活函数:有sigmoid、ReLu等。

7、Sigmoid激活函数

作用域:输入x的范围为(-∞,+∞),输出σ(x)的范围为(0,1)。

优势:全范围可导,可做梯度下降运算。

不足:输入x如果过大,其函数导数趋于0。所以输入x一般要做归一化处理,把范围压缩到(-1,1)之间。

Sigmoid函数的导数:

8、神经网络的“层”

层:层 = 某一层所有节点 + 输入 + 权值 +输入,但要注意输入层不算层。如下方图片是一个两层的神经网络。

隐含层:隐含层 = 层数 - 输出层 = 层数 - 1。如下方图片的神经网络有一层隐含层。

9、神经网络的数学描述

输入:用x表示,x的上标表示第 l 层,下标表示层中的第 j 个节点。如图中x(l, j)表示第 l 层第 j 个节点的输入(加权求和后的值)。

权值:用W表示,W上标表示第几层,下标表示连线为“从上一层第 i 个节点到当前层第 j 个节点”的连线。如图中W(l, ij)表示从(l - 1)层的 i 节点到 l 层的 j 节点之间的权值。

激活函数:用σ(x)表示,常用Sigmoid和ReLu函数作为激活函数。

偏置:用θ表示,θ的上标表示第 l 层,下标表示层中的第 j 个节点。如图中θ(l, j)表示第 l 层第 j 个节点的偏置。添加偏置项是为了使拟合产生平移,增强网络学习能力。

输出:用O表示,上下标含义参考输入。

目标值:只用输出层有目标值(label),用 t 表示。t(j)表示输出层第 j 个节点的目标值。

10、损失函数(Loss Function)

概念:也称为误差函数,是输出层的输出O与目标值t之间的偏差函数。这个偏差值有多种表示方式,如均方误差MSE、CEL等。

均方误差MSE:

11、梯度函数的推导

工作原理:从输出层开始,向后逐层构建损失函数E对权值W的梯度函数,随着多次迭代,就能将权值W逐层优化为最优值。

① 输出层的梯度:

可以看出, 输出层的梯度与输出层的输出O,输出层的目标t,以及上一次的输出O有关系。

② 隐含层的梯度:

可以看出,隐含层的梯度函数,与本层的输出O,下一次的梯度δ,以及下一层的权值W有关系。

③ 损失函数 E 对偏置 θ 的偏导

12、神经网络反向传播的过程

① 神经网络从输入到输出前向运行一遍,各层都产生输出O;

② 计算误差Error = 输出O 与 目标t 之间的偏差,多数情况下使用均方差MSE计算这个偏差;

③ 计算误差Error对输出层的权值W的导数(梯度)。由于使用了Sigmoid激活函数,所以此处的导数很好求;

④ 来到输出层的上一层,计算误差Error对倒数第二层的权值W的导数;

⑤ 以此类推,从后往前计算每一层的梯度。由于每一层的梯度都与下一层有关,所以误差Error对每一层都有影响;

⑥ 每一层的权值W的更新量 △W = 学习率η * 梯度δ * 上一层的输出O;

⑦ 每一层的偏置θ的更新量 △θ = 学习率η * 梯度δ;

⑧ 根据 △W 和 △θ 更新每一层的权值和偏置;

⑨ 经过多次迭代训练,最终误差Error达到满意值,权值W和偏置θ趋于某个最优值。

[026] 深度学习--学习笔记(4)Back-propagation反向传播链式法则理论推导相关推荐

  1. July深度学习笔记之神经网络与反向传播算法

    July深度学习笔记之神经网络与反向传播算法 一.神经网络 神经网络的大致结构如下: 大致可以分为输入层.隐藏层与输出层. 而我们可以单独拿出来一个结点,可以发现,其实它就是类似一个逻辑回归(LR), ...

  2. 深度学习中反向传播算法简单推导笔记

    反向传播算法简单推导笔记 1.全连接神经网络 该结构的前向传播可以写成: z(1)=W(1)x+b(1)z^{(1)} = W^{(1)}x+b^{(1)}z(1)=W(1)x+b(1) a(1)=σ ...

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

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

  4. 深度学习笔记(三)—— 反向传播[Back Propagation] 计算图[Computational Graph]

      这是深度学习笔记第三篇,完整的笔记目录可以点击这里查看.      反向传播就是求梯度值,然后通过梯度下降的方式对损失函数进行迭代优化的过程.在通常情况下,直接对一个复杂的函数一步到位写出其解析导 ...

  5. 深度学习笔记:04依赖反向传播改进神经网络数据处理的精确度

    04依赖反向传播改进神经网络数据处理的精确度 1.反向传播简介 前面说过,神经网络模型中,需要修正的参数是神经元链路之间的权重值,问题在于如何修改,如下图,假定最后神经元输出结果跟正确结果对比后得到一 ...

  6. 深度学习入门|第5章 误差反向传播法(二)

    误差反向传播法 前言 此为本人学习<深度学习入门>的学习笔记 四.简单层的实现 本节将用 Python 实现前面的购买苹果的例子.这里,我们把要实现的计算图的乘法节点称为"乘法层 ...

  7. nndl学习笔记(一)反向传播公式总结

    nndl是什么? 反向传播算法简介 定义&公式 基本思想 Back Propagation四个基本方程 算法表示 Python实现 nndl是什么? <神经网络与深度学习>(< ...

  8. 深度学习入门(6)误差反向传播基础---计算图与链式法则

    在我的第三篇博文<深度学习入门(3)神经网络参数梯度的计算方式>中详细介绍了通过微分方式计算神经网络权重参数的梯度.但是数值微分的方式计算梯度效率较低.后续博文会介绍另外一种更加高效的梯度 ...

  9. TensorFlow 2.0深度学习算法实战 第七章 反向传播算法

    第七章 反向传播算法 7.1 导数与梯度 7.2 导数常见性质 7.2.1 基本函数的导数 7.2.2 常用导数性质 7.2.3 导数求解实战 7.3 激活函数导数 7.3.1 Sigmoid 函数导 ...

  10. 深度学习与计算机视觉系列(5)_反向传播与它的直观理解

    作者:寒小阳 时间:2015年12月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50321873 声明:版权所有,转载请联系作者并注明 ...

最新文章

  1. ios点击大头针气泡不弹出_地图大头针气泡点击事件
  2. 判断闰年 及其某天为这一年的多少天
  3. python字符串input输入_5.print()函数、转义字符、python注释、常量、字符串、格式化输出、input()输入...
  4. 英文名字大全(男篇)
  5. python学习笔记第9天《文件的管理办法》
  6. 【转】定位oops的具体代码行
  7. 如何有效的使用 for循环和Iterator遍历
  8. 贝塞尔曲线UIBezierPath简单使用
  9. JavaScript 学习笔记— —Arguments
  10. 例4.4 最大公约数 - 九度教程第47题(最大公约数GCD)
  11. 原子变量与非阻塞同步机制
  12. Cplex教程(C++)
  13. 2020年最新UI设计基础入门教程
  14. 联机(脱机)手写汉字识别
  15. 华为服务器修改root密码,华为云 服务器重置root密码
  16. 苹果软件更新在哪里_手机资讯:iPhone 为什么比安卓手机好用iPhone 的独到之处在哪里...
  17. 成为跨领域的「解决方案架构师」需要什么素养?
  18. 第一章 51单片机开发入门知识介绍
  19. 1650显卡能带动144hz吗_1060能带动144hz吗
  20. FP-growth算法发现频繁项集(一)——构建FP树

热门文章

  1. 微信8.0.3:做重了群公告,再也不能@所有人了!
  2. 一个典型业务系统卡顿故障分析
  3. 制作QQ会员页面导航
  4. 查看服务器支持的内存条,PowerEdge 服务器支持的内存配置指南
  5. 手把手教你做小米商城-商品展示页面
  6. 一年回顾_2016年:一年回顾
  7. springMVC学习2
  8. 【修真院java小课堂】HashMap浅析
  9. MF,PMF算法比较
  10. springboot配置druid内置监控页面