Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

Metadane

  • Autorzy: Ramprasaath R. Selvaraju, Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, Dhruv Batra
  • Rok: 2017
  • Źródło: ICCV 2017 (arXiv 1610.02391)
  • DOI: 10.1109/ICCV.2017.74
  • Status: reference
  • Cytowania: ~25,000
  • Kategoria: Computer Vision / Explainability
  • Tagi: reference gradcam xai explainability saliency cnn iccv high-citations

Streszczenie

Grad-CAM produkuje heatmapy wyjaśniające decyzje CNN: dla danej klasy, które regiony obrazu były kluczowe dla klasyfikacji. Technika: gradient klasy względem ostatniej warstwy konwolucyjnej → global average pooling → ważona suma map aktywacji → heatmapa.

Dla phishing logo detection: Grad-CAM wizualizuje które piksele logo zadecydowały o match z daną marką. Kluczowe dla:

  1. Debugowania błędów (false positives/negatives)
  2. Wykrywania adversarial perturbacji (GAN/diffusion zmienia regiony diagnostyczne)
  3. Sekcja explainability w publikacji (wymagana przez recenzentów CCS/USENIX)

Kluczowe Wnioski

  • Gradient flow: ∂y^c/∂A^k_ij → współczynniki α^c_k dla każdej mapy aktywacji k
  • Heatmapa: L^c_Grad-CAM = ReLU(Σ_k α^c_k · A^k)
  • Działa bez modyfikacji modelu — post-hoc explainability
  • Warianty: Grad-CAM++ (lepsza lokalizacja), Score-CAM (bez gradientów)
  • Stosowany w security ML jako standard explainability

Zastosowanie w projekcie

Moduł M2 — Logo Detector explainability:

# Grad-CAM dla logo matching decision
cam = GradCAM(model=logo_classifier, target_layers=[model.layer4])
heatmap = cam(input_tensor=logo_crop, targets=[BrandTarget(brand_id)])
 
# Wizualizacja: które piksele logo pasują do PKO BP?
# Adversarial case: heatmap zmienia się po ataku GAN → detekcja perturbacji

Wkład badawczy (bonus): porównanie Grad-CAM heatmap przed/po adversarial attack = wizualne wyjaśnienie dlaczego system jest odporny lub podatny.

Notatki

Niezbędna referencja dla sekcji “Explainability” lub “Analysis” w publikacji. Recenzenci USENIX/CCS oczekują jakiejś formy interpretability. Grad-CAM = minimal-effort + high-impact wizualizacja.

Elementów w folderze: 0.