captum
interpret
Our great sponsors
captum | interpret | |
---|---|---|
11 | 6 | |
4,568 | 5,998 | |
2.5% | 1.2% | |
8.6 | 9.7 | |
2 days ago | 3 days ago | |
Python | C++ | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
captum
-
[D] [R] Research Problem about Weakly Supervised Learning for CT Image Semantic Segmentation
Most likely, NNs in general love shortcut learning (see Geirhos et al. 2020). In general, local explanations such as grad-cam are quite noisy, and sometimes even inconsistent (see Seo et al. 2018 ). Now, in my experience, I've seen that integrated gradients (see Sundararajan et al 2017) does a better job compared to Grad-CAM (also, add a noise tunnel), but this is only based on my limited experience. I would totally recommend using the implementations from the Captum library for loca explanations.
-
[D] Off-the-shelf image saliency scoring models?
Take a look at captum
-
Can you interrogate a machine learning model to find out why it gave certain predictions?
Sometimes. If explainable predictions are part of your business requirements, it's probably better not to rely entirely on black box models and instead design a system that gives you the information you need as part of it. If you end up using black box models, there are still methods that attempt to help attribute explanations to your prediction. Here's an example of a toolkit for attributing explanations post-hoc to black box model predictions: https://github.com/pytorch/captum
- [D] DL Practitioners, Do You Use Layer Visualization Tools s.a GradCam in Your Process?
-
What kind of explainability techniques exist for Reinforcement learning?
The straightforward way to interpret RL agent's decision is to use captum library.
-
[D] How do you choose which Black-Box Explainability method to use?
My use-case is research-oriented. I work on Explainable AI. Generally, the best package I've come across to compute attributions in Pytorch Captum. If your object detector is in PyTorch, you can perhaps build it in.
-
PyTorch vs. TensorFlow in 2022
Do any JAX experts know if there is an equivalent to https://captum.ai/ - a model interpretability library for pytorch?
In particular i want to be able to measure feature importance on both inputs and internal layers on a sample by sample basis. This is the only thing currently holding me back from using JAX right now.
Alternatively a simle to read/understand/port implementation of DeepLIFT would work too.
thanks
-
DeepLIFT or other explainable api implementations for JAX (like captum for pytorch)?
I'm interested to use JAX but am having a hard time finding anything similar to captum for the pytorch world.
- how to extract features from a (CNN) convolutional network having raw data with (XAI) explainable techinques?
-
Looking for help regarding explainable AI
Do you actually want to implement something? There are decent explainability libraries now, e.g., [AIX360](https://aix360.mybluemix.net/), [InterpretML](https://interpret.ml/), or [captum](https://captum.ai/). Pytorch + maybe pytorch lightning + captum might be the quickest way to actually implement something like an explainable neural net yourself. Do the standard tutorials for each of them and watch a few YT videos (or follow a coursera course or something like that) about how these things work in theory and practice, and you'll get up to speed relatively quickly. You will not be able to do useful work in ML without actually learning the ropes.
interpret
-
[D] Alternatives to the shap explainability package
Maybe InterpretML? It's developed and maintained by Microsoft Research and consolidates a lot of different explainability methods.
-
What Are the Most Important Statistical Ideas of the Past 50 Years?
You may also find Explainable Boosting Machines interesting: https://github.com/interpretml/interpret
They're a bit like a best of both worlds between linear models and random forests (generalized additive models fit with boosted decision trees)
Disclosure: I helped build this open source package
-
[N] Google confirms DeepMind Health Streams project has been killed off
Microsoft Explainable Boosting Machine (which is a Gaussian Additive Model and not a Gradient Boosted Trees ๐ model) is a step in that direction https://github.com/interpretml/interpret
-
[Discussion] XGBoost is the way.
Also I'd recommend everyone who works with xgboost to give EBM's a try! They perform comparably (except in the case of extreme interactions) but are actually interpretable! https://github.com/interpretml/interpret/ Beside that they since on runtime they're practically a lookup table they're very quick (at the cost of longer training time).
-
[D] Generalized Additive Modelsโฆ with trees?
Open source code by Microsoft: https://github.com/interpretml/interpret (called EBM in this implementation).
-
Machine Learning with Medical Data (unbalanced dataset)
If it's not an image, have a go at Microsoft's Explainable Boosting Maching) https://github.com/interpretml/interpret which is not a GBM but a GAM (Gradient Boosting Machine vs Gradient Additive Model). This will also give you explanation via SHAP or LIME values.
What are some alternatives?
shap - A game theoretic approach to explain the output of any machine learning model.
DALEX - moDel Agnostic Language for Exploration and eXplanation
shapash - ๐ Shapash: User-friendly Explainability and Interpretability to Develop Reliable and Transparent Machine Learning Models
lucid - A collection of infrastructure and tools for research in neural network interpretability.
alibi - Algorithms for explaining machine learning models
flax - Flax is a neural network library for JAX that is designed for flexibility.
imodels - Interpretable ML package ๐ for concise, transparent, and accurate predictive modeling (sklearn-compatible).
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
medspacy - Library for clinical NLP with spaCy.
WeightWatcher - The WeightWatcher tool for predicting the accuracy of Deep Neural Networks
decision-tree-classifier - Decision Tree Classifier and Boosted Random Forest