Для слоев tenorflow_probability, что является атрибутом «потери»? - PullRequest
0 голосов
/ 09 января 2019

Уровни вероятности TensorFlow (например, DenseFlipout ) имеют метод «потерь», который получает «потери, связанные с этим уровнем». Может кто-нибудь объяснить, что это за потери?

Редактировать: после просмотра бумаги Flipout я думаю, что потери относятся к расхождению Кульбака-Лейблера между предшествующим и задним распределением веса и отклонений. Если кто-то более осведомлен об этих вещах, чем я, пожалуйста, поправьте меня.

1 Ответ

0 голосов
/ 10 января 2019

спасибо за вопрос. Ваше подозрение верно, хотя и плохо документировано. См. Первый пример здесь , где потери суммируются для получения термина KL, а логарифмический термин правдоподобия вычисляется отдельно и объединяется для формирования ELBO.

Здесь вы видите добавляемую потерю здесь , которая, после нескольких косвенных указаний, показывает, что используется {kernel,bias}_divergence_fn, и что в свою очередь по умолчанию принимает значение lambda, которое вызывает tfd.kl_divergence(q, p).

Надеюсь, это поможет!

...