1.计算图
计算图将计算过程用图形表示出来。这里的图形是数据结构图。
1.1用计算图进行计算
构建了计算图后,从左向右进行计算。就像电路中的电流流动一样,计算结果从左
向右传递。到达最右边的计算结果后,计算过程就结束了。
计算图计算流程:
1.构建计算图。
2.在计算图上,从左向右进行计算。
第2歩“从左向右进行计算”是一种正方向上的传播,简称为正向传播( forward propagation)。正向传播是从计算图出发点到结束点的传播。既然有正向传播这个名称,当然也可以考虑反向(从图上看的话,就是从右向左)的传播。实际上,这种传播称为反向传播( backward propagation
1.2 局部计算
计算图的特征是可以通过传递“局部计算”获得最终结果。“局部”这个词的意思是“与自己相关的某个小范围”。局部计算是指,无论全局发生了什么,都能只根据与自己相关的信息输出接下来的结果。
计算图可以集中精力于局部计算。无论全局的计算有多么复杂,各个步骤所要做的就是对象节点的局部计算。虽然局部计算非常简单,但是通过传递它的计算结果,可以获得全局的复杂计算的结果。
1.3计算图优势
1. 通过局部计算,简化问题
2. 利用计算图可以将中间的计算结果全部保存起来(比如,计算进行到2个苹
果时的金额是200日元、加上消费税之前的金额650日元等)
3. 通过反向传播高效计算导数。
上述问题中,我们计算了购买2个苹果时加上消费税最终需要支付的金额。这里,假设我们
想知道苹果价格的上涨会在多大程度上影响最终的支付金额,即求“支付金额关于苹果的价格的导数”。设苹果的价格为x,支付金额为L,则相当于求αL/αx。这个导数的值表示当苹果的价格稍微上涨时,支付金额会增加多少?
如图所示,反向传播使用与正方向相反的箭头(粗线)表示。反向传播传递“局部导数”,将导数的值写在箭头的下方。在这个例子中,反向传播从右向左传递导数的值(1 → 1.1 → 2.2)。从这个结果中可知,“支付金额关于苹果的价格的导数”的值是2.2。这意味着,如果苹果的价格上涨1日元,最终的支付金额会增加2.2日元(严格地讲,如果苹果的价格增加某个微小值,则最终的支付金额将增加那个微小值的2.2倍)。
2链式法则
反向传播是将局部导数向正方向的反方向(从右到左)传递, 传递这个局部导数的原理,是基于链式法则( chain rule)的。
2.1计算图的反向传播
假设存在y = f(x)的计算,这个计算的反向传播如图所示。
2.2什么是链式法则
介绍链式法则时,我们需要先从复合函数说起。复合函数是由多个函数构成的函数。
2.3链式法则和计算图
总结
1.介绍了计算图的基本概念与计算方式;
2.链式法则相关概念;