Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
如何计算TensorFlow中的次梯度?_Tensorflow_Tensorflow Gradient - Fatal编程技术网

如何计算TensorFlow中的次梯度?

如何计算TensorFlow中的次梯度?,tensorflow,tensorflow-gradient,Tensorflow,Tensorflow Gradient,TensorFlow中的自动微分过程是否在需要时计算次梯度?如果有许多次梯度,那么选择哪一个作为输出 我试图在link中实现这篇论文,它使用递归神经网络来执行有效的语言解析。目标函数采用铰链损失函数选取最优输出向量,使得函数不可微。我在急切模式下使用TensorFlow(v1.12)来编程模型,并使用自动微分来计算梯度。在每一批之后,我都能看到梯度值的变化,并且精度略有提高。一段时间后,它会减少,并且这个过程会继续。对于所有超参数配置,该模型根本不收敛 最小批量:256、512、1024;正则化

TensorFlow中的自动微分过程是否在需要时计算次梯度?如果有许多次梯度,那么选择哪一个作为输出

我试图在link中实现这篇论文,它使用递归神经网络来执行有效的语言解析。目标函数采用铰链损失函数选取最优输出向量,使得函数不可微。我在急切模式下使用TensorFlow(v1.12)来编程模型,并使用自动微分来计算梯度。在每一批之后,我都能看到梯度值的变化,并且精度略有提高。一段时间后,它会减少,并且这个过程会继续。对于所有超参数配置,该模型根本不收敛

最小批量:256、512、1024;正则化参数-0.1,0.01,0.001;学习率-0.1,0.01,0.001;优化函数-梯度下降,adagrad,adam


在这篇文章中,他们描述了如何以一种非常抽象的方式找到最优函数的次梯度,这我还没有理解。一开始我认为自动梯度计算可以计算次梯度。但现在,我开始怀疑这一点,因为这似乎是唯一缺少的变量

不幸的是,Tensorflow不计算次梯度,只计算梯度。 正如这里所解释的。 总之,当计算偏导数时,如果存在可微性问题,Tensorflow简单地将该导数设为零

对于训练模型有困难的情况,没有关于如何调整超参数的一般规则,因此,我建议对学习率(在几个时期)进行网格搜索,以找到一个良好的初始学习率,为其中一个优化算法提供良好的结果。通常,当选择正确的初始学习率时,具有动量的ADAM或SGD可以提供令人满意的结果