python 反传播_Python:反向传播 (六十八)
反向传播
现在,我们准备好训练神经网络了。为此,我们将使用一种方法,叫做反向传播。简而言之,反向传播将包括:
进行前向反馈运算。
将模型的输出与期望的输出进行比较。
计算误差。
向后运行前向反馈运算(反向传播),将误差分散到每个权重上。
更新权重,并获得更好的模型。
继续此流程,直到获得很好的模型。
听起来比较复杂,实际上要简单些。
我们看到,上边的蓝点被错误的分到红色区域,这时,我们问红色点,需要我们为你干什么,蓝色点会说希望直线离我更近些。
我们的做法就像从误差之巅下来,高度将是误差函数E(W),我们计算误差函数的梯度,就像在问点希望模型做什么,当我们朝着梯度的相反方向下山,我们就减少了误差,从山上下来,这样就得到了新的误差E(W'),以及一个误差更小的新模型W',意味着我们得到了离点更近的新直线。我们继续这一流程,以最小化该误差。这就是单个感知器的反向传播过程。
多层感知器更复杂,不过基本也是这个流程:
我们再看看多层级感知器中的前向反馈,传入点的坐标是(x1,x2)标签是 y=1,它对应的是隐藏层的线性模型,然后通过层级间的的结合,这个点的最终结果通过整个非线性模型的输出层得到,该点是蓝色的概率等于该点在最终模型中的位置。
反向传播
和之前一样,查看一下这个模型得到的误差,这个模型不太好,因为它预测这个点是红色,但实际这个点是蓝色,我们问该点:“为了分类正确,你希望该模型怎么做?”, 这个点说“我希望这个蓝色区域离我近点”,然蓝色区域靠近点是什么意思?我们看看隐藏层中的两个线性模型,哪个模型效果更好?
似乎上面这个模型的分类的结果更糟,而下面的模型分类正确,因此我们希望来自下面这个模型的影响增大,来自上边的模型影响缩小,我们要做的是减少上边模型的权重,并增大来自下面这个模型的权重,那么,我们得到的模型看起来,更像下面的模型,而不是上面的模型,我们可以更加深入地解释,我们可以从各个线性模型触发,问这个点,“为了更好地对你进行分类,这些模型该怎么做?”,该点说“上面这个模型对我的分类不正确,我想这条线离我近些,第二个模型对我分类正确,所以我想这条线离我远点”,模型据此更新权重,假设它将增加下面模型的权重而减少上面的模型权重,在更新了所有的权重后,隐藏层中所有模型的预测更加准确,输出层中的模型的预测也更为准确,注意这里我们省略了偏差,在现实中你更新权重也会更新偏差。
更新权重后:
反向传播数学
后面的几个视频将深入讲解数学知识。如果不想听也没有关系,现有的很多代码库和深度学习框架比如 Keras,能够很好并且很简单地完成这个任务。如果你想立即开始训练网络,请转到下个部分。但是如果你喜欢计算各种导数,那么我们深入了解下吧!
链式法则
我们需要复习下链式法则,以便计算导数。
计算 sigmoid 函数的导数
回想一下,sigmoid 函数有一个完美的导数,我们可以在下面的计算中看到。这将使我们的反向传播步骤更加简洁。
为者常成,行者常至
python 反传播_Python:反向传播 (六十八)相关推荐
- Python实现深度学习系列之【正向传播和反向传播】
前言 在了解深度学习框架之前,我们需要自己去理解甚至去实现一个网络学习和调参的过程,进而理解深度学习的机理: 为此,博主这里提供了一个自己编写的一个例子,带领大家理解一下网络学习的正向传播和反向传播的 ...
- (二十四) 手推BP神经网络的前向传播和反向传播
手推BP神经网络的前向传播和反向传播 一.基本术语 1.监督学习与非监督学习 Supervised Learning有监督式学习: 输入的数据被称为训练数据,一个模型需要通过一个训练过程,在这个过程中 ...
- 花书+吴恩达深度学习(十三)卷积神经网络 CNN 之运算过程(前向传播、反向传播)
目录 0. 前言 1. 单层卷积网络 2. 各参数维度 3. CNN 前向传播反向传播 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书+吴恩达深度学习(十)卷积神经网络 ...
- 深度神经网络(DNN)正向传播与反向传播推导(通俗易懂)
一.前言 我在之前的博客里面介绍过浅层的神经网络,现在就从浅层神经网络出发,介绍深度神经网络(DNN)的正向传播和反向传播.希望网友们看本博客之前需要对神经网络有个简单的了解,或者可以看博客初探神经网 ...
- 前向传播、反向传播与感知器
前向传播.反向传播与感知器 设计思路 前向传播 前向传播是计算输出值 y ^ = W T x + b \hat y=W^Tx+b y^=WTx+b与损失函数 L o s s ( y ^ , y ) ...
- 机器学习概念 — 监督学习、无监督学习、半监督学习、强化学习、欠拟合、过拟合、后向传播、损失和优化函数、计算图、正向传播、反向传播
1. 监督学习和无监督学习 监督学习 ( Supervised Learning ) 和无监督学习 ( Unsupervised Learning ) 是在机器学习中经常被提及的两个重要的学习方法. ...
- 3.3 前向传播与反向传播-机器学习笔记-斯坦福吴恩达教授
前向传播与反向传播 前向传播过程(Forward Propagation) 神经网络每层都包含有若干神经元,层间的神经元通过权值矩阵 ΘlΘ^lΘl 连接.一次信息传递过程可以如下描述: 第 j 层神 ...
- (pytorch-深度学习系列)正向传播与反向传播-学习笔记
正向传播与反向传播 1. 正向传播 正向传播是指对神经网络沿着从输入层到输出层的顺序,依次计算并存储模型的中间变量(包括输出). 假设输入是一个特征为x∈Rd\boldsymbol{x} \in \m ...
- 003-神经网络基础-最优化,前向传播,反向传播
最优化: 包括前向传播和反向传播 前向传播: 由w和x到损失函数loss的过程叫做前向传播 反向传播: 根据梯度下降的概念,找到最优的w的过程叫做反向传播. 做一件什么事情呢? 根据前向传播的w得到的 ...
- 深度学习基础笔记——前向传播与反向传播
相关申明及相关参考: 体系学习地址 主要学习笔记地址 由于是文章阅读整合,依据个人情况标注排版, 不确定算不算转载,主要学习围绕AI浩的五万字总结,深度学习基础 如有侵权,请联系删除. 1前向传播与反 ...
最新文章
- PyTorch 笔记(03)— Tensor 数据类型分类(默认数据类型、CPU tensor、GPU tensor、CPU 和 GPU 之间的转换、数据类型之间转换)
- 「自己开发直播」rtmp-nginx-module实现直播状态、观看人数控制
- 网上预约挂号系统代码_速看!全国民族运动会部分竞赛项目观众网上预约系统正式上线了...
- Bumblebee微服务网关之并发限制
- spring shell_Spring Shell项目发布
- mat 和asmatrix的区别_R语言的稀疏矩阵太大可能就不能用as.matrix了
- Struts2之OGNL表达式语言
- 4. Layout overview
- Selenium2学习笔记一
- Win10 DirectShow
- OCR文本检测模型—CTPN
- u盘启动linux出现grub,开机出现grub rescue报错如何解决 通用pe工具箱u盘启动盘制作工具教你...
- Axure8.0使用教程
- 阿里云OSS图片缩放处理
- 中国大数据论坛第八期教育成都沙龙成功
- 私募股权和VC有什么区别
- AI芯片产业生态及竞争格局:英伟达、谷歌、BAT实力拆解对比
- Android Studio 类微信界面的制作
- 微信小程序怎么设置全局背景颜色?
- WIN7 | 网络正常,但网页打不开 | 远程计算机或设备不接受连接