probly.train.evidential.torch.dirichlet_entropy

probly.train.evidential.torch.dirichlet_entropy(alpha: Tensor) Tensor[source]

Dirichlet entropy for predictive uncertainty estimation.

Used in Information Robust Dirichlet Networks to encourage uncertainty on adversarial or out-of-distribution inputs by maximizing the entropy of the Dirichlet distribution.

Reference:

Tsiligkaridis, “Information Robust Dirichlet Networks for Predictive Uncertainty Estimation”, 2019. https://arxiv.org/abs/1910.04819

The entropy is given by:

H(alpha) = log B(alpha)
           + (alpha_0 - K) * psi(alpha_0)
           - sum_k (alpha_k - 1) * psi(alpha_k)
Parameters:

alpha – Dirichlet concentration parameters, shape (B_a, K), must be > 0.

Returns:

Scalar Dirichlet entropy summed over the batch.

Raises:

ValueError – If alpha contains non-positive values.