吴恩达深度学习笔记(25)-如何搭建神经网络模块?如何运算?

本文介绍了深度学习中神经网络模块的构建,包括正向传播和反向传播的步骤。通过实例解释了如何使用权重W和偏置b计算激活函数,并缓存中间结果z,以便于反向传播时计算梯度。在反向传播过程中,利用输入的导数da([l])计算前一层的导数da([l-1]),以及更新权重dW([l])和db([l])。整个过程涵盖了神经网络的基本运算和梯度计算,是理解深度学习网络实现的关键。

搭建神经网络块(Building blocks of deep neural networks)
你已经看到过正向反向传播的基础组成部分了,它们也是深度神经网络的重要组成部分,现在我们来用它们建一个深度神经网络。

图片描述(最多50字)
这是一个层数较少的神经网络,我们选择其中一层(方框部分),从这一层的计算着手。

在第l层你有参数W([l])和b([l]),正向传播里有输入的激活函数,输入是前一层a([l-1]),输出是a([l]),

我们之前讲过

z([l])=W([l]) a([l-1])+b([l]),

a([l])=g([l]) (z^([l])),

那么这就是你如何从输入a([l-1])走到输出的a([l])。

之后你就可以把z([l])的值缓存起来,我在这里也会把这包括在缓存中,因为缓存的z([i])对以后的正向反向传播的步骤非常有用(就是在反向传播中会再次使用这个值)。

然后是反向步骤或者说反向传播步骤,同样也是第l层的计算,你会需要实现一个函数输入为da([l]),输出da([l-1])的函数。

一个小细节需要注意,输入在这里其实是da([l])以及所缓存的z([l])值,之前计算好的z([l])值,除了输出da([l-1])的值以外,也需要输出你需要的梯度dW([l])和db([l]),这是为了实现梯度下降学习。

这就是基本的正向步骤的结构,我把它成为称为正向函数,类似的在反向步骤中会称为反向函数。

总结起来就是,在l层,你会有正向函数,输入a([l-1])并且输出a([l]),为了计算结果你需要用W

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值