2

我正在尝试为卷积神经网络实现随机对角线 Levenberg-Marquardt 方法,以便反向传播学习权重。我是新手,很困惑,所以我有几个问题,希望你能帮助我。

1)如何从两个输出计算输出层的二阶导数。由于我在一阶导数中,我必须从所需的输出中减去输出并将其与输出的导数相乘。但是在二阶导数中我该怎么做?

2)在卷积神经网络的 MaxPooling 层中,我在 2x2 窗口中选择最大值,并将其乘以权重,现在我是否必须通过激活函数?

有人可以给我解释如何在opencv中做到这一点,或者如何用数学解释或任何显示数学的参考资料。提前致谢。

4

1 回答 1

2

如果您已经计算了雅可比矩阵(偏一阶导数的矩阵),那么您可以通过乘以J^T*J(如果残差很小)来获得Hessian的近似值(偏二阶导数的矩阵)。

您可以通过以下方式从两个输出计算二阶导数:yf(X)Jacobian

在此处输入图像描述

换句话说,选择 Hessian 近似B以满足:

在此处输入图像描述

在本文中,您可以找到更多关于它的信息。 Ananth Ranganathan:Levenberg-Marquardt 算法

于 2014-03-29T11:44:44.930 回答