目录

1、反向传播的定义

2、简单网络的反向传播实例


1、反向传播的定义

前面的文章《什么叫梯度学习》,介绍了梯度学习的原理,本文将介绍神经网络“自动学习”的核心算法:反向传播,即使BP算法。BP算法的输入输出关系实质上是一种映射关系,建立在梯度下降的基础上。

BP算法的学习过程由正向传播过程和反向传播过程组成。在正向传播过程中,输入信息通过输入层经隐含层,逐层处理并传向输出层。如果在输出层得不到期望的输出值,则取输出与期望的误差的平方和作为目标函数,转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,网络的学习在权值修改过程中完成。误差达到所期望值时,学习结束。BP算法本质是一个监督学习算法。

BP算法的阶段:

前向传播阶段:将训练输入网络以获得激励响应

反向传播阶段:将激励响应同训练输入对应的目标输出求差,从而获得隐层和输出层的响应误差。

2、简单网络的反向传播实例

举一个例子:

以上是3层神经网络,每层只有一个神经元,第一层表示数据输入,最后一层表示数据输出。假设如下变量:

输入和期望输出值:

输入值a(L-1)

期望值输出y(L+1)

5

2

损失函数采用均分方差误差:

1、前向传播的过程:

1)随机各个神经元的权重参数和偏移参数

层次

权重w

偏置值b

L

0.1

1

L+1

0.5

2

2)计算各层的输出值

3)计算目标损失

损失函数的计算结果较大,启动反向传播阶段

2、反向传播的过程

1)微分

根据链式法则:

2)更新参数值

更新完所有变量后,重复前向传播和反向传播过程,直到损失函数接近0。

在复杂神经网络中,网络的层数和每层的神经元数量都比较大,神经元的输出可能还用到激活函数,参数的更新都遵循反向传播的原理。

[深度学习]反向传播的微分原理相关推荐

  1. 深度学习---反向传播算法BP

    BP神经网络的数学原理及其算法实现: http://blog.csdn.net/zhongkejingwang/article/details/44514073 脉络清晰的BP神经网络讲解:http: ...

  2. 深度学习---反向传播算法

    装载原文:https://www.cnblogs.com/yeluzi/p/7418291.html 一. 一种基于矩阵运算快速计算神经网络输出的方法 在介绍反向传播之前,先介绍怎么利用矩阵运算快速的 ...

  3. 李宏毅《机器学习》笔记 DAY4 深度学习反向传播

    目录 深度学习的三个步骤 Step1:神经网络(Neural network) 完全连接前馈神经网络 全链接前馈网络 矩阵计算(Matrix Operation) Step2:模型评估(Goodnes ...

  4. 深度学习利器之自动微分(2)

    深度学习利器之自动微分(2) 文章目录 深度学习利器之自动微分(2) 0x00 摘要 0x01 前情回顾 0x02 自动微分 2.1 分解计算 2.2 计算模式 2.3 样例 2.4 前向模式(For ...

  5. 深度学习利器之自动微分(1)

    深度学习利器之自动微分(1) 文章目录 深度学习利器之自动微分(1) 0x00 摘要 0.1 缘起 0.2 自动微分 0x01 基本概念 1.1 机器学习 1.2 深度学习 1.3 损失函数 1.4 ...

  6. 神经网络反向传播梯度计算数学原理

    [神经网络]反向传播梯度计算数学原理 1 文章概述 本文通过一段来自于Pytorch官方的warm-up的例子:使用numpy来实现一个简单的神经网络.使用基本的数学原理,对其计算过程进行理论推导,以 ...

  7. pytorch学习 -- 反向传播backward

    pytorch学习 – 反向传播backward 入门学习pytorch,在查看pytorch代码时对autograd的backard函数的使用和具体原理有些疑惑,在查看相关文章和学习后,简单说下我自 ...

  8. 梯度下降与反向传播算法的原理与推导

    梯度下降算法是机器学习中最常用的优化算法之一,它可以求得目标函数的最小值,即算法的最优解.而对于复杂的多层神经网络来说,运用梯度下降算法十分复杂,因为其包含求导过程,为此学者将多层神经网络的优化问题简 ...

  9. 深度学习 LSTM长短期记忆网络原理与Pytorch手写数字识别

    深度学习 LSTM长短期记忆网络原理与Pytorch手写数字识别 一.前言 二.网络结构 三.可解释性 四.记忆主线 五.遗忘门 六.输入门 七.输出门 八.手写数字识别实战 8.1 引入依赖库 8. ...

最新文章

  1. Microbiome:Kraken2进行16S物种注释又快又准,秒杀QIIME2
  2. Transact_SQL语句大全
  3. ei指什么_SCI、EI、SSCI和ISTP的区别!
  4. neural network ppt for support vector machine
  5. mysql之对视图的操作
  6. 信息安全完全参考手册之遵循标准、法规和法律(第三章)
  7. Dubbo 的设计思想,真优秀!
  8. 移动端调用微信和支付宝的扫一扫功能
  9. 2021数据库MYSQL语句梳理(Navicat)
  10. 记录element ui dialog弹框生命周期问题
  11. 线性代数1:向量、线性组合、张成的空间和基
  12. Python强化知识之获取网络资源 Urllib(一)
  13. M1 芯片版 Mac 抹掉重装系统教程
  14. ccsa安学网小程序_CCSA安学网题库1
  15. easyswoole连接mysql
  16. 一部手机就能完成人像三维扫描建模
  17. Jmeter正则表达式提取器的使用
  18. 从算法上解读自动驾驶是如何实现的?
  19. 分布式事务 解决方案
  20. win7 瘦身 减肥 记录!

热门文章

  1. 2017.9.6.语文
  2. EHcache经典配置
  3. Fckeditor漏洞利用总结
  4. ECSHOP解决大量重复页面问题,提高SEO效果
  5. dom操作节点之常用方法
  6. mac下宿主机与virtualbox中的Ubuntu建立ssh连接
  7. 【CSS】虎躯一震!flex=1 和 flex-grow=1 竟然不一样!
  8. BGP多出口多宿主实验
  9. 单精度浮点数(float)加法计算出错
  10. ueditor1.4.3 jsp版在ssh下的配置