hung-yi lee_p13_反向传播
文章目录
- 背景
- 链式法则
- 计算思路
- 梯度计算过程/反向传播
- 总结
背景
回顾神经网络中计算梯度,更新梯度的过程
这里面的问题是,梯度是一个上百万维的向量,计算出来并非易事
这就引出了反向传播
可以说反向传播是梯度下降在神经网络中的实现。
链式法则
本节将要用到的数学知识
对于case2,可以看成是s通过影响x和y这两条路径来影响z
计算思路
如图所示,本文引入反向传播的思想,运用链式法则,通过将A的计算转化为B,进一步转化为C,进一步转化为D1和D2来求梯度。其中D1和D2的求解分为在输出层和非输出层两种情况讨论。
梯度计算过程/反向传播
以下只关注1不关注2,因为1求出2也就求出
取出一个神经元作为研究对象
关注其一个权重,记作w(在总图中的w1或是w2)
如何计算损失函数对w的偏微分,这就要用到链式法则
我们将因子1 @z/@w 称作forward pass,因子2 @C/@z 称作backward pass
先看如何计算forward pass(@代表偏微分符号)
发现秒杀
网络上所有**@z/@w都等于和w对应的输入值
接着看如何计算 backward pass
可以再次使用链式法则
其中 @a/@z 就是sigmoid函数的微分
sigmoid函数及其微分如图所示
@C/@a应该如何计算呢
注意到a可以通过z’和z’'来影响后面的
可再度利用链式法则
进一步计算@C/@a
@C/@z’ 和 @C/@z’’ 假设已经算出
则综合上面的计算可以得到 @C/@z 为
我们换个角度看这个式子
将 @C/@z’ 和 @C/@z’’ 看成是输入,而 sigma pf z ’ 由forward pass决定,可看成一个常数
注意:“新的神经元”和之前的神经元运作模式并不一样
问题只剩下计算出 @C/@z’ 和 @C/@z’'
如果下一层就是输出层**,根据链式法则,可以写出如下式子
其中 @y1/@z’ 即为激活函数的导数,@C/@y1 取决于损失函数是如何定义的
z’'和y2是类似的
如果下一层不是输出层,则需要递归计算
也就是根据这个式子
在这样一张神经网络中,如果想知道C对z1的偏微分,就要知道C对z3和z4的偏微分,想知道z3的的偏微分,就要知道C对z5和z6的偏微分……直至最后一层
想要计算地更有效率,我们不妨从输出层往里计算
总结
forward pass和backward pass的命名原因就是前者用正向(输入到输出)思维计算,后者用逆向(输出到输入)思维计算,两者相乘就是我们要计算的梯度
相关文章:

介绍两个非常好用的Javascript内存泄漏检测工具
内存泄漏对开发者来说一般很难检测因为它们是由一些大量代码中的意外的错误引起的,但它在系统内存不足前并不影响程序的功能。这就是为什么会有人在很长时间的测试期中收集应用程序性能指标来测试性能。 最简单的检测内存泄漏的方式是用任务管理器检查内存使用情况。…

全局化和本地化
区域性En 英语en-CA 加拿大英语af-ZA 南非荷兰语eu 巴斯克语kn-IN 埃纳德语 印度tr 土耳其语Cy-uz-UZ 乌兹别克语 西里尔字母表Lt-uz-UZ 乌兹别克语 拉丁文字母表zh-CHT 繁体中文zh-CHS 简体中文设置当前区域性System.Threading.Thread.CurrentThread.CurrentCulture new Sys…

lvm讲解和磁盘故障案例
一:lvm讲解1.准备磁盘分区fdisk /deb/sdbn创建三个新分区,分别为1Gt改变分区类型为8e2.pvcreate /dev/sdb1yum install -y lvm [rootcentos7-1 ~]# yum install -y lvm 已加载插件:fastestmirror base …

hung-yi lee_p17_卷积神经网络
文章目录背景:卷积层池化层摊平KerasCNN学到了什么Deep DreamDeep Style怎么把CNN用在下围棋上为什么可以将CNN用于下围棋CNN更多应用背景: DNN拿掉一些参数就成CNN 为什么可以这样做 每一个神经元只需要图中的一部分就可以识别出想要的模式 更小的区域…
抓住青春的尾巴再愤青一把
这是今天google大神查到的:一、CAPCOM的《大神》,PS2专属ACT游戏,以三大神之一的日照处天子为原型,动作爽快华丽,是我期待很久的作品,预计今冬发售。 ... 并不是说这个水墨3D是大宇搞出来的DD,3…

the folder is already a source folder.
在新建的maven项目中,新建src/main/java时,提示the folder is already a source folder. 解决办法:右键工程,build path--configure build path--source,删除src/mian/java,再建src/main/java时即可。转载于…

selenium webdriver - 结束进程
1 import org.openqa.selenium.WebDriver;2 import org.openqa.selenium.firefox.FirefoxDriver;3 import org.openqa.selenium.os.WindowsUtils;4 /*5 * 结束进程6 */7 public class KillProcess {8 9 public static void main(String[] args) { 10 //结束进程 …

白盒测试的3中主要方法(cont.)
文章目录白盒测试简介逻辑覆盖测试法SCDCCCCDCMCCMCDC基本路径测试法BPC测试的四个步骤循环路径覆盖法白盒测试简介 静态白盒测试也称为结构化分析。 动态白盒测试又称为结构化测试。 以下所说的应该均属于动态白盒测试。 逻辑覆盖测试法 SC sentence coverage 语句覆盖 设…

CRichEdit小记
使用前要AfxInitRichEdit2(); 修改背景颜色和字体颜色 CRichEditCtrl* p(CRichEditCtrl*)GetDlgItem(IDC_RICHEDIT21);CHARFORMAT2 cf;memset((char*)&cf,0,sizeof(cf));COLORREF color;color RGB(0,255,0);cf.dwMask CFM_COLOR;cf.crTextColor color; //The text color…

学习3dmax(四)
今天没有怎么做东西,是再看一些理论的东西。这个是再网上看到的,虽然说的是如何学习3dmax,但是我个人认为学习任何一种技术都应该如此。1. 把MAX当成一门新的课程学习(和MAYA没啥关系!真的。)&…

ES6深拷贝与浅拷贝
小感在前 React学习与开发过程要经历一个相当长的准备阶段,此前看阮一峰老师的文章中,他就特别提到这一点。但是,由于React框架或者说是一种优秀的前端架构实在太诱人,所以,掌握这项技术所涉及的技术栈过程中经历的任何…

hung-yi lee_p22_无监督学习:词嵌入
文章目录原视频地址:添加链接描述输入是一个词 输出是一个向量 整个过程无监督 用来训练的是一堆文章 精神: 根据一个词汇的上下文来理解它 具体: 1.count based 两个词经常一起出现,认为它们是相似的 2.prediction-based 给神经…

用vs2010打开使用vs2013升级后的WP工程
项目在win7vs2010的环境中建立的,后来在win8.1vs2013的环境下修改和完善: 但是所有功能实现后发现wp7项目在使用vs2013打开后因为单向升级的原因,项目只能被编译为wp8项目(win8.1vs2013无法安装wp7的sdk,提示不兼容&am…

神州6号发射成功了--庆祝一下
转载于:https://www.cnblogs.com/ccBoy/archive/2005/10/12/253268.html

android保持服务不休眠(持续运行)以及唤醒屏幕的方法
假设有这样一个应用场景,一个服务一直在默默的工作(比如即时地获取服务器的消息),即使在屏幕已经因为长时间无操作而关闭,或者用户按了电源键让屏幕关闭,手机进入休眠状态,他必须依然在工作中。…

三类常见软件质量(Quality Attribute)属性的通俗解释
外部质量 用户关心 正确性,最最基本的质量属性,对应功能需求,其他QA多对应非功能需求。健壮性,在异常情况下正常运行的能力。 包含容错能力和恢复能力。恢复没有容错健壮。可靠性,用平均无bug运行时间与平均bug修复时…

winform动态的文字效果
效果图如下 private void Form1_Load(object sender, EventArgs e){Graphics Car_Paint panel1.CreateGraphics();//实例化绘图对象string Car_Str "青岛**软件公司";//定义要绘制的动态文字Character character new Character();//实例化自定义类对象character.D…

使用Mycat构建MySQL读写分离、主从复制、主从高可用
数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。 从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,…

SharePoint的Reporting Service Viewer Web Part
今天本来打算做一个专门用于Reporting Service报表浏览的SharePoint web part,记得在Reporting Service 2000下有一个viewer的Sample,就想找来参考一下,谁知在C:\Program Files\Microsoft SQL Server\90\Tools\Reporting Services\SharePoint…

7个面向对象常用原则的中英文名、别名、定义及显著特点
单一职责原则 英文名:Single Responsibility Principle(SRP) 别名:无 定义1:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中 定义2:就一个类而言,应该仅有一个引起它变化的原因 开闭原则…

常见的“公共标志和说明”英文表达
1、Business Hours 营业时间 2、Office Hours 办公时间 3、Entrance 入口 4、Exit 出口 5、Push 推 6、Pull 拉 7、Shut 此路不通 8、On 打开 ( 放) 9、Off 关 10、Open 营业 11、Pause 暂停 12、Stop 关闭 13、Closed 下班 14、Menu 菜…

【T-SQL】基础——表别名
Som有时候我们需要为表设置别名,这样就可以方便的修改表。 如果在SSMS中,可以点击 Query-> SQL CMD mode --Set Alisa for the table:setvar tablename "[RetailDataWarehouse].[dbo].[FactUnit]" Select ExternalOrderId,COUNT(DISTINCT(R…

数据挖掘的实现流程
文章目录1.数据、信息与知识2.数据挖掘实现流程概览图3.数据准备(step 1)4.数据挖掘(step 2)5.模型的评估解释(step 3)6.知识运用(step 4)7.小结1.数据、信息与知识 2.数据挖掘实现流程概览图 这里提供两张图,以下讲解基于第一张图。 3.数据准备(step 1) Knowl…

设计模式:备忘录模式??
定 义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 这样以后就可以将该对象恢复到原先保存的状态。 结构图: Originator(发起人):负责创建一个备忘录(Memento)ÿ…

如何用Python批量提取PDF文本内容?
本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析。 问题 最近,读者们在后台的留言,愈发五花八门了。 写了几篇关于自然语言处理的文章后,一种…

常用的3种注入方式
构造注入 指通过构造函数来传入具体类的对象设值注入(Setter注入) 指通过Setter方法来传入具体类的对象接口注入 指通过在接口中声明的业务方法传入具体类的对象

WebService客户端添加SOAPHeader信息
WebService客户端添加SOAPHeader信息 通过JAXBContext创建Marshaller对头信息进行解析为dom,获取WSBindingProvider,使用Headers.creat()创建soap的Header元素; 另外就是:将user转换为dom是为了不在有wsdl生成的LicenceInfo类中增…

MATLAB 向量
MATLAB 向量: 1、MATLAB 行向量: 创建行向量括在方括号中的元素的集合,用空格或逗号分隔的元素。 2、MATLAB 列向量: 创建列向量括在方括号中的元素的集合,使用分号来分隔的元素。 3、

Wiki为什么会流行
我来开题,老段补充一下,嘿嘿。。。Wiki的优点:版本管理和版本比较多作者,多编辑的协作简洁Wiki的缺点(或者第一次用不是很习惯的地方): 非所见即所得需要学习一下简单的语法文章的分类好像不是很地道所有的链接基本是自…

hung-yi lee_p18_图神经网络(cont.)
文章目录1. 简介2. 怎么把图喂到神经网络里面呢3. 为什么需要GNN4. 训练GNN遇到的问题5. 后面的内容安排6. GNN要做的事,常用数据集和基准7. 第一种实现GNN的方法(Spatial-based GNN)7.1 NN4G7.2 DCNN7.3 DGC7.4 MoNET番外:聚集的几种方法7.5 GAT7.5 GIN…