[深度学习]反向传播的微分原理
目录
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。
在复杂神经网络中,网络的层数和每层的神经元数量都比较大,神经元的输出可能还用到激活函数,参数的更新都遵循反向传播的原理。
[深度学习]反向传播的微分原理相关推荐
- 深度学习---反向传播算法BP
BP神经网络的数学原理及其算法实现: http://blog.csdn.net/zhongkejingwang/article/details/44514073 脉络清晰的BP神经网络讲解:http: ...
- 深度学习---反向传播算法
装载原文:https://www.cnblogs.com/yeluzi/p/7418291.html 一. 一种基于矩阵运算快速计算神经网络输出的方法 在介绍反向传播之前,先介绍怎么利用矩阵运算快速的 ...
- 李宏毅《机器学习》笔记 DAY4 深度学习反向传播
目录 深度学习的三个步骤 Step1:神经网络(Neural network) 完全连接前馈神经网络 全链接前馈网络 矩阵计算(Matrix Operation) Step2:模型评估(Goodnes ...
- 深度学习利器之自动微分(2)
深度学习利器之自动微分(2) 文章目录 深度学习利器之自动微分(2) 0x00 摘要 0x01 前情回顾 0x02 自动微分 2.1 分解计算 2.2 计算模式 2.3 样例 2.4 前向模式(For ...
- 深度学习利器之自动微分(1)
深度学习利器之自动微分(1) 文章目录 深度学习利器之自动微分(1) 0x00 摘要 0.1 缘起 0.2 自动微分 0x01 基本概念 1.1 机器学习 1.2 深度学习 1.3 损失函数 1.4 ...
- 神经网络反向传播梯度计算数学原理
[神经网络]反向传播梯度计算数学原理 1 文章概述 本文通过一段来自于Pytorch官方的warm-up的例子:使用numpy来实现一个简单的神经网络.使用基本的数学原理,对其计算过程进行理论推导,以 ...
- pytorch学习 -- 反向传播backward
pytorch学习 – 反向传播backward 入门学习pytorch,在查看pytorch代码时对autograd的backard函数的使用和具体原理有些疑惑,在查看相关文章和学习后,简单说下我自 ...
- 梯度下降与反向传播算法的原理与推导
梯度下降算法是机器学习中最常用的优化算法之一,它可以求得目标函数的最小值,即算法的最优解.而对于复杂的多层神经网络来说,运用梯度下降算法十分复杂,因为其包含求导过程,为此学者将多层神经网络的优化问题简 ...
- 深度学习 LSTM长短期记忆网络原理与Pytorch手写数字识别
深度学习 LSTM长短期记忆网络原理与Pytorch手写数字识别 一.前言 二.网络结构 三.可解释性 四.记忆主线 五.遗忘门 六.输入门 七.输出门 八.手写数字识别实战 8.1 引入依赖库 8. ...
最新文章
- Microbiome:Kraken2进行16S物种注释又快又准,秒杀QIIME2
- Transact_SQL语句大全
- ei指什么_SCI、EI、SSCI和ISTP的区别!
- neural network ppt for support vector machine
- mysql之对视图的操作
- 信息安全完全参考手册之遵循标准、法规和法律(第三章)
- Dubbo 的设计思想,真优秀!
- 移动端调用微信和支付宝的扫一扫功能
- 2021数据库MYSQL语句梳理(Navicat)
- 记录element ui dialog弹框生命周期问题
- 线性代数1:向量、线性组合、张成的空间和基
- Python强化知识之获取网络资源 Urllib(一)
- M1 芯片版 Mac 抹掉重装系统教程
- ccsa安学网小程序_CCSA安学网题库1
- easyswoole连接mysql
- 一部手机就能完成人像三维扫描建模
- Jmeter正则表达式提取器的使用
- 从算法上解读自动驾驶是如何实现的?
- 分布式事务 解决方案
- win7 瘦身 减肥 记录!