吴恩达Deeplearning.ai之1-4:深层神经网络

这篇笔记主要是关于深层神经网络的,包含以下内容:

目录

1. 确保矩阵维度是正确的(Getting your matrix dimensions right):

2. 搭建深层神经网络块(Building blocks of deep neural network):

3. 前向和反向传播(Forward and backward propagation):

4. 参数VS超参数(Parameters VS Hyperparameters):

1. 确保矩阵维度是正确的(Getting your matrix dimensions right):

在深度神经网络中,提前确定好各种矩阵的维度是减少bug的一种重要的方式。

                                      吴恩达Deeplearning.ai之1-4:深层神经网络_第1张图片

有上面的5层神经网络,其中每层的神经元数都已经给出,对于m个样本的第l层的各矩阵的维度为:

权重矩阵W^{[l]}(n^{[l]},n^{[l-1]})

偏置矩阵b^{[l]}(n^{[l]},m)

dW^{[l]}(n^{[l]},n^{[l-1]})

db^{[l]}(n^{[l]},m)

Z^{[l]}(n^{[l]},m)

A^{[l]}(n^{[l]},m)

Z^{[l]} = W^{[l]}A^{[l-1]}+b^{[l]},可以看到每个矩阵的维度都是正确的,经过运算后得到的矩阵维度也是对应的。

2. 搭建深层神经网络块(Building blocks of deep neural network):

           吴恩达Deeplearning.ai之1-4:深层神经网络_第2张图片

3. 前向和反向传播(Forward and backward propagation):

前向传播(forward propagation):

对于第l层:

Input: a^{[l-1]}                    Output:a^{[l-1]},cache\ z^{[l]}

                                                              z^{[l]} = W^{[l]}a^{[l-1]} + b^{[l]}

                                                                    a^{[l]} = g^{[l]}(z^{[l]})

向量化后的公式:

                                                              Z^{[l]} = W^{[l]}A^{[l-1]} + b^{[l]}

                                                                    A^{[l]} = g^{[l]}(Z^{[l]})

反向传播(backward propagation):

对于第l层:

Input:da^{[l]}                        Output:dW^{[l]},db^{[l]},da^{[l-1]}

                                                                            dz^{[l]} = da^{[l]}*g'^{[l]}(z^{[l]})

                                                                              dW^{[l]} = dz^{[l]}a^{[l-1]}

                                                                                    db^{[l]} = dz^{[l]}

                                                                              da^{[l-1]} = W^{[l]}^{T}dz^{[l]}

向量化后的公式:

                                                                                    dZ^{[l]} = dA^{[l]}*g'^{[l]}(Z^{[l]})

                                                                                       dW^{[l]} = \frac{1}{m}dZ^{[l]}A^{[l-1]}

                                                              db^{[l]} = \frac{1}{m}np.sum(dZ^{[l]},axis = 1,keepdims = True)

                                                                                           dA^{[l-1]} = W^{[l]}^{T}dZ^{[l]}

4. 参数VS超参数(Parameters VS Hyperparameters):

参数:

参数即是我们在过程中想要模型学习到的信息,W^{[l]},b^{[l]}

超参数:

超参数即为控制参数的输出值的一些网络信息,也就是超参数的改变会导致最终得到的参数W[l],b[l]W[l],b[l]的改变。

举例:

学习速率:\alpha
迭代次数:N
隐藏层的层数:L
每一层的神经元个数:n^{[1]},n^{[2]},...,n^{[l]}
激活函数g(z)的选择

你可能感兴趣的:(深度学习)