从计算图(computational graph)角度看BP(back propagation)算法,这也是目前各大深度学习框架中用到的,Tensorflow, Theano, CNTK等。参考【1】
一、通用形式
1. 什么是计算图结构
从下图中我们可以清楚地看到
(1)可以将计算图看作是一种用来描述function的语言,图中的节点node代表function的输入(可以是常数、向量、张量等),图中的边代表这个function操作。
(2)看到一个计算图的例子,我们就可以很容易地写出其对应的function。
2.用计算图和链式法则来算偏导数
从下图中中的计算图我们可以得到它对应的function:e = (a+b) ∗ (b+1),若我们要求e对b的偏导数,可经过以下步骤求得:
(1)图中绿色部分计算每一条edge上的偏导数,easy。
(2)从e到参数b有两条路径,把这两条路径上计算出的偏导数相乘,最后相加即为所求目标。(图中红色箭头)
举个例子:
若已知a = 3, b = 2,求e对b的偏导数:
(1)首先,前向计算很容易得到c,d,e的值(下图中橘红色的部分,很容易)
(2)算出每条路径上的偏导数值(下图中黄色部分,很容易)
(3)从节点b开始找到从自身节点到目标节点e有

本文从计算图的角度深入解析反向传播(BP)算法,应用于深度学习框架如Tensorflow、Theano和CNTK。首先,介绍了计算图的基本概念,包括如何计算偏导数,并对比了正向和反向模式。接着,讨论了全连接神经网络中的计算图,展示如何在神经网络中应用计算图进行BP,并涉及雅各布矩阵。最后,指出该方法同样适用于其他神经网络结构。
最低0.47元/天 解锁文章
741

被折叠的 条评论
为什么被折叠?



