3.1 神经网络概览-深度学习-Stanford吴恩达教授


←上一篇↓↑下一篇→
2.19 总结习题回到目录3.2 神经网络表示

神经网络概览 (Neural Networks Overview)

本周你将学习如何实现一个神经网络。在我们深入学习具体技术之前,我希望快速的带你预览一下本周你将会学到的东西。如果这个视频中的某些细节你没有看懂你也不用担心,我们将在后面的几个视频中深入讨论技术细节。

现在我们开始快速浏览一下如何实现神经网络。上周我们讨论了逻辑回归,我们了解了这个模型如何与下面公式建立联系。

在这里插入图片描述

x w b } → z = w T x + b \left.\begin{matrix} x \\ w \\ b \end{matrix}\right\}\rightarrow z=w^Tx+b xwbz=wTx+b

如上所示,首先你需要输入特征 x x x ,参数 w w w b b b ,通过这些你就可以计算出 z z z

x w b } → z = w T x + b → a = σ ( z ) → L ( a , y ) \left.\begin{matrix} x \\ w \\ b \end{matrix}\right\}\rightarrow z=w^Tx+b\rightarrow a=\sigma(z) \\ \rightarrow L(a,y) xwbz=wTx+ba=σ(z)L(a,y)

接下来使用就可以计算出 a a a 。我们将的符号换为表示输出 y ^ → a = σ ( z ) \hat{y}\rightarrow a=\sigma(z) y^a=σ(z) ,然后可以计算出loss function L ( a , y ) L(a,y) L(a,y)

神经网络看起来是如下这个样子。正如我之前已经提到过,你可以把许多sigmoid单元堆叠起来形成一个神经网络。对于图3.1.1中的节点,它包含了之前讲的计算的两个步骤:首先通过公式3.1计算出值 z z z ,然后通过 σ ( z ) \sigma(z) σ(z) 计算值 a a a

在这里插入图片描述

在这个神经网络(图3.1.2)对应的3个节点,首先计算第一层网络中的各个节点相关的数 z [ 1 ] z^{[1]} z[1] ,接着计算 a [ 1 ] a^{[1]} a[1] ,在计算下一层网络同理; 我们会使用符号 [ m ] ^{[m]} [m] 表示第 m m m 层网络中节点相关的数,这些节点的集合被称为第 m m m 层网络。这样可以保证 [ m ] ^{[m]} [m] 不会和我们之前用来表示单个的训练样本的 ( i ) ^{(i)} (i) (即我们使用表示第 i i i 个训练样本)混淆; 整个计算过程,公式如下: 公式3.3:

x W [ 1 ] b [ 1 ] } → z [ 1 ] = W [ 1 ] x + b [ 1 ] → a [ 1 ] = σ ( z [ 1 ] ) \left.\begin{matrix} x \\ W^{[1]} \\ b^{[1]} \end{matrix}\right\}\rightarrow z^{[1]}=W^{[1]}x+b^{[1]}\rightarrow a^{[1]}=\sigma(z^{[1]}) xW[1]b[1]z[1]=W[1]x+b[1]a[1]=σ(z[1])

公式3.4:

a [ 1 ] = σ ( z [ 1 ] ) W [ 2 ] b [ 2 ] } → z [ 2 ] = W [ 2 ] a [ 1 ] + b [ 2 ] → a [ 2 ] = σ ( z [ 2 ] ) → L ( a [ 2 ] , y ) \left.\begin{matrix} a^{[1]}=\sigma(z^{[1]}) \\ W^{[2]} \\ b^{[2]} \end{matrix}\right\}\rightarrow z^{[2]}=W^{[2]}a^{[1]}+b^{[2]}\rightarrow a^{[2]}=\sigma(z^{[2]})\\\rightarrow L(a^{[2]},y) a[1]=σ(z[1])W[2]b[2]z[2]=W[2]a[1]+b[2]a[2]=σ(z[2])L(a[2],y)

类似逻辑回归,在计算后需要使用计算,接下来你需要使用另外一个线性方程对应的参数计算 z [ 2 ] z^{[2]} z[2] , 计算 a [ 2 ] a^{[2]} a[2] ,此时 a [ 2 ] a^{[2]} a[2] 就是整个神经网络最终的输出,用 y ^ \hat{y} y^ 表示网络的输出。

公式3.5:

d a [ 1 ] = d σ ( z [ 1 ] ) d W [ 2 ] d b [ 2 ] } → d z [ 2 ] = d ( W [ 2 ] a [ 1 ] + b [ 2 ] ) → d a [ 2 ] = d σ ( z [ 2 ] ) → d L ( a [ 2 ] , y ) \left.\begin{matrix} da^{[1]}=d\sigma(z^{[1]}) \\ dW^{[2]} \\ db^{[2]} \end{matrix}\right\}\rightarrow dz^{[2]}=d(W^{[2]}a^{[1]}+b^{[2]})\rightarrow da^{[2]}=d\sigma(z^{[2]})\\\rightarrow dL(a^{[2]},y) da[1]=dσ(z[1])dW[2]db[2]dz[2]=d(W[2]a[1]+b[2])da[2]=dσ(z[2])dL(a[2],y)

我知道这其中有很多细节,其中有一点非常难以理解,即在逻辑回归中,通过直接计算 z z z 得到结果 a a a 。而这个神经网络中,我们反复的计算 z z z a a a ,计算 a a a z z z ,最后得到了最终的输出loss function

你应该记得逻辑回归中,有一些从后向前的计算用来计算导数 d a 、 d z da、dz dadz 。同样,在神经网络中我们也有从后向前的计算,看起来就像这样,最后会计算 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箭头表示的那样,从右到左反向计算。

现在你大概了解了一下什么是神经网络,基于逻辑回归重复使用了两次该模型得到上述例子的神经网络。我清楚这里面多了很多新符号和细节,如果没有理解也不用担心,在接下来的视频中我们会仔细讨论具体细节。

那么,下一个视频讲述神经网络的表示。

课程PPT

在这里插入图片描述
在这里插入图片描述


←上一篇↓↑下一篇→
2.19 总结习题回到目录3.2 神经网络表示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhao-Jichao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值