2.7 计算图(Computation Graph)

可以说,一个神经网络的计算,都是按照前向或反向传播过程组织的。首先我们计算出一个新的网络的输出(前向过程),紧接着进行一个反向传输操作。后者我们用来计算出对应的梯度或导数。计算图解释了为什么我们用这种方式组织这些计算过程。在这个视频中,我们将举一个例子说明计算图是什么。让我们举一个比逻辑回归更加简单的,或者说不那么正式的神经网络的例子。

我们尝试计算函数J,J是由三个变量a,b,c组成的函数,这个函数是3(a+bc) 。计算这个函数实际上有三个不同的步骤,首先是计算 b 乘以 c,我们把它储存在变量u中,因此u=bc; 然后计算v=a+u;最后输出J=3v,这就是要计算的函数J。我们可以把这三步画成如下的计算图,我先在这画三个变量a,b,c,第一步就是计算u=bc,我在这周围放个矩形框,它的输入是b,c,接着第二步v=a+u,最后一步J=3v。
举个例子: a=5,b=3,c=2 ,u=bc就是6,就是5+6=11。J是3倍的 ,因此。即3×(5+3×2)。如果你把它算出来,实际上得到33就是J的值。 当有不同的或者一些特殊的输出变量时,例如本例中的J和逻辑回归中你想优化的代价函数J,因此计算图用来处理这些计算会很方便。从这个小例子中我们可以看出,通过一个从左向右的过程,你可以计算出J的值。为了计算导数,从右到左(红色箭头,和蓝色箭头的过程相反)的过程是用于计算导数最自然的方式。
概括一下:计算图组织计算的形式是用蓝色箭头从左到右的计算,让我们看看下一个视频中如何进行反向红色箭头(也就是从右到左)的导数计算,让我们继续下一个视频的学习。