吴恩达深度学习第一课第四周(深层神经网络)

打卡(1)

4.1 深层神经网络

吴恩达深度学习第一课第四周(深层神经网络)
* 符号约定:输入层X=a[0],y^=a[L]

打卡(2)

4.2 深层网络中前向传播

吴恩达深度学习第一课第四周(深层神经网络)
单个样本:
X=a[0]
Z[1]=W[1]a[0]+b[1]
a[1]=g[1](Z[1]) 第一层
Z[2]=W[2]a[1]+b[2]
a[2]=g[2]Z[2] 第二层
…..
Z[4]=W[4]a[3]+b[4]
a[4]=g[4]Z[4]=y^

Z[l]=W[l]a[l1]+b[l]
a[l]=g[l]Z[l]
所有样本:
Z[1]=W[1]A[0]+b[1]
A[1]=g[1](Z[1]) 第一层
Z[2]=W[2]A[1]+b[2]
A[2]=g[2]Z[2] 第二层
…….

4.3 核对矩阵的维数

假定:输入层的维度为n[0],隐藏层第一层为n[1],第二层n[2],…..。
则:
第一层的权重W[1]:(n[1],n[0]),b[1]:(n1,1)
第二层的权重W[1]:(n[2],n[1]),b[2]:(n2,1)
…..
W[l]:(n[l],n[l1])
b[l]:(nl,1)
同样反向传播时:
dW[l]W[l]:(n[l],n[l1])
db[l]b[l]:(n[l],n[l1])
吴恩达深度学习第一课第四周(深层神经网络)

单个样本的计算:
Z[1]=W[1]X+b[1]
其中,Z[1]的维度是n[1],1W[1]的维度是n[1],n[0])X的维度是n[0],1)b[1]的维度是n[1],1;
对于整个训练集(m个样本):
Z[1]的维度为n[1],mW[1]的维度是(n[1],n[0])X的维度是(n[0],m)b[1]的维度是(n[1],m).

  • Z[l]a[l]:n[l],1
  • Z[l]A[l]: (n[l],m)
  • l=0时,A[0]=X=(n[0],m)
  • dz[l]dA[l]n[l],m

4.4 为什么使用深层表示

深度神经网络并不需要很大的神经网络,但是得有深度,得有比较多的隐藏层

4.5 搭建深层神经网络块

吴恩达深度学习第一课第四周(深层神经网络)
编程过程中需要将Z[l]W[l]b[l]缓存,在反向传播时可直接使用,节省时间
吴恩达深度学习第一课第四周(深层神经网络)

4.6 前向和反向传播

前向传播:
吴恩达深度学习第一课第四周(深层神经网络)
后向传播
L=f(y^,y)y^=a[l]
"da[l]"=dLda[l]
"dZ[l]"=dadZ="da[l]"g[l](Z[l])
"dW[l]"="dZ"dZdW[l]="dZ[l]"a[l1]
"db[l]"="dZ"dZdb[l]="dZ[l]"
"da[l1]"="dZ"dZda[l1]=W[l]T"dZ[l]"
"dal1"W[l]需要转置,因为"da[l1]"维度为(n[l1],1)W[l]维度为n[l],n[l1])"dZ[l]"维度为(n[l],1)
吴恩达深度学习第一课第四周(深层神经网络)
吴恩达深度学习第一课第四周(深层神经网络)

4.7 参数和超参数

  • 超参数在某种程度上决定了参数
    吴恩达深度学习第一课第四周(深层神经网络)