rime.util.dual_bisect.grad_u

rime.util.dual_bisect.grad_u(s, alpha, eps)[source]

alpha - E_y[sigmoid(s_xy / eps)], where

sigmoid(c) - sigmoid(z) = 1 / (1+e^-c) - 1 / (1+e^-z)

= (e^-z - e^-c) / (1+e^-c) / (1+e^-z) = (1 - e^(z-c)) / (1+e^-c) / (1+e^z)

assume 0 <= alpha <= 1 and |z| < inf