深度学习记录--计算图(前向后向传播)
什么是计算图?
从一个例子入手:
将函数J的计算用流程图表示出来,这样的流程图被称为计算图
简单来说,计算图是用来显示每个变量间的关系的一种图
两种传播方式
计算图有两种传播方式:前向传播 和 后向传播
什么是前向传播?
还是以函数为例,前向传播就是将计算函数J的值的每一个过程表示出来,类似分步计算
什么是后向传播?
后向传播就是从最后一个方框开始,逐步向前求最终输出变量(FinalOutput Variable)对普通变量(variable)的导数,记为: ,在函数的例子中,最终输出变量是变量J的值,所以导数写为: ,在编程代码中,为了简便,通常将导数记作: ,当我们求出对所有普通变量的导数后,我们也就清楚了每个变量对于变化的影响程度,同时,这些导数也可以用来更新变量(即梯度下降法),方便进行迭代计算
后向传播的计算方法
简要来说,就是求导
但是,我们可以利用链式法则(chain rule)来简化计算
比如:当我们求完 之后,之后我们要求 ,可以进行拆分,拆分成: , 这样我们只需要求 ,并将上一次求出的 代入即可求出
同理之后每个导数都可以拆分成两个导数,进行简化运算