第四周:深层神经网络

第四周:深层神经网络

  • 4.1 深层神经网络
  • 4.2 深层神经网络中的前向传播
    • ⚠️ 计算公式
      • 单个样本
      • 多个样本
  • 4.3 核对矩阵的维度
  • 4.4 为什么使用深层表示
  • 4.5 搭建深层神经网络块
    • ⚠️ 第 l l l层的设计![在这里插入图片描述](https://img-blog.csdnimg.cn/20200728112607156.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ5NTczOA==,size_16,color_FFFFFF,t_70)
  • 4.6 前向和反向传播
    • 前向传播
    • 反向传播
  • 4.7 参数 & 超参数
    • ⚠️ 参数
    • ⚠️ 超参数

本文是神经网络和深度学习课程的笔记。

4.1 深层神经网络

  • 记号:
  • L L L:网络的层数
  • n [ l ] , l ∈ [ 1 , L ] n^{[l]},l \in [1,L] n[l],l[1,L]: 第l层的神经元的数量, n [ 0 ] n^{[0]} n[0]表示第0层,即输入的尺寸。
  • a [ l ] , l ∈ [ 1 , L ] a^{[l]},l \in [1,L] a[l],l[1,L]: a [ L ] = y ^ a^{[L]}=\hat{y} a[L]=y^

4.2 深层神经网络中的前向传播

⚠️ 计算公式

单个样本

  • 第一层:
    z [ 1 ] = W [ 1 ] x + b [ 1 ] z^{[1]}=W^{[1]}x+b^{[1]} z[1]=W[1]x+b[1]
    a [ 1 ] = g [ 1 ] ( z [ 1 ] ) a^{[1]}=g^{[1]}(z^{[1]}) a[1]=g[1](z[1])
  • l , 1 ≤ l l,1\leq l l,1l层:
    z [ l ] = W [ l ] a [ l − 1 ] + b [ 1 ] z^{[l]}=W^{[l]}a^{[l-1]}+b^{[1]} z[l]=W[l]a[l1]+b[1]
    a [ l ] = g [ l ] ( z [ l ] ) a^{[l]}=g^{[l]}(z^{[l]}) a[l]=g[l](z[l])

多个样本

Z [ l ] = w [ l ] A [ l − 1 ] + b [ l ] Z^{[l]}=w^{[l]}A^{[l-1]}+b^{[l]} Z[l]=w[l]A[l1]+b[l]
A [ l ] = g [ l ] ( Z [ l ] ) A^{[l]}=g^{[l]}(Z^{[l]}) A[l]=g[l](Z[l])

4.3 核对矩阵的维度

因为 z [ l ] = W [ l ] a [ l − 1 ] + b [ l ] z^{[l]}=W^{[l]}a^{[l-1]}+b^{[l]} z[l]=W[l]a[l1]+b[l] a [ l ] = g [ l ] ( z [ l ] ) a^{[l]}=g^{[l]}(z^{[l]}) a[l]=g[l](z[l])(单个样本)
Z [ l ] = w [ l ] A [ l − 1 ] + b [ l ] Z^{[l]}=w^{[l]}A^{[l-1]}+b^{[l]} Z[l]=w[l]A[l1]+b[l] A [ l ] = g [ l ] ( Z [ l ] ) A^{[l]}=g^{[l]}(Z^{[l]}) A[l]=g[l](Z[l])(m个样本)

W [ l ] W^{[l]} W[l] b [ l ] b^{[l]} b[l] z [ l ] z^{[l]} z[l] a [ l ] a^{[l]} a[l] Z [ l ] Z^{[l]} Z[l] A [ l ] A^{[l]} A[l]
( n [ l ] , n [ l − 1 ] ) (n^{[l]},n^{[l-1]}) (n[l],n[l1]) ( n [ l ] , 1 ) (n^{[l]},1) (n[l],1) ( n [ l ] , 1 ) (n^{[l]},1) (n[l],1) ( n [ l ] , 1 ) (n^{[l]},1) (n[l],1) ( n [ l ] , m ) (n^{[l]},m) (n[l],m) ( n [ l ] , m ) (n^{[l]},m) (n[l],m)

4.4 为什么使用深层表示

  • 前几层学习一些简单的特征,如边缘检测、音调变化,深层会将简单的特征组合起来变成特殊的特征。
  • 电路理论:
    • 例子:计算 x 1   X O R   x 2   X O R   . . .   X O R   x n x_1\text{ }XOR\text{ }x_2\text{ }XOR\text{ } ... \text{ }XOR \text{ } x_n x1 XOR x2 XOR ... XOR xn
      第四周:深层神经网络_第1张图片

4.5 搭建深层神经网络块

⚠️ 第 l l l层的设计第四周:深层神经网络_第2张图片

4.6 前向和反向传播

具体实现

前向传播

  • 目的:
    • Input a [ l − 1 ] a^{[l-1]} a[l1]
    • Output a [ l ] a^{[l]} a[l],cache ( z [ l ] ) (z^{[l]}) (z[l])
  • 公式:
    Z [ l ] = W [ l ] A [ l − 1 ] + b [ l ] Z^{[l]}=W^{[l]}A^{[l-1]}+b^{[l]} Z[l]=W[l]A[l1]+b[l]
    A [ l ] = g [ l ] ( Z [ l ] ) A^{[l]}=g^{[l]}(Z^{[l]}) A[l]=g[l](Z[l])

反向传播

  • 目的:
    • Input d a [ l ] da^{[l]} da[l]
    • Output d a [ l − 1 ] , d W [ l ] , d b [ l ] da^{[l-1]},dW^{[l]},db^{[l]} da[l1],dW[l],db[l],cache ( z [ l ] ) (z^{[l]}) (z[l])
  • 公式:
    单个样本:
    d z [ l ] = d a [ l ] ∗ g [ l ] ( z [ l ] ) dz^{[l]}=da^{[l]}*g^{[l]}(z^{[l]}) dz[l]=da[l]g[l](z[l])
    d w [ l ] = d z [ l ] a [ l − 1 ] , T dw^{[l]}=dz^{[l]}a^{[l-1],T} dw[l]=dz[l]a[l1],T
    d b [ l ] = d z [ l ] db^{[l]}=dz^{[l]} db[l]=dz[l]
    d a [ l − 1 ] = w [ l ] , T d z [ l ] da^{[l-1]}=w^{[l],T}dz^{[l]} da[l1]=w[l],Tdz[l]y
    多个样本:
    d Z [ l ] = d A [ l ] ∗ g [ l ] ( Z [ l ] ) dZ^{[l]}=dA^{[l]}*g^{[l]}(Z^{[l]}) dZ[l]=dA[l]g[l](Z[l])
    d W [ l ] = d Z [ l ] A [ l − 1 ] , T dW^{[l]}=dZ^{[l]}A^{[l-1],T} dW[l]=dZ[l]A[l1],T
    d b [ l ] = 1 m n p . s u m ( d Z [ l ] , a x i s = 1 , k e e p d i m s = T r u e ) db^{[l]}=\frac{1}{m}np.sum(dZ^{[l]},axis=1,keepdims=True) db[l]=m1np.sum(dZ[l],axis=1,keepdims=True)
    d a [ l − 1 ] = w [ l ] , T d z [ l ] da^{[l-1]}=w^{[l],T}dz^{[l]} da[l1]=w[l],Tdz[l]

4.7 参数 & 超参数

⚠️ 参数

W [ 1 ] , b [ 1 ] , W [ 2 ] , b [ 2 ] … … W^{[1]},b^{[1]},W^{[2]},b^{[2]}…… W[1],b[1],W[2],b[2]

⚠️ 超参数

  • 学习率: α \alpha α
  • 循环次数
  • 隐层数量: L L L
  • 每个隐层的神经元数量(Hidden Unit): n [ 1 ] , n [ 2 ] … … n^{[1]},n^{[2]}…… n[1],n[2]
  • 不同的激活函数

其他:

  • 超参数可能会随着时间变化而变化,因为电脑的型号会变动。

你可能感兴趣的:(Ng))