TensorFlow 中的自动微分过程是否会在需要时计算次梯度?如果有很多次梯度,那么将选择哪一个作为输出?
我正在尝试在链接https://www.aclweb.org/anthology/P13-1045中实现这篇论文,它使用递归神经网络来执行有效的语言解析。目标函数使用铰链损失函数来选择最佳输出向量,这使得函数不可微。我在渴望模式下使用 TensorFlow (v1.12) 对模型进行编程,并使用自动微分来计算梯度。每批后,我可以看到梯度值发生变化,并且精度略有提高。一段时间后,它会减少,这个过程会继续。对于所有超参数配置,该模型根本不收敛。
小批量:256、512、1024;正则化参数 - 0.1、0.01、0.001;学习率 - 0.1、0.01、0.001;优化函数——梯度下降、adagrad、adam;
在论文中,他们描述了如何以非常抽象的方式找到最优函数的次梯度,我还没有理解。一开始我的观点是自动梯度计算计算次梯度。但此刻,我开始怀疑,因为这似乎是唯一缺失的变量。