enn  by google-deepmind

Library for neural networks that quantify uncertainty

Created 4 years ago
312 stars

Top 86.3% on SourcePulse

GitHubView on GitHub
Project Summary

Epistemic Neural Networks (ENN) is a library for building neural networks that can quantify their own uncertainty. It provides a framework for modeling uncertainty in deep learning, allowing models to distinguish between genuine ambiguity in data and uncertainty due to insufficient training. The library is targeted at researchers and practitioners in deep learning who need robust uncertainty estimation.

How It Works

ENN is built on JAX and Haiku, offering a lightweight interface for Epistemic Neural Networks. The core concept is the EpistemicNetwork, which pairs a Haiku-transformed network with an index sampler. This allows for joint predictions over multiple inputs, controlled by an epistemic index z. The library provides interfaces for applying the network, initializing parameters, sampling indices, and defining loss functions, enabling the construction and training of various ENN architectures, including those not easily expressed as Bayesian Neural Networks.

Quick Start & Requirements

  • Install from GitHub: pip install git+https://github.com/deepmind/enn
  • Tested on Python 3.7.
  • Recommended: Use a Python virtual environment.
  • Colab tutorial available for getting started without local installation.
  • Official documentation and examples can be found in the repository.

Highlighted Details

  • Implemented on JAX and Haiku for efficient computation.
  • Provides a general interface for uncertainty estimation, encompassing existing methods like Bayesian Neural Networks.
  • Introduces "Epinet," a novel architecture that supplements conventional neural networks to estimate uncertainty by conditioning on internal network activations.
  • Includes a Colab notebook demonstrating Epinet on ImageNet with a pre-trained model.

Maintenance & Community

The project is from Google DeepMind. Further community or maintenance details are not explicitly provided in the README.

Licensing & Compatibility

The repository does not explicitly state a license in the provided README. Users should verify licensing for commercial or closed-source use.

Limitations & Caveats

The library is tested on Python 3.7, and compatibility with newer Python versions is not guaranteed. The README does not detail specific limitations or known issues with the ENN architectures or the library's implementation.

Health Check
Last Commit

6 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Alex Atallah Alex Atallah(Cofounder of OpenRouter), and
8 more.

cleanlab by cleanlab

0.2%
11k
Data-centric AI package for ML with messy data
Created 7 years ago
Updated 1 week ago
Feedback? Help us improve.