深度学习入门 基于python理论和实践读书笔记(九)

第五章 误差反向传播法 第一 二 三节

计算图

计算图将计算过程用图形表示出来,通过多个节点和边表示。

用计算图求解

通过节点和箭头表示计算过程。书上节点用○表示,○中是计算的内
容。将计算的中间结果写在箭头的上方,表示各个节点的计算结果从左向右
传递。解决的问题是(买单价为100日元,消费税为10%,求最后需要付钱的总额)两种表示示意图:
深度学习入门 基于python理论和实践读书笔记(九)
深度学习入门 基于python理论和实践读书笔记(九)
计算图解题,需要按照如下流程:
1 构建计算图
2 在计算图上从左到右的计算。
在第二步中从左到右计算是一种正向传播。正向传播,从计算图出发点到结束点的传播。反向传播在图上看来是从右到左。

局部计算

无论全局发生了什么,都只能根据与自己相关的信息输出接下来的结果。书上说的例子已经说得很清楚了。就是计算图可以集中于局部计算。无论全局多复杂,各步骤所要做的就是对象节点的局部计算。虽然局部非常简单,但是它可以通过传递它的计算结果,可以获得全局的复杂计算的结果。

链式法则

计算图的反向传播

反向传播示意图
深度学习入门 基于python理论和实践读书笔记(九)
假设y = f(x)的计算,反向传播的计算顺序,将信号E乘以节点的局部导数αy/αx,然后将结果传递给下一个节点,通过这样子的计算,可以高效地求出导数值。

什么是链式法则

链式法则是关于复合函数的导数的性质。复合函数的定义是某个函数由符合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示。比如式子为

深度学习入门 基于python理论和实践读书笔记(九)
要求αz/αx则公式为
深度学习入门 基于python理论和实践读书笔记(九)
这个高数学过就粗略的写一下公式。

链式法则和计算图

如果把之前z=t2,t=x+y的计算用计算图表示,“2”表示佩服运算的话,则计算图如下
深度学习入门 基于python理论和实践读书笔记(九)
如图,计算图的反向传播从左到右。反
向传播的先将节点的输入信号乘以节点的局部导数,然后再传递到下一个节点**再次提醒自己这个很就是链式法则。αz/αz=1。所以之前的式子中并没有写这个式子。

反向传播

加分节点的反向传播

以Z=x+y为对象观察他们的反向传播。可以计算出
深度学习入门 基于python理论和实践读书笔记(九)
αz/αx,αz/αy都等于1。说明加法反向传播将上游传过来的导数乘以1,然后传到下游。因为只是乘以了1,所以输入值会原封不动的流向下一个节点。以下的图可以表示:
深度学习入门 基于python理论和实践读书笔记(九)

乘法节点的反向传播

用函数z=xy这个对象来表示。则导数为
深度学习入门 基于python理论和实践读书笔记(九)
乘法的方向传播将上游的值乘以正向传播时的输入信号的“翻转值”,然后传递给下游。翻转值表示一种翻转关系。如下面这个图,正向传播的信号是x的话,反向传播则是y,如果正向传播信号是y的话,反向传播则是x。
深度学习入门 基于python理论和实践读书笔记(九)
这个图我的答案是这样子的,本来想找一下答案的,但是翻了几下没有翻到,算了嘛,到时候翻到了错了再来该。
深度学习入门 基于python理论和实践读书笔记(九)
go go 下一节,呀呀呀开心。