目录
- 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)
-
- [第三周:浅层神经网络(Shallow neural networks)](#第三周:浅层神经网络(Shallow neural networks))
-
- [3.1 神经网络概述(Neural Network Overview)](#3.1 神经网络概述(Neural Network Overview))
第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)
第三周:浅层神经网络(Shallow neural networks)
3.1 神经网络概述(Neural Network Overview)
本周你将学习如何实现一个神经网络。在我们深入学习具体技术之前,我希望快速的带你预览一下本周你将会学到的东西。如果这个视频中的某些细节你没有看懂你也不用担心,我们将在后面的几个视频中深入讨论技术细节。
现在我们开始快速浏览一下如何实现神经网络。上周我们讨论了逻辑回归,我们了解了这个模型(见图 3.1.1)如何与下面公式 3.1 建立联系。
接下来使用𝑧就可以计算出𝑎。我们将的符号换为表示输出𝑦^ ⟹ 𝑎 = 𝜎(𝑧),然后可以计算出 loss function 𝐿(𝑎, 𝑦)。
神经网络看起来是如下这个样子(图 3.1.2)。正如我之前已经提到过,你可以把许多sigmoid 单元堆叠起来形成一个神经网络。对于图 3.1.1 中的节点,它包含了之前讲的计算的两个步骤:首先通过公式 3.1 计算出值𝑧,然后通过𝜎(𝑧)计算值𝑎。
在这个神经网络(图 3.1.2)对应的 3 个节点,首先计算第一层网络中的各个节点相关的数 z [ 1 ] z^{[1]} z[1],接着计算 a [ 1 ] a^{[1]} a[1],在计算下一层网络同理; 我们会使用符号 [𝑚]表示第𝑚层网络中节点相关的数,这些节点的集合被称为第𝑚层网络。这样可以保证 [𝑚]不会和我们之前用来表示单个的训练样本的 (𝑖)(即我们使用表示第 i 个训练样本)混淆; 整个计算过程,公式如下: 公式 3.3:
类似逻辑回归,在计算后需要使用计算,接下来你需要使用另外一个线性方程对应的参数计算 z [ 2 ] z^{[2]} z[2], 计算 a [ 2 ] a^{[2]} a[2],此时 a [ 2 ] a^{[2]} a[2]就是整个神经网络最终的输出,用 y ^ \hat{y} y^表示网络的输出。
我知道这其中有很多细节,其中有一点非常难以理解,即在逻辑回归中,通过直接计算𝑧得到结果𝑎。而这个神经网络中,我们反复的计算𝑧和𝑎,计算𝑎和𝑧,最后得到了最终的输出 loss function。
你应该记得逻辑回归中,有一些从后向前的计算用来计算导数𝑑𝑎、𝑑𝑧。同样,在神经网络中我们也有从后向前的计算,看起来就像这样,最后会计算 d a [ 2 ] 、 d z [ 2 ] da^{[2]} 、dz^{[2]} da[2]、dz[2],计算出来之后,然后计算计算 d w [ 2 ] 、 d b [ 2 ] dw^{[2]}、db^{[2]} dw[2]、db[2] 等,按公式 3.4、3.5 箭头表示的那样,从右到左反向计算。
现在你大概了解了一下什么是神经网络,基于逻辑回归重复使用了两次该模型得到上述例子的神经网络。我清楚这里面多了很多新符号和细节,如果没有理解也不用担心,在接下来的视频中我们会仔细讨论具体细节。
那么,下一个视频讲述神经网络的表示。