Skip to content

Crunch-UQ4MI/neuraluq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeuralUQ

Scientific machine learning (SciML) has emerged recently as an effective and powerful tool for data fusion, solving ordinary/partial differential equations (ODEs, PDEs), and learning operator mappings in various scientific and engineering disciplines. Physics-informed neural networks (PINNs) and deep operator networks (DeepONets) are two such models for solving ODEs/PDEs and learning operator mappings, respectively. Quantifying predictive uncertainties is crucial for risk-sensitive applications as well as for efficient and economical design. NeuralUQ is a Python library for uncertainty quantification in various SciML algorithms. In NeuralUQ, each UQ method is decomposed into a surrogate and an inference method for posterior estimation. NeuralUQ has included various surrogates and inference methods, i.e.,

  • Surrogates
    • Bayesian Neural Networks (BNNs)
    • Deterministic Neural Networks, e.g., fully-connected neural networks (FNNs)
    • Deep Generative Models, e.g., Generative Adversarial Nets (GANs)
  • Inference Methods
    • Sampling methods
      • Hamiltonian Monte Carlo (HMC)
      • Langevin Dynamics (LD)
      • No-U-Turn (NUTS)
      • Metropolis-adjusted Langevin algorithm (MALA)
    • Variational Methods
      • Mean-field Variational Inference (MFVI)
      • Monte Carlo Dropout (MCD)
    • Ensemble Methods
      • Deep ensembles (DEns)
      • Snapshot ensemble (SEns)
      • Laplace approximation (LA)

Users can refer to this paper for the design and description, as well as the examples, of the NeuralUQ library:

Users can refer to the following papers for more details on the algorithms:

Installation

NeuralUQ requires the following dependencies to be installed:

  • Python 3.7.0
  • Tensorflow 2.9.1
  • TensorFlow Probability 0.17.0

Then install with python:

$ python setup.py install

For developers, you could clone the folder to your local machine via

$ git clone https://github.com/Crunch-UQ4MI/neuraluq.git

Explore more

NeuralUQ for uncertainty quantification in general neural differential equations and operators:

NeuralUQ for physical model misspecification and uncertainty:

NeuralUQ for Biomechanical constitutive models with experimental data (inferring model parameters from known model and data; inferring functions from pre-trained GAN and data):

Extensions of NeuralUQ:

Cite NeuralUQ

@article{zou2024neuraluq,
  title={NeuralUQ: A Comprehensive Library for Uncertainty Quantification in Neural Differential Equations and Operators},
  author={Zou, Zongren and Meng, Xuhui and Psaros, Apostolos F and Karniadakis, George E},
  journal={SIAM Review},
  volume={66},
  number={1},
  pages={161--190},
  year={2024},
  publisher={SIAM}
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages