Skip to main content

Explain Neural Networks using Layer-Wise Relevance Propagation and evaluate the explanations using Pixel-Flipping and Area Under the Curve.

Project description

Layer-Wise Relevance Propagation

DOI PyPI Version License

PyTorch implementation of Layer-wise Relevance Propagation (LRP) algorithm together with quantitative evaluation metrics to compare heatmap explanations objectively.

Special thanks to Dr. Grégoire Montavon for his insights, which shaped the development of this project.

Features

Explainability:

  • Layer-wise Relevance Propagation (LRP)

Quantitative Evaluation:

  • Pixel Flipping (PF), also known as Region Perturbation (RP)
    • Perturbation modes:
      • inpainting
      • random
    • Sort objectives:
      • most relevant first (MoRF), also known as activation curve
      • least relevant first (LRF), also known as pruning curve
      • random
  • AUC (Area Under the Curve), also known as AUAC (Area Under the Activation Curve) or AU-MSE (Area Under the Mean Squared Error Curve) depending on the sort objective

Showcase

LRP (lrp-tutorial composite) and PF with inpainting perturbation mode and sort objective MoRF.

Classification scores of castle image with inpainting perturbation mode

Number of simultaneous flips per perturbation step during Pixel-Flipping.


PF perturbation mode random

LRP (lrp-tutorial composite) and PF with random perturbation mode and sort objective MoRF.

Classification scores of castle image with random perturbation mode

Requirements

  • python3 >= 3.9

Installation

python3 -m pip install lrp-pf-auc

The PyPI distribution lrp-pf-auc provides the following two packages: lrp and pf.

The name lrp-pf-auc stands for Layer-wise Relevance Propagation (LRP), Pixel Flipping (PF), and Area Under the Curve (AUC) respectively.

Usage

Refer to demo.ipynb for an example of Layer-wise Relevance Propagation (LRP), Pixel-Flipping (PF) and Area under the Curve (AUC).

Feel free to check out the Jupyter notebooks under experiments/notebooks for a chronological overview of the project.

Related Projects

Citation

Cite as:

  • Plaintext:

    Rodrigo Bermúdez Schettino. (2022). rodrigobdz/lrp: v0.1.3 (v0.1.3). Zenodo. https://doi.org/10.5281/zenodo.6814441

  • BibTeX:

    @software{rodrigo_bermudez_schettino_2022_6814441,
      author       = {Rodrigo Bermúdez Schettino},
      title        = {rodrigobdz/lrp: v0.1.3},
      month        = jul,
      year         = 2022,
      publisher    = {Zenodo},
      version      = {v0.1.3},
      doi          = {10.5281/zenodo.6814441},
      url          = {https://doi.org/10.5281/zenodo.6814441}
    }
    

Credits

This implementation is based on insights from:

License

MIT © rodrigobdz

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lrp_pf_auc-0.1.4.tar.gz (37.4 kB view details)

Uploaded Source

Built Distribution

lrp_pf_auc-0.1.4-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

Details for the file lrp_pf_auc-0.1.4.tar.gz.

File metadata

  • Download URL: lrp_pf_auc-0.1.4.tar.gz
  • Upload date:
  • Size: 37.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for lrp_pf_auc-0.1.4.tar.gz
Algorithm Hash digest
SHA256 51b669becf2e9c95122f9b6b72146230be2aa48b4ff9161455adddb26b92861d
MD5 5355a26182b111e14d6c6013405a7b70
BLAKE2b-256 da7c2e4a02f48ae91379afda838f6a20ceea0602c7f73d471bb50b112ba97398

See more details on using hashes here.

File details

Details for the file lrp_pf_auc-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: lrp_pf_auc-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 44.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for lrp_pf_auc-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 65801dab00219f169192491456649923b47fdd6b3c93f6cfd1e010f61e025586
MD5 441e745e59ade0fd60c4bd7fc65ecb4b
BLAKE2b-256 69bc02876a25cec6882b4e2cb3473bd699e03a75de83338c06de88fc8e16dfe9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page