自动微分与其他流行的人工神经网络架构解析
自动微分(Autodiff)
在许多优化算法,如梯度下降中,我们常常需要计算函数的偏导数。假设定义函数 $f(x, y) = x^2y + y + 2$,我们需要计算它关于 $x$ 和 $y$ 的偏导数 $\frac{\partial f}{\partial x}$ 和 $\frac{\partial f}{\partial y}$。主要有以下几种计算偏导数的方法。
手动微分(Manual Differentiation)
手动微分是指拿起笔和纸,运用微积分知识推导出相应的方程。对于函数 $f(x, y)$,我们可以使用以下五条规则:
1. 常数的导数为 0。
2. $\lambda x$ 的导数为 $\lambda$($\lambda$ 为常数)。
3. $x^\lambda$ 的导数为 $\lambda x^{\lambda - 1}$,所以 $x^2$ 的导数为 $2x$。
4. 函数和的导数等于这些函数导数的和。
5. $\lambda$ 乘以一个函数的导数等于 $\lambda$ 乘以该函数的导数。
通过这些规则,我们可以推导出 $f(x, y)$ 的偏导数。然而,对于更复杂的函数,这种方法会变得非常繁琐,而且容易出错。
有限差分近似(Finite Difference Approximation)
函数 $h(x)$ 在点 $x_0$ 处的导数 $h’(x_0)$ 是该点处函数的斜率,更准确地说,导数定义为经过该点 $x_0$ 和函数上另一点 $x$ 的直线斜率的极限,当 $x$ 无限接近 $x_0$ 时。 <
超级会员免费看
订阅专栏 解锁全文
9万+

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



