虽然学深度学习有一段时间了,但是对于一些算法的具体实现还是模糊不清,用了很久也不是很了解,最近在看去年LeCun和Hinton在Nature上发表的deep learning的review,有两张图分别是讲得网络的前向传播和反向传播,下面记录一下。

前向传播


如图所示,这里讲得已经很清楚了,前向传播的思想比较简单。
举个例子,假设上一层结点i,j,k,…等一些结点与本层的结点w有连接,那么结点w的值怎么算呢?就是通过上一层的i,j,k等结点以及对应的连接权值进行加权和运算,最终结果再加上一个偏置项(图中为了简单省略了),最后在通过一个非线性函数(即激活函数),如ReLu,sigmoid等函数,最后得到的结果就是本层结点w的输出。
最终不断的通过这种方法一层层的运算,得到输出层结果。

反向传播

反向传播的方法其实也比较简单,但是因为需要求偏导,而我的数学又不怎么好,所以一直理解上有困难。下面上图:

由于我们前向传播最终得到的结果,以分类为例,最终总是有误差的,那么怎么减少误差呢,当前应用广泛的一个算法就是梯度下降算法,但是求梯度就要求偏导数,下面以图中字母为例讲解一下。
设最终总误差为EE,对于输出那么EE#对于输出结点yl的偏导数是yl - tl,其中tl是真实值∂yl∂zl\frac{\partial y_l} {\partial z_l} 是指上面提到的激活函数,zlz_l是上面提到的加权和,那么这一层的EE对zlz_l的偏导数为∂E∂zl=∂E∂yl∂yl∂zl\frac{\partial E} {\partial z_l} = \frac{\partial E} {\partial y_l} \frac{\partial y_l} {\partial z_l} 。同理,下一层也是这么计算,(只不过∂E∂yk\frac{\partial E} {\partial y_k} 计算方法变了),一直反向传播到输入层,最后有∂E∂xi=∂E∂yj∂yj∂zj\frac{\partial E}{\partial x_i} = \frac{\partial E} {\partial y_j} \frac{\partial y_j} {\partial z_j} 且 ∂zj∂xi=wij\frac{\partial z_j} {\partial x_i} = w_ij
然后调整这些过程中的权值,再不断进行前向传播和反向传播的过程,最终得到一个比较好的结果

神经网络中前向传播和反向传播解析相关推荐

  1. 神经网络和反向传播算法——反向传播算法本质上是随机梯度下降,链式求导法则而来的...

    原文:https://www.zybuluo.com/hanbingtao/note/476663 写得非常好,适合入门! 神经元 神经元和感知器本质上是一样的,只不过我们说感知器的时候,它的激活函数 ...

  2. 花书+吴恩达深度学习(十三)卷积神经网络 CNN 之运算过程(前向传播、反向传播)

    目录 0. 前言 1. 单层卷积网络 2. 各参数维度 3. CNN 前向传播反向传播 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十)卷积神经网络 ...

  3. 神经网络的前向传播与反向传播

    神经网络的前向传播和反向传播 相信一开始,大家可能都对神经网络的前向传播和反向传播很头疼,我之前也是一样,后来慢慢懂了,现在深感知识传递的重要性.因此现在我就把我的一点点对两者的理解表达一下,希望能帮 ...

  4. 神经网络理解:前向传播与反向传播

    文章目录 参考资料 神经网络 前向传播 1. 输入层->隐含层 2. 隐含层->输出层 反向传播 1. 计算总误差 2. 隐藏层与输出层之间的权重更新 3. 输入层与隐藏层之间的权重更新 ...

  5. 对于CNN卷积神经网络的前向传播和反向传播的理解

    对于CNN卷积神经网络的前向传播和反向传播的理解 前向传播示意图: ​ 咋一看这张图,作为初学者可能会不知所云( ̄ω ̄=)?但是想要很好的理解前向传播的原理,我们得从这张图细说. 文章目录 对于CNN ...

  6. (二十四) 手推BP神经网络的前向传播和反向传播

    手推BP神经网络的前向传播和反向传播 一.基本术语 1.监督学习与非监督学习 Supervised Learning有监督式学习: 输入的数据被称为训练数据,一个模型需要通过一个训练过程,在这个过程中 ...

  7. 神经网络前向传播和反向传播公式推导(公式+图解)

    以如下的预测是否是猫的双层神经网络为例进行公式推导: 符号注解: n_x :  输入特征的数量 n_h : 隐藏层的节点数量 n_y : 输出层的节点数量 m : 样本数量 W :权重矩阵 b :偏置 ...

  8. 神经网络正向传播和反向传播

    正向传播(forward-propagation):指对神经网络沿着输入层到输出层的顺序,依次计算并存储模型的中间变量. 反向传播(back-propagation):沿着从输出层到输入层的顺序,依据 ...

  9. 详解+推导 神经网络中的前向传播和反向传播公式(神经网络中的梯度下降)

    文章目录 线性回归快速回忆 逻辑回归中的正向传播与反向传播 逻辑回归中的正向传播与反向传播-代码实战 神经网络的正向传播与反向传播 参考资料 线性回归快速回忆 在线性回归(y=ax+by=ax+by= ...

最新文章

  1. SSL证书可以给多个域名使用吗?
  2. eclipse中的WEB项目打包部署到tomcat .
  3. manually create IBASE 03 in CRM
  4. YOLOv1深刻解读
  5. 不是bug!百度集好运卡奖品追加8000个金猪
  6. Java实现数组转字符串及字符串转数组的方法
  7. Android webview mqtt,APICloud
  8. SqlServer和Oralce保留几位小数以及当末尾小数为0也显示
  9. 计算机操作系统第三章测试题及答案
  10. HTML | 分享几个HTML邮件样式模板
  11. 什么是集合?数组与集合的区别
  12. PID算法的简单了解
  13. ubuntu18单机部署k8s(v1.14.1)
  14. j1900适合装哪版群晖_NAS 拔草记:群晖 DS220j 使用体验
  15. 打孔纸带计算机运行原理
  16. 2006-23 文房四宝(T)
  17. 公益运动App平台开发详情
  18. math_求和号@累乘号的性质(变界)@求和恒等式
  19. 两大权威机构点赞百度AI,“技术为王”时代的中国旗帜
  20. 阿里巴巴首面之面试题

热门文章

  1. web自动化笔记八:滚动条处理和窗口截屏
  2. 2022护眼产品展,视力康复展,山东国际眼健康展会,护眼仪展
  3. 基于机智云平台的泵站智能巡检系统
  4. 如果不能时刻保持学习的心态,那么你将被 IT 甩回开普乐星去
  5. VxWorks的VxBus驱动
  6. Geth 和 Truffle 开发的 Tips
  7. bitbucket和git的使用
  8. Lotus Notes 常见错误
  9. 解决Stm32出现..\HARDWARE\ADC\adc.c(22): error: #20: identifier ADC_InitTypeDef is undefined异常
  10. 流程图+BPMN+脑图 JointJS++ 3.6.3 Crack