吴恩达深度学习课程笔记-神经网络编程基础-计算图

吴恩达深度学习课程笔记-神经网络编程基础-计算图

吴恩达深度学习课程笔记

第二周:神经网络编程基础(Basics of Neural Network programming)

2.7 计算图(Computation Graph)

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

我们尝试计算函数 JJ 是由三个变量 a,b,c 组成的函数,这个函数是 J(a,b,c) = 3(a + bc)。计算这个函数实际上包含三个步骤,首先是计算 b 乘以 c,我们将结果存在变量 u 中,因此 u = bc;然后计算 v = a+ u;最后输出 J = 3v,这就是要计算的函数 J

我们可以把这三步画成如下的计算图,举个例子,a=5, b=3, c=2,则 u = bc = 6, v = a + u = 11, J = 3v = 33

enter image description here

从这个小例子中我们可以看出,通过一个从左向右的过程,你可以计算出 J 的值。为了计算导数,从右到左(红色箭头,和蓝色箭头的过程相反)的过程是用于计算导数最自然的方式。概括一下:计算图组织计算的形式是用蓝色箭头从左到右的计算,下一节我们将会看到如何进行反向红色箭头(也就是从右到左)的导数计算。

上一篇:吴恩达深度学习课程笔记-神经网络编程基础-更多导数的例子

发表评论

电子邮件地址不会被公开。 必填项已用*标注