海森矩阵:计算方法与高效乘法技术
1. 海森矩阵的数值微分计算
在计算海森矩阵时,我们可以使用对称中心差分公式。通过这种方式,能够确保残差误差为 $O(\epsilon^2)$,而非 $O(\epsilon)$。由于海森矩阵中有 $W^2$ 个元素,且每个元素的计算需要四次前向传播,每次前向传播需要 $O(W)$ 次操作(每个模式),所以这种方法计算完整的海森矩阵需要 $O(W^3)$ 次操作。虽然该方法在实际应用中可用于检查反向传播方法的软件实现,但它的扩展性较差。
为了提高计算效率,我们可以对误差函数的一阶导数应用中心差分,而这些一阶导数本身是通过反向传播计算得到的。这就得到了如下公式:
$$\frac{\partial^2E}{\partial w_{ji}\partial w_{lk}} = \frac{1}{2\epsilon} \left[ \frac{\partial E}{\partial w_{ji}} (w_{lk} + \epsilon) - \frac{\partial E}{\partial w_{ji}} (w_{lk} - \epsilon) \right] + O(\epsilon^2)$$
此时,需要扰动的权重只有 $W$ 个,并且梯度可以在 $O(W)$ 步内计算出来,因此这种方法计算海森矩阵只需要 $O(W^2)$ 次操作。
1.1 计算复杂度对比
| 计算方法 | 操作次数 | 特点 |
|---|---|---|
| 对称中心差分公式 < |
超级会员免费看
订阅专栏 解锁全文
45

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



