One Explanation to Rule them All -- Ensemble Consistent Explanations
This repository contains the implementation of the methods proposed in the paper One Explanation to Rule them All -- Ensemble Consistent Explanations by André Artelt, Stelios Vrachimis, Demetrios Eliades, Marios Polycarpou and Barbara Hammer.
The implementation of the experiments as well as the implementation of the proposed ensemble consistent counterfactual explanations can be found in the folder Implementation.
Abstract
Transparency is a major requirement of modern AI based decision making systems deployed in real world. A popular approach for achieving transparency is by means of explanations. A wide variety of different explanations have been proposed for single decision making systems. In practice it is often the case to have a set (i.e. ensemble) of decisions that are used instead of a single decision only, in particular in complex systems. Unfortunately, explanation methods for single decision making systems are not easily applicable to ensembles -- i.e. they would yield an ensemble of individual explanations which are not necessarily consistent, hence less useful and more difficult to understand than a single consistent explanation of all observed phenomena. We propose a novel concept for consistently explaining an ensemble of decisions locally with a single explanation -- we introduce a formal concept, as well as a specific implementation using counterfactual explanations.
Details
Ensemble consistent counterfactual explanations
See ensemble_consistent_counterfactuals.py
.
Fault detection
See FaultDetection.py
and model.py
.
Experiments
See faulty_sensor_identifier.py
.
Data loader and generator
Loader for simulated data: FaultySensorData.py
and LeakySensorData.py
.
Generating the explanations (input to the fault localization method): generate_l-town-cfsignature_dataset_baseline.py
and generate_l-town-cfsignature_dataset.py
.
Data
Datasets (sensor fault configurations, .inp files, etc.) will be published later.
Requirements
- Python3.6
- Packages as listed in
Implementation/REQUIREMENTS.txt
License
MIT license - See LICENSE
How to cite
You can cite the version on arXiv