[ANN] NeuralEstimators.jl: Efficient simulation-based inference (SBI) using neural networks

NeuralEstimators.jl uses neural networks for fast simulation-based inference (SBI) for any model for which simulation is feasible. It supports:

  • Neural posterior estimation (NPE): directly learn the posterior distribution
  • Neural ratio estimation (NRE): approximate likelihood ratios for flexible frequentist or Bayesian inference
  • Neural Bayes estimation (NBE): efficiently estimate posterior functionals (e.g., point summaries)

These methods are likelihood-free (do not require the evaluation of the likelihood function) and they are amortized: once the neural networks are trained on simulated data, they enable rapid inference across arbitrarily many observed data sets orders of magnitude faster than conventional approaches like MCMC.

The package supports the use of both Flux.jl and Lux.jl.

Happy to hear any feedback! If you’d like to contribute, please see here. If you’d like to show support, please consider starring the repo.

Very cool work! Thanks for sharing and offering such a polished and easy-to-use package.

Nice work! :tada: As a small suggestion, consider replacing SpecialFunctions.jl by a native Julia implementation if you can. See Gamma.jl, Bessels.jl and similar packages.

Thanks for the feedback! SpecialFunctions.jl is actually a dependency for a deprecated function that I’ve been planning to remove for a while. I just pulled the trigger and removed it (and the dependency on SpecialFunctions.jl).