Bayesian Deep Learning

Bayesian Deep Learning#

The Bayesian module provides methods for approximate Bayesian inference in neural networks, enabling uncertainty decomposition into epistemic and aleatoric components.

Methods#

BaseBayesianMethod(*args, **kwargs)

Abstract base class for Bayesian deep learning methods.

MCDropout(model[, num_samples, dropout_rate])

Monte Carlo Dropout for uncertainty estimation.

DeepEnsemble(model_fn[, num_models])

Deep Ensembles for uncertainty quantification.

SWAG(model[, num_samples, var_clamp])

Stochastic Weight Averaging - Gaussian (SWAG).

LaplaceApproximation(model[, likelihood, ...])

Laplace Approximation for Bayesian Neural Networks.

VariationalBayesNN(in_features, ...[, ...])

Variational Bayesian Neural Network (Bayes by Backprop).

GaussianLinear(in_features, out_features[, ...])

Linear layer with Gaussian weights for variational inference.

Metrics#

ensemble_diversity(predictions[, metric])

Measure diversity among ensemble members.

uncertainty_quality(uncertainties, errors)

Evaluate quality of uncertainty estimates.

disagreement(predictions[, method])

Compute disagreement score for each sample.

negative_log_likelihood(predictions, labels)

Compute negative log-likelihood of predictions.

brier_score(predictions, labels)

Compute Brier score for probabilistic predictions.

predictive_log_likelihood(predictions, labels)

Compute predictive log-likelihood (averaged over ensemble).

sharpness(predictions)

Compute sharpness of probabilistic predictions.

Utilities#

predictive_entropy(predictions)

Compute predictive entropy for batched Bayesian predictions (total uncertainty).

mutual_information(predictions)

Compute mutual information (epistemic uncertainty).

expected_calibration_error(predictions, labels)

Compute Expected Calibration Error for Bayesian predictions.

decompose_uncertainty(predictions)

Decompose predictive uncertainty into epistemic and aleatoric components.

compute_disagreement(predictions)

Compute disagreement among ensemble members.

sample_from_posterior(mean, variance[, ...])

Sample from a Gaussian posterior.

ensemble_predictions_to_distribution(predictions)

Convert ensemble predictions to mean and variance.