Crunch-UQ4MI / neuraluq

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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


Languages

Language:Python 100.0%