【CS230-DL】04 深层神经网络

前面我们接触了两层的浅层神经网络,这节课我们来看看深层神经网络。


更新历史

  • 2019.10.14: 完成初稿

深层神经网络 Deep L-layer neural network

神经网络的层数定义是从左到右,由 0 开始定义,x123 为第 0 层,比如:

具体的符号表示,参考第 0 节的介绍。

前向/反向传播 Forward and backward propagation

废话不多说,直接上公式

前向传播

  • 输入 $a^{[l-1]}$
  • 输出 $a^{[l]}$,同时缓存 $z^{[l]}$,方便后续计算

具体步骤为:

向量化的实现为

反向传播

  • 输入 $da^{[l]}$
  • 输出 $da^{[l-1]},\ dw^{[l]},\ db^{[l]}$

具体步骤为:

向量化实现为

为什么深层表示好 Why deep representations

因为前几层能学习一些低层次的简单特征,后几层会把简单的特征结合起来,去探测更加复杂的东西。

参数(Parameters) vs 超参数(Hyperparameters)

超参数包括:

  • 学习率 learning rate
  • 梯度下降法循环次数 iterations
  • 隐藏层数目 L
  • 隐藏层单元数目 $n^{[l]}$
  • 选择的激活函数

这些超参数实际上决定了神经网络最终训练得到的参数的值

如何寻找最佳的超参

不断尝试 Idea - Code - Experiment - Idea 这个循环,简单来说就是爱迪生实验灯丝。很大程度凭借经验和直觉调整参数,多试试,才能培养这种直觉

一点打赏,十分感谢,百分动力