24、神经网络:原理、应用与编程实现

神经网络:原理、应用与编程实现

1. 隐藏层梯度计算

对于索引为 $l$ 的隐藏层,损失函数关于隐藏层输入 $z^{(l)}$ 的梯度 $\nabla_{z^{(l)}}Loss(\hat{y}, y)$ 可以通过以下公式计算:
[
\begin{align }
\nabla_{z^{(l)}}Loss(\hat{y}, y) &= \nabla_{z^{(l)}}Loss(f^{(L)}(W^{(L)} \cdots f^{(l + 2)}(W^{(l + 2)}f^{(l + 1)}(W^{(l + 1)}z^{(l)})) \cdots), y)\
&= \nabla_{a^{(L)}}Loss(a^{(L)}, y) \odot f^{(L)’}(z^{(L)})f^{(L - 1)’}(z^{(L - 1)})^{\intercal} \odot W^{(L)} \cdots f^{(l)’}(z^{(l)})^{\intercal} \odot W^{(l + 1)}\
&= \nabla_{z^{(l + 1)}}Loss(\hat{y}, y)f^{(l)’}(z^{(l)})^{\intercal} \odot W^{(l + 1)}
\end{align
}
]
这个公式表明可以从输出层递归地计算并反向传播关于隐藏层值的梯度,直到到达输入层。$\nabla_{z^{(l)}}Loss(\hat{y}, y)$ 有时也用 $\delta^{(l)}$ 表示。

以图 8.5 为例,使用两个线性激活函数 $f^{(1)}$ 和 $f^{(2)}$ 代替 ReLU

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值