L1 深度学习概论

4 深层神经网络

课程时长共64min31s

4.1 深层神经网络

什么是深层神经网络?

image-20220727200911632

对于如下一个四层神经网络

  • L表示神经网络层数
  • 使用n[1]表示第一层的单元数量
    • n[4]=n[L]=1
    • n[0]=nx=3
  • a[l]第l层的激活值
  • a[l]=g[l](z[l]) 第l层的激活函数
4.2 深层网络中的前向传播

对于单个输入的正向传播计算公式:
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]}) z[l]=W[l]a[l1]+b[l]a[l]=g[l](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]}) Z[l]=W[l]A[l1]+b[l]A[l]=g[l](Z[l])

  • 此处需要使用for循环,没有其他更好的方法
4.3 核对矩阵的维数

对于单个输入,以下参数的维度:
z[l],a[l],dz[l],da[l]:(n[l],1)W[l],dW[l]:(n[l],n[l−1])b[l],db[l]:(n[l],1) z^{[l]},a^{[l]},dz^{[l]},da^{[l]}:(n^{[l]}, 1)\\ W^{[l]}, dW^{[l]}:(n^{[l]}, n^{[l-1]})\\ b^{[l]},db^{[l]}:(n^{[l]}, 1) z[l],a[l]dz[l],da[l]:(n[l],1)W[l],dW[l]:(n[l],n[l1])b[l],db[l]:(n[l],1)
对于m个输入,以下参数的维度:
Z[l],A[l],dZ[l],dA[l]:(n[l],m)W[l],dW[l]:(n[l],n[l−1])b[l],db[l]:(n[l],m) Z^{[l]},A^{[l]},dZ^{[l]},dA^{[l]}:(n^{[l]}, m)\\ W^{[l]}, dW^{[l]}:(n^{[l]}, n^{[l-1]})\\ b^{[l]},db^{[l]}:(n^{[l]}, m) Z[l],A[l],dZ[l],dA[l]:(n[l],m)W[l],dW[l]:(n[l],n[l1])b[l],db[l]:(n[l],m)

  • 在Python中Numpy使用广播机制,因此以下维度情况也可行:b[l],db[l]:(n[l],m)b^{[l]},db^{[l]}:(n^{[l]}, m)b[l],db[l]:(n[l],m)
4.4 为什么使用深层表示

先学习简单特征,深层结合特征,探测更加复杂的东西

另一个,电路理论的解释

  • 浅层需要使用更多门
4.6 搭建深层神经网络块

正向传播过程:

image-20220728090946826

  • 通过输入x得到y^\hat{y}y^

反向传播过程:

image-20220728091138845

更新W[l],b[l]W^{[l]},b^{[l]}W[l],b[l]

image-20220728091311554

4.7 前向和反向传播

对于第lll层:

  • 正向传播

    • 输入a[l−1]a^{[l-1]}a[l1]

    • 输出a[l],cache(z[l],w[l],b[l])a^{[l]},cache(z^{[l]},w^{[l]},b^{[l]})a[l],cache(z[l],w[l],b[l])

    • 首个输入数据a[0]=xa^{[0]}=xa[0]=x

  • 反向传播

    • 输入da[l],z[l]da^{[l]},z^{[l]}da[l],z[l]

    • 输出da[l−a],dW[l],db[l]da^{[l-a]},dW^{[l]},db^{[l]}da[la],dW[l],db[l]

    • 首个输入数据da[L]=−ya[L]+1−y1−a[L]da^{[L]}=-\frac {y}{a^{[L]}}+\frac{1-y}{1-a^{[L]}}da[L]=a[L]y+1a[L]1y

    • 向量化首个输入数据dA[L]=∑i=1m(−y(i)a[L](i)+1−y(i)1−a[L](i))dA^{[L]}=\sum_{i=1}^m(-\frac {y^{(i)}}{a^{[L](i)}}+\frac{1-y^{(i)}}{1-a^{[L](i)}})dA[L]=i=1m(a[L](i)y(i)+1a[L](i)1y(i))

      • 为什么是累加?
4.8 参数 VS 超参数

参数 parameter

  • W[1],W[2],…W^{[1]},W^{[2]},\dotsW[1],W[2],
  • b[1],b[2],…b^{[1]},b^{[2]},\dotsb[1],b[2],

超参数 hyper parameter

  • 学习率α
  • 梯度下降法循环数量iteration
  • 隐藏层数量L
  • 隐藏单元数量n[1],n[2],…n^{[1]},n^{[2]},\dotsn[1],n[2],
  • 激活函数的选择g[l](z[l])g^{[l]}(z^{[l]})g[l](z[l])
  • momentum
  • mini batch大小
  • 不同的正则化参数
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐