Inverse Recognition (INVERT) is a method designed to enhance our understanding of the representations learned by Deep Neural Networks (DNNs). It aims to bridge the gap between these complex, hierarchical data representations and human-understandable concepts. Unlike existing global explainability methods, INVERT is more scalable and less reliant on resources such as segmentation masks. It also offers an interpretable metric that measures the alignment between the representation and its explanation, providing a degree of statistical significance.
You can it via pip as shown below:
! git clone https://github.com/lapalap/invert.git --quiet
! pip install git+file:///content/invert --quiet
You can get started with the following colab notebook.
The latest update brings several enhancements to our software:
- Improved Interface: We’ve introduced a fresh, user-friendly interface that enhances your experience.
- Speed Boost: Explanation generation is now faster, allowing you to get insights more swiftly.
- Memory Optimization: We’ve fine-tuned memory usage for better efficiency.
Specifically:
- The Phi class now supports
sympytorch
, streamlining the explanation generation process. - Our new interface enables the
explain_representation
method to work seamlessly with individual activation tensors from a single unit.
@article{bykov2024labeling,
title={Labeling neural representations with inverse recognition},
author={Bykov, Kirill and Kopf, Laura and Nakajima, Shinichi and Kloft, Marius and H{\"o}hne, Marina},
journal={Advances in Neural Information Processing Systems},
volume={36},
year={2024}
}