I am wondering what is the state of things for fixing gradients are kinks, or if there is no hope for general automatic differentiation libraries.
import jax.numpy as np
from jax import grad, jit, vmap
from jax import random
def relu(x):
return np.where(x>0, x, np.zeros_like(x))
def identity(x):
return relu(x) - relu(-x)
derivative_identity = grad(identity)
derivative_identity(0.0)
returns 1.0 or 0.0? It currently returns 0.0. (Edit: typo in sign)