Мне нужно свести к минимуму потерю KL в tensorflow.
Я попробовал эту функцию tf.contrib.distributions.kl(dist_a, dist_b, allow_nan=False, name=None)
, но у меня не получилось.
Я попытался реализовать это вручную:
def kl_divergence(p,q):
return p* tf.log(p/q)+(1-p)*tf.log((1-p)/(1-q))
Это правильно?