神经网络中的链式法则与反向传播算法详解
1. 链式法则基础
在数学中,当我们有复合函数 (h = f ∘ g) 时,其导数可以通过链式法则来计算。导数公式为 (h’ = (f’ ∘ g)g’)。换一种表达方式,如果 (z = f(y)) 且 (y = g(x)),那么 (z = f ∘ g(x)),其导数可以用莱布尼茨记号表示为:
(\frac{\partial z}{\partial x}=\frac{\partial z}{\partial y}\cdot\frac{\partial y}{\partial x})
在之前的例子中,我们主要处理的是单变量函数。但在神经网络中,我们通常会遇到多变量函数。例如,假设有函数 (g(x_1, x_2)) 和 (f(x_3, x_4)),且 (g) 的输出作为 (f) 的第二个参数,那么复合函数为:
(h(x_1,x_2,x_3) = f ∘ g = f(x_3,g(x_1,x_2)))
为了计算这个多元函数的偏导数,我们需要将其他变量视为常数。对于函数 (h),在计算关于 (x_1) 和 (x_2) 的偏导数时,需要使用链式法则;而在计算关于 (x_3) 的偏导数时,将 (g) 视为常数,只考虑 (f) 的导数。
2. 利用反向传播计算梯度
2.1 简单多层网络介绍
现在我们来探讨如何将梯度下降应用到多层网络中。为了简化问题,我们考虑一个每层只有一个神经元的简单多层网络,如图所示,该网络的第一层神经元有两个输入。
我们将两个神经元分别命名为 (G) 和 (F),其中 (G) 有三个可调节权重,(F) 有两个可调节权重,总共有五个可调节权重。我们希望
超级会员免费看
订阅专栏 解锁全文
93

被折叠的 条评论
为什么被折叠?



