Я пытаюсь вычислить KL-расхождение между двумя распределениями OneHotCategorical с помощью следующего кода:
posterior = tfd.OneHotCategorical(probs=[0., 0., 0., 0., 0., 0., 0., 1.])
prior = tfd.OneHotCategorical(probs=[0., 0., 0., 0., 0., 0., 0., 1.])
и результата:
print(posterior.kl_divergence(prior))
tf.Tensor(nan, shape=(), dtype=float32)
Это ошибка или результат в розыске? Я проверил это немного, и ошибка относится к вычислению KL-дивергенции, где возникает проблема с 0. значениями (логарифм и деление). В этом случае KL-дивергенция должна быть установлена на 0,0, по моему мнению. С уважением Версия Tensorflow: 2.1.0-rc1 Версия вероятности Tensorflow: 0.8.0