recorded as not-applicable

N/A audit: Grad-CAM, attention rollout, VIPER

Selvaraju 2017; Abnar & Zuidema 2020; Bastani 2018

← back to the method catalogue

What it does?

This entry is an honesty audit, not a method that runs. Three well-known techniques, Grad-CAM, attention rollout, and VIPER, cannot be applied to the VCS at all, and we record that fact rather than force a number. Grad-CAM weights the final convolutional feature maps of a network by the gradient of the class score, so it needs a convolutional layer that the VCS does not have. Attention rollout multiplies the attention matrices across a transformer's layers, so it needs attention weights that the VCS does not have. VIPER distils a learned policy into a decision tree, so it needs a trained policy, and the VCS runs a fixed ROM, not a learned agent. The VCS is a 6502 CPU with a TIA video chip and a RIOT, executing hand-written machine code. Across all 42 scored games the count of each required substrate, convolutional layer, attention matrix, learned policy, is exactly zero. Re-targeting Grad-CAM's pooling onto the raw register state would simply be the content-path gradient under a different name, so it would add nothing. We therefore mark these methods as 'does not apply', a structural absence that is the same in every game. Recording this openly is part of the audit: it shows that some popular tools have no purchase on a real artifact that lacks the structure they assume.

N/A audit: Grad-CAM, attention rollout, VIPER result

Left: a game frame for context. Right: why these methods do not apply to the VCS. n_methods_not_applicable = 6.000 — this example only (pong, state None); the audit aggregate is below.

How it's scored

This entry is not scored on the faithfulness leaderboard, and that is deliberate. Grad-CAM, attention rollout, and VIPER need a convolutional layer, an attention matrix, or a learned policy that the VCS does not have. Across all 42 scored games the count of each required substrate is exactly zero, against many genuine candidate causes per game for the methods that do apply. A faithfulness number would be meaningless, because there is no map to compare to the oracle. So we record a measured structural fact, applies equals false, rather than force a score. We also note that re-targeting Grad-CAM's pooling onto the raw register state would only be the content-path gradient under another name, so it would add no new information. The grading standard elsewhere in the audit is always correlation, F1, or effect-agreement against the intervention oracle; here none of those is defined, because the method cannot run. The audit box below therefore marks this row as excluded from the leaderboard rather than showing an F, S, and M triad. Recording the absence openly is itself a finding: several popular tools have no purchase on a real artifact that lacks the neural structure they assume.

The score is measured against the §1 intervention oracle — never against another interpretability method. F (faithful) is always vs the oracle; see the execution stack. How each of F / S / M is actually computed for this method (and whether it matches the paper) is in the box just below; the numbers are in the In the audit box under it.

In the audit

Recorded but excluded from the faithfulness leaderboard: these methods have no applicable causes on the VCS, so a faithfulness score would be meaningless. See the leaderboard and the Paper 2 audit.

Source: leaderboard.json.

Implementation
tools/xai_study/phaseB_attribution/na_audit.jl
Reference
Selvaraju 2017; Abnar & Zuidema 2020; Bastani 2018
Record
na_audit_pong.json
All records
phaseB_attribution/out

The figure is generated from the committed record by docs/gen_method_figures.py; the game frame and each RAM cell's screen footprint are produced by render_scenes.jl / cell_footprints.jl.