deeplearning.ai第一章第四周

上一节我们学习了单层神经网络,本周学习的是深层神经网络

深层神经网络


上图中分别对应这逻辑回归,2层神经网络,3层神经网络,6层神经网络。
我们认为逻辑回归是相对“浅”的神经网络,6层神经网络相对“深”。
在几年前社区认为有些函数只有较深的神经网络能够学习。

深层神经网络的向前传播


我们先使用单个样本作为例子,展示向前传播时用的符号,之后再进行向量化
$z^{[1]} = W^{[1]} x + b^{[1]}$
$a^{[1]} = g^{[1]}(z^{[1]})$
$z^{[2]} = W^{[2]} a^{[1]} + b^{[2]}$
$a^{[2]} = g^{[2]}(z^{[2]})$
一直计算直至最后的输出层
我们可以将 x 看作是 $a^{[0]}$
所以相应层的计算就变为
$z^{[l]} = W^{[l]} a^{[l - 1]} + b ^{[l]}$
$a^{[l]} = g^{[l]}(z^{[l]})$
向量化后与之相似

为什么需要使用较深的网络


Andrew Ng在视频中的解释是较深的网络中各个隐藏层各司其职,离原始数据越接近的隐藏层仅能学习较为简单的特征,比如边缘探测器或者某些简单特征探测器。随后的隐藏层组合这些简单的特征,探测面部的不同部分,末端的隐藏层继续组合,继而探测不同的人脸。不过值得注意的是,较前的边缘探测器都是针对照片中较小的面积。而后部的器官或者面部探测器则是针对图片中的较大面积。
图上的这种金字塔型的结构不仅仅可以用于人脸识别,当你建造一个语音识别系统时,需要解决的是如何可视化语音数据,神经网络的第一层可能会先去开始探测较低层次音频波形的特征,比如音调是变高了还是变低了,分辨白噪声,或者音调。然后把这些波形组合在一起就能去探测声音的基本单元(语言学的概念:音位)再组合起来可能就能识别单词,最后再到完整的句子。

另一种是来自电路理论。

深层网络的反向传播


我们选择其中的一层(l)进行举例
l层的参数有:$W^{[l]}, b^{[l]}$

  • 正向传播时
    输入l层的参数有:$a^{[l - 1]}$,输出的的值是$a^{[l]}$,计算时将$z^{[l]}$缓存起来以用于反向传播
    $z^{[l]} = W^{[l]} a^{[l - 1]} + b ^{[l]}$
    $a^{[l]} = g^{[l]}(z^{[l]})$
  • 反向传播时
    输入参数:$da^{[l]}$,输出$da^{[l - 1]}$(da的计算需要之前缓存的z)

如下图所示

参数 VS 超参数

参数: 网络中的W权重和b偏置值
超参: 学习率,训练次数,隐藏层数,激活函数的选择
超参控制了最终权重和偏置该是什么值,所以称为超参
除了以上学到的这些后面还会学到:momentum、mini batch size、regularization parameters。

这和大脑有什么关系?

神经网络里的神经元只是过度简化了大脑中的神经元功能,但是大脑中的神经元具体做了什么,现在还没法进行解释。
所以虽然认为深度学习的确是个很好的工具,能学习到各种很灵活很复杂的函数,来学习X到Y的映射。

Author: Sean
Link: https://blog.whileaway.io/posts/59682/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.