3

如果我想为函数提供自定义或已知渐变,我该如何在ad库中做到这一点?(我不想通过这个函数自动区分。)我在这个库中使用grad函数。

如果库不提供此功能,是否有某种方法可以让我自己轻松实现此功能,也许是通过更改叶节点的定义ad或编辑可能带有数值梯度的对偶数?

这是我的意思的一个具体例子:

假设我有一些函数我想采用梯度,比如说f(x, y) = x^2 + 3 * g(x, y)^2. 然后说这g(x, y)是一个定义很复杂的函数,但是我已经解析计算了它的梯度并且非常简单。因此,当我grad f在某个点进行评估时(x, y),我只想插入我的自定义渐变g,而不是通过它进行自动差异:类似于my_nice_grad_of_g (x, y).

我看到其他 autodiff 库确实提供了这个功能,例如StanTensorflow都允许用户定义函数的梯度。

4

0 回答 0