Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Summary] Add perturbation feature attribution methods #107

Open
gsarti opened this issue Nov 30, 2021 · 2 comments
Open

[Summary] Add perturbation feature attribution methods #107

gsarti opened this issue Nov 30, 2021 · 2 comments
Labels
enhancement New feature or request help wanted Extra attention is needed summary Summarizes multiple sub-tasks

Comments

@gsarti
Copy link
Member

gsarti commented Nov 30, 2021

πŸš€ Feature Request

The following is a non-exhaustive list of perturbation-based feature attribution methods that could be added to the library:

Method name Source In Captum Code implementation Status
(Layer) Feature Ablation1 - βœ… pytorch/captum
Occlusion Zeiler and Fergus '13 βœ… pytorch/captum βœ…
Shapley Value Sampling Castro et al. '09 βœ… pytorch/captum
Lime Ribeiro et al. '16 βœ… pytorch/captum βœ…
KernelShap Lundberg and Lee '17 βœ… pytorch/captum
Editing 2 - - -
Greedy Rationalization 3 Vafa et al. '21 - keyonvafa/sequential-rationales
Information Bottleneck Jiang et al. '20 - DFKI-NLP/thermostat
BayesLime Slack et al. '21 - dylan-slack/Modeling-Uncertainty-Local-Explainability
BayesSHAP Slack et al. '21 - dylan-slack/Modeling-Uncertainty-Local-Explainability
Input Reduction Feng et al. '18 - -
Input Marginalization Kim et al. '20 - -
Occlusion & Language Modeling Harbecke and Alt '20 - DFKI-NLP/OLM
Context Probing 4 CΓ­fka and Liutkus '22 - cifkao/context-probing
Weighted SHAP Kwon and Zou '22 - ykwon0407/WeightedSHAP
Value Zeroing Mohebbi et al. '23 - hmohebbi/ValueZeroing #173
Comprehensiveness-as-a-metric Zhou et al. '23 - YilunZhou/solvability-explainer
Sufficiency-as-a-metric Zhou et al. '23 - YilunZhou/solvability-explainer
Causal Tracing Meng et al. '22 - kmeng01/rome
Attention Knockout5 Geva et al. '23 - -
ReAGent Zhao et al. '24 - casszhao/ReAGent #250
SyntaxSHAP Amara et al. '24 - k-amara/syntax-shap

Notes:

  1. For more information on Editing, see point 3 in [Summary] Add metrics for feature attribution evaluationΒ #112 .

Footnotes

  1. Called ablation, but perform masking of features using a baseline.
  2. Editing replaces tokens with their nearest neighbors in the vocabulary embedding space and measures saliency as the drop in performance for the target. In the future, this can allow users to specify a custom editing strategy via an input Callable.
  3. Possibly overlapping with feature ablation up to some measure.
  4. Valid only for decoder-only models.
  5. Verify whether it would be exactly equivalent to Value Zeroing, include only if functionally different (alias otherwise).
@gsarti gsarti added the enhancement New feature or request label Nov 30, 2021
@gsarti gsarti added this to the v1.0 milestone Nov 30, 2021
@gsarti gsarti added help wanted Extra attention is needed good first issue Good for newcomers labels Nov 30, 2021
@inseq-team inseq-team deleted a comment from github-actions bot Nov 30, 2021
@gsarti gsarti added the summary Summarizes multiple sub-tasks label Dec 1, 2021
@gsarti gsarti removed the good first issue Good for newcomers label Apr 8, 2022
@nfelnlp
Copy link
Collaborator

nfelnlp commented Oct 10, 2022

More methods related to Occlusion:

@gsarti
Copy link
Member Author

gsarti commented Oct 11, 2022

Added to method table!

@gsarti gsarti pinned this issue Jan 24, 2023
@gsarti gsarti removed this from the Demo Paper Release milestone May 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed summary Summarizes multiple sub-tasks
Projects
None yet
Development

No branches or pull requests

2 participants