机器学习的训练过程可看作是最优化问题的求解过程。

根据原理

对于函数f(x),如果f(x)在点xt附近是连续可微的,那么f(x)下降最快的方向是f(x)在xt点的梯度的反方向

得到最简单最常用的优化算法:梯度下降法(Gradient Descent Method)。

可以想见,这个算法的迭代公式中的重要参数是梯度。即损失函数(多元函数)对每个变量的偏导数。

问题转化为损失函数对权重向量和偏置求偏导数。

再根据导数的链式法则,两个偏导数都变成误差项和另一个导数的乘积。

这里的误差项,写法上是损失函数对所在层线性组合函数(判别函数)求导。

误差项是反向传播的核心概念。

意义上,误差项反映了最终损失对某一层神经元的敏感程度,也间接反映了不同神经元对网络能力的贡献程度。

计算上,把误差项再利用链式法则进行展开,会发现:

误差的反向传播(BackPropagation,BP):第l层的误差项可以通过第l+1层的误差项计算得到。

如果把这个展开式描述一下,就得到了反向传播算法的含义:

第l层的一个神经元的误差项是所有与该神经元相连的第l+1层的神经元的误差项的权重和,再乘上该神经元激活函数的梯度。

注意:误差项的计算仅仅是训练过程的一部分,其余的量都是正向得到的。

参考:邱锡鹏 《神经网络与深度学习》

脱离公式谈谈对反向传播算法的理解相关推荐

  1. 508任务:对BP算法(反向传播算法 )理解与5.13式推导

    误差逆传播算法是如今最成功,应用广泛的针对多层网络的学习算法,如今的许多学习算法都是它的变体与优化.不过初学很难理解,我也是学了不少时间才慢慢理解. 推荐大家观看3Blue1Brown的3个关于深度学 ...

  2. 关于反向传播算法的理解

    关于反向传播算法,很早之前就了解,但是关于细节问题一直未能理解,看了这篇翻译的文章写的很好 原文:http://blog.csdn.net/shijing_0214/article/details/5 ...

  3. 深度学习之反向传播算法

    深度学习之反向传播算法 直观理解反向传播 反向传播算法是用来求那个复杂到爆的梯度的. 上一集中提到一点,13000维的梯度向量是难以想象的.换个思路,梯度向量每一项的大小,是在说代价函数对每个参数有多 ...

  4. ​通俗理解神经网络BP反向传播算法

    转载自  ​通俗理解神经网络BP反向传播算法 通俗理解神经网络BP反向传播算法 在学习深度学习相关知识,无疑都是从神经网络开始入手,在神经网络对参数的学习算法bp算法,接触了很多次,每一次查找资料学习 ...

  5. 如何理解反向传播算法

    如何理解反向传播算法 如何理解反向传播算法 神经网络模型的数学表示 对代价函数的基本假设 反向传播算法 反向传播的直观理解 总结 参考文献 对于一个算法或者模型的理解可以分为直观理解,算法理解和数学证 ...

  6. BP反向传播算法的思考和直观理解 -卷积小白的随机世界

    https://www.toutiao.com/a6690831921246634504/ 2019-05-14 18:47:24 本篇文章,本来计划再进一步完善对CNN卷积神经网络的理解,但在对卷积 ...

  7. 反向传播算法_9.3 反向传播算法的直观理解 Backpropagation Intuition

    在上一节中,我们介绍了反向传播算法,对很多人来说,当第一次看到这种算法时,第一印象通常是,这个算法需要那么多繁杂的步骤,简直是太复杂了,实在不知道这些步骤,到底应该如何合在一起使用.就好像一个黑箱,里 ...

  8. 对反向传播算法(Back-Propagation)的推导与一点理解

    最近在对卷积神经网络(CNN)进行学习的过程中,发现自己之前对反向传播算法的理解不够透彻,所以今天专门写篇博客记录一下反向传播算法的推导过程,算是一份备忘录吧,有需要的朋友也可以看一下这篇文章,写的挺 ...

  9. 梯度的直观理解_BP反向传播算法的思考和直观理解 -卷积小白的随机世界

    本篇文章,本来计划再进一步完善对CNN卷积神经网络的理解,但在对卷积层反向传播算法的理解中,越发觉得之前对于BP反向传播算法的理解是不到位的.小白近日觉得,对于深度神经网络,"反向传播&qu ...

最新文章

  1. jsoho.com介绍
  2. 看看那些不讲码德的坏习惯
  3. 方向键 上下左右的转译
  4. SpringBoot(六)_AOP统一处理请求
  5. 年轻人买菜只愿意走670米,每日优鲜、叮咚买菜等生鲜电商们依然“难送达”
  6. python适合开发游戏吗_用python能制作游戏吗
  7. python批量下载网页文件夹_Python实现批量从不同的Linux服务器下载文件
  8. RequestInfo关键点解析
  9. Java连接数据库并实现添加数据有重复不插入数据
  10. 计算机屏保黑屏取消,电脑怎么取消屏保黑屏
  11. bootice添加黑苹果引导_手把手教你安装黑苹果之U盘安装篇
  12. 计算机保研保姆书(北航,浙软,南软,哈工大,上科大,天大,中南,华南理工,华东师范)【此后无良辰】
  13. MPU6050初始化失败原因及常见问题解决方法
  14. 太厉害了,阿里大牛把Java服务端做成一张超全的知识微缩地图
  15. Java IDEA 编辑器代码前进后退快捷键
  16. E聊SDK-简介(1): 介绍
  17. Dep包管理的主要机制
  18. Java日期——获取今天是星期几
  19. 利用sikuli插件辅助实现自动化脚本
  20. 编写一个程序,输入一个正整数,并做以下运算:如果为偶数,除以2,如果为奇数乘3加1.得到结果按上述要求,直到最后结果为1,一共要经过多少次这样的运算才得到数1

热门文章

  1. uniapp实现页面左右滑动,上下滑动事件
  2. DvaJS 入门, 快速上手Dva
  3. 那些按烂的Linux命令集合贴
  4. redis cluster 安装配置
  5. Get/POST方法提交的长度限制
  6. 【生活随想】实习结束以及开始校园招聘
  7. [转]Android敏捷开发指南
  8. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)
  9. 思科PIX防火墙的实际应用配置
  10. 强制退出WinForm程序之Application.Exit和Environment.Eixt