Hierarchical neural-net interpretations (ACD) 🧠
Produces hierarchical interpretations for a single prediction made by a pytorch neural network. Official code for Hierarchical interpretations for neural network predictions (ICLR 2019 pdf).
Documentation • Demo notebooks
Note: this repo is actively maintained. For any questions please file an issue.
examples/documentation
- installation:
pip install acd(or clone and runpython setup.py install) - examples: the reproduce_figs folder has notebooks with many demos
- src: the acd folder contains the source for the method implementation
- allows for different types of interpretations by changing hyperparameters (explained in examples)
- test with pytorch >1.0 with/without gpu
- all required data/models/code for reproducing are included in the dsets folder
| Inspecting NLP sentiment models | Detecting adversarial examples | Analyzing imagenet models |
|---|---|---|
notes on using ACD on your own data
- the current CD implementation doesn't always work for all types of networks. If you are getting an error inside of
cd.py, you may need to write a custom function that iterates through the layers of your network (for examples seecd.py). Should work out-of-the-box for many common layers though, including antyhing in alexnet, vgg, or resnet. - to use baselines such build-up and occlusion, replace the pred_ims function by a function, which gets predictions from your model given a batch of examples.
related work
- PDR framework (PNAS 2019 pdf) - an overarching framewwork for guiding and framing interpretable machine learning
- CDEP (ICML 2020 pdf, github) - penalizes CD / ACD scores during training to make models generalize better
- TRIM (ICLR 2020 workshop pdf, github) - using simple reparameterizations, allows for calculating disentangled importances to transformations of the input (e.g. assigning importances to different frequencies)
- DAC (arXiv 2019 pdf, github) - finds disentangled interpretations for random forests
- Baseline interpretability methods - the file
scores/score_funcs.pyalso contains simple pytorch implementations of integrated gradients and the simple interpration techniquegradient * input
reference
- feel free to use/share this code openly
- if you find this code useful for your research, please cite the following:
@inproceedings{
singh2019hierarchical,
title={Hierarchical interpretations for neural network predictions},
author={Chandan Singh and W. James Murdoch and Bin Yu},
booktitle={International Conference on Learning Representations},
year={2019},
url={https://openreview.net/forum?id=SkEqro0ctQ},
}
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
acd-0.0.2.tar.gz
(19.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
acd-0.0.2-py3-none-any.whl
(23.0 kB
view details)
File details
Details for the file acd-0.0.2.tar.gz.
File metadata
- Download URL: acd-0.0.2.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/1.13.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbc4227e2f7b270649e122745ace92ecf47377fc80ca25d85a498e338cbf936f
|
|
| MD5 |
54b8e31a9cedbb2a2bbb62d54dbca720
|
|
| BLAKE2b-256 |
be510fcfa921305f306ba2d420025ed7c4a39eaeef6c7ecbeecb4ca30adbeacf
|
File details
Details for the file acd-0.0.2-py3-none-any.whl.
File metadata
- Download URL: acd-0.0.2-py3-none-any.whl
- Upload date:
- Size: 23.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/1.13.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
505a0689a31e7a5c5d7ca2a747fc6800f4d806fa050d1fe4ec5b20b1b77fbabb
|
|
| MD5 |
aedf7dfb27bf222eabbbd709b7aa28ab
|
|
| BLAKE2b-256 |
3aadcc98ef0bdc86573705cccf2e70162a64f1032df4f38e494d63e948bae8b9
|