incerto.calibration.evidential_loss#
- incerto.calibration.evidential_loss(evidence, targets, num_classes, epoch, num_epochs, kl_weight=1.0)[source]#
Evidential Deep Learning loss.
Learns Dirichlet distributions over class probabilities, enabling second-order uncertainty estimation.
Loss = MSE(p, y) + λ * KL[Dir(α_tilde) || Dir(1)]
where α = evidence + 1 (Dirichlet parameters) and λ is annealed from 0 to 1 over training.
- Reference:
Sensoy et al. “Evidential Deep Learning to Quantify Classification Uncertainty” (NeurIPS 2018)
- Parameters:
- Return type:
- Returns:
tuple of (total_loss, mse_loss, kl_loss)
Example
>>> evidence = F.softplus(model(x)) # Ensure non-negative >>> loss, mse, kl = evidential_loss(evidence, targets, 10, epoch, total_epochs)