Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 如何计算神经网络输出层的二阶导数?_Opencv_Neural Network_Mathematical Optimization_Conv Neural Network_Hessian Matrix - Fatal编程技术网

Opencv 如何计算神经网络输出层的二阶导数?

Opencv 如何计算神经网络输出层的二阶导数?,opencv,neural-network,mathematical-optimization,conv-neural-network,hessian-matrix,Opencv,Neural Network,Mathematical Optimization,Conv Neural Network,Hessian Matrix,我试图实现卷积神经网络的随机对角Levenberg-Marquardt方法,以便反向传播学习权重。 我是新来的,对它很困惑,所以我有几个问题,希望你能帮助我 1) 如何从两个输出计算输出层的二阶导数。 当我在一阶导数中,我必须从期望的输出中减去输出,然后和输出的导数相乘。 但在二阶导数中,我怎么能做到呢 2) 在卷积神经网络的MaxPooling层,我在2x2窗口中选择最大值,并将其乘以权重,现在我是否必须通过激活函数传递它 有人能给我解释一下如何在opencv中实现它,或者如何用数学解释或任何

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

1) 如何从两个输出计算输出层的二阶导数。 当我在一阶导数中,我必须从期望的输出中减去输出,然后和输出的导数相乘。 但在二阶导数中,我怎么能做到呢

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

有人能给我解释一下如何在opencv中实现它,或者如何用数学解释或任何显示数学的参考资料。 提前谢谢

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

您可以通过两个输出计算二阶导数:yf(X)和雅可比矩阵,方法如下:

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

在本文中,您可以找到更多关于它的信息。

这与math.stackexchange.com更相关。您能解释一下您的函数、数据、变量是什么,您想计算什么样的导数(与哪个变量有关)?那我可以帮你。抱歉迟到了。。。谢谢你的回复。你是说一阶导数叫做Jacabion矩阵吗?如果是的话,我会的。我在输出层使用sigmoidal函数。你的意思是Hessian是转置乘以原始矩阵。(我的输出是2x1 Mat。[0,1]或[1,0],所以你的意思是2x1是我的Hessian矩阵)@khan是的,雅可比矩阵是一阶偏导数的矩阵,是二阶偏导数的矩阵。这些矩阵是平方的。在第2320页等式(27)中,这与我所问的相同吗?我是否应该按照以下步骤寻找二阶导数:1)Hessian矩阵=J^T*J,其中J是输出相对于输入的一阶偏导数。这将给我等式的最后一部分。我说得对吗?提前谢谢,因为我现在很困惑。非常感谢,你真好。我现在得试试……:)@如果我愿意,您还可以将“@theNameOfUser”添加到ping名为theNameOfUser的用户