Deep Learning Specialization课程笔记——深层神经网络

Forward Propagation in a Deep Network

对第l层来说:

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

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

这个地方是可以对1...l...n层做一个for loop。


Getting your matrix dimensions right

W^[l]的维度为(n^[l],n^[l-1]),b^[l]的维度为(n^[l],1)

dW的维度和W一致,db的维度和b一致。

Z^[l]的维度是(n^[l],m),A^[l]的维度是(n^[l-1],m)


Why deep?


在面部识别的这个例子中,第一层是边缘检测,之后是面部不同部位,最后到不同的面部。这是一个卷积神经网络的例子。


Building blocks of deep neural networks

对深度神经网络的第l层进行讨论:

其中,cache Z^[l]是因为,把Z^[l]的值存起来对反向传播很有用。


在前向的每一层中,都保存了Z^[l]的值,最终得到a^[n]即yhat的值,在计算出da^[n]后,不断后向传播,得到每一层的dW和db(这时使用了每一层缓存下来的Z^[l]),用它们的值来更新每一层的W和b(W:=W-alpha*dW  b:=b-alpha*db)

Forward and Backward Propagation

就是浅层神经网络的l层扩展版本,非常好理解。前向的向量化在这篇文章的第一小节,这里贴一下后向的向量化:


前向传播时用输入数据X来初始化,那么反向传播呢?

答案是,我们令da^[n]=-y/a+(1-y)/(1-a),这是损失函数对yhat(即a^[n])的求导。

在向量化之后,dA^[l]的结果变为了dA^[l]=sum(-y/a+(1-y)/(1-a))在m个样本上的求和。


Parameters and Hyperparameters

在神经网络中,常见的参数是W和b,那么什么是超参数呢?

超参数包括学习率alpha,迭代次数,隐藏层层数,隐藏单元数,激活函数的选择(使用ReLU,tanh还是sigmoid),这些称为超参数,因为这些参数都会影响W和b的最终结果换句话说,超参数即是决定参数的参数





猜你喜欢

转载自blog.csdn.net/weixin_37805505/article/details/79772647
今日推荐