A github project for XAI research: XAI in image classification
Author: Fernando, Yuyang
In this project, we applied the LIME technique to explain a general-purpose, multi-class model called MobileNet in an effort to improve both performance metrics and explainability. While the model’s accuracy was not improved, it was possible to increase the explainability of an augmented subset of the ImageNet dataset by the use of impact score.
This finding highlights the trade-off between accuracy and explainability that exists in XAI research area and suggests that further XAI optimization method is necessary in order to improve both measures. The results of this work highlight the importance of considering both accuracy and explainability when selecting and applying image augmentation techniques in image classification task
download XAI folder and run Prediction.ipynb
in google colab
LIME Repo
pip install lime
ImageNet Object Localization Challenge
Kaggle API
only the validation set
So in the end I just downloaded this Imagenette lol
-
11 November: analyze and improve the experimentation for better generalization.
-
28 November: final experiments and results.
-
29 November: presentation rehearsal, submit first draft of report and presentation.
-
16 December: final presentation.
-
23 December: possible peer feedback and improvement in written report.
-
16 January: finish the final report, which will be written in parallel during the above steps.
- Find neibourhood paramters, determine which set of parameters affect most of the predictions // refers to LIME paras
- Need some metrics, make more accurate(prob increase some top-1 prediction probabilities)
- read the LIME documentation
- More literatures about LIME research
- Explaining the explainer
- Determine the parameters we are going to use in the experiments
- develop a pipeline...kinda hard
- Do some experiments, automate the process
Benchmarking the explaination method Using OpenXAI
(LIME, SHAP, Vanilla Gradients, Gradient x Input, SmoothGrad, and Integrated Gradients)Note: In OPenXAI there are lots of metrics for explainer evaluation
- select params for LIME, image (contrast, blur...)
- predict all images in a floder
- save the result explainations, compare and analyze (e.g. overlay all the explainations to see the results)
- repeat step 1
- metrics for LIME performance (OpenXAI)