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

本文介绍了深度神经网络的基本概念,包括正向传播公式及其向量化实现,权重矩阵维度的设计原则,以及为何选择深层网络的原因。此外,还探讨了反向传播过程,并解释了参数与超参数的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的最终结果换句话说,超参数即是决定参数的参数





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值