[Python] What is the analytic interpretation for a TensorFlow custom gradient?

Discussão em 'Python' iniciado por Stack, Maio 30, 2025.

  1. Stack

    Stack Membro Participativo

    In the official tf.custom_gradient documentation, it shows how to define custom gradients for log(1 + exp(x)):

    @tf.custom_gradient
    def log1pexp(x):
    e = tf.exp(x)
    def grad(dy):
    return dy * (1 - 1 / (1 + e))
    return tf.math.log(1 + e), grad


    When y = log(1 + exp(x)), analytically the derivative comes out to be dy/dx = (1 - 1 / (1 + exp(x))).

    However, in the code, def grad says its dy * (1 - 1 / (1 + exp(x))). dy/dx = dy * (1 - 1 / (1 + exp(x))) is not a valid equation. While dx = dy * (1 - 1 / (1 + exp(x))) is wrong as it should be the reciprocal.

    What does the grad function equate to?

    Continue reading...

Compartilhe esta Página