Skip to content

matthjs/xai-gp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

121 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XAI-GP: Explainable AI with Gaussian Processes

A simple implementation of probabilistic machine learning models with uncertainty quantification, focusing on Gaussian Processes and Deep Ensembles. This project addresses the shortcomings of prior work by providing a detailed comparison of the models with respect to calibration, model performance, and robustness under distributional shifts.

The associated paper is available on arXiv.

Usage

This project uses Hydra for configuration management. To run the code (from the xai-gp directory):

python main.py model=model_config.yaml data=data_config.yaml

Available Models

  • DeepGPModel: Deep Gaussian Process
  • DSPPModel: Deep Sigma Point Processes
  • DeepEnsembleRegressor: Deep Ensemble for regression
  • DeepEnsembleClassifier: Deep Ensemble for classification

Available Datasets

  • CASP: Protein regression dataset
  • ESR: Seizure classification dataset

We provide optimized hyperparameters for the models inside the conf/models directory.

Getting Started

Prerequisites

Running

You can also set up a virtual environment using Poetry. Poetry can be installed using pip:

pip install poetry

Then initiate the virtual environment with the required dependencies (see poetry.lock, pyproject.toml):

poetry config virtualenvs.in-project true    # ensures virtual environment is in project
poetry install

The virtual environment can be accessed from the shell using:

poetry shell

IDEs like Pycharm will be able to detect the interpreter of this virtual environment.

Reproducibility

We save the weights of our optimized model inside the results/weights directory.

Credits

We utilize code from mvaldenegro to determine the calibration of our models. Additionally, the implementation of our DeepGP models is based on this example from the GPytorch Documentation.

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

About

A simple implementation of probabilistic machine learning models with uncertainty quantification, focusing on Gaussian Processes and Deep Ensembles.

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages