Почему я получаю NaN при расчете KL-расхождения между двумя категориями OneHotCategorical? - PullRequest
1 голос
/ 14 января 2020

Я пытаюсь вычислить 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

1 Ответ

0 голосов
/ 29 января 2020

Можете ли вы сообщить об этом http://github.com/tensorflow/probability? Мы отслеживаем там проблемы.

...