Certified Adversarial Robustness via Randomized Smoothing
Metadane
- Autorzy: Jeremy Cohen, Elan Rosenfeld, J. Zico Kolter
- Rok: 2019
- Źródło: ICML 2019 (arXiv 1902.02918)
- DOI: arXiv:1902.02918
- Status: reference
- Cytowania: ~3,500
- Kategoria: Machine Learning / Security
- Tagi: reference certified-robustness randomized-smoothing adversarial l2-norm theoretical icml high-citations
Streszczenie
Praca dostarcza matematycznie certyfikowaną odporność dla dowolnego klasyfikatora poprzez Randomized Smoothing. Idea: zamiast klasyfikować obraz x bezpośrednio, klasyfikuj wygładzoną wersję g(x) = argmax_c P[f(x+ε) = c] gdzie ε ~ N(0, σ²I). Certyfikat: jeśli klasa A wygrywa z marginesem, to klasyfikacja jest gwarantowana prawidłowa dla wszystkich perturbacji δ z ||δ||₂ ≤ R.
Kluczowe: metoda jest agnostyczna względem architektury — działa z dowolnym klasyfikatorem bazowym (CNN, ResNet, ViT) bez modyfikacji. Jedyne wymaganie: dodanie szumu Gaussowskiego podczas inferencji.
Kluczowe Wnioski
- Certyfikowany promień R = σ·Φ⁻¹(p̄_A) gdzie p̄_A = prawdopodobieństwo klasy A
- Gwarancja L₂: klasyfikacja stabilna dla ||δ||₂ ≤ R (twierdzenie matematyczne, nie empiryczne)
- Trade-off: σ↑ → większy certyfikat, ale niższa clean accuracy
- Praktycznie: N=100-1000 próbek z szumem → Monte Carlo estimate p̄_A
- Kompromis z PGD: PGD = empiryczna odporność, Randomized Smoothing = matematyczna
Metodologia
# Inferencja z certyfikatem
def certify(model, x, sigma, n=1000, alpha=0.001):
# Sample noisy versions
counts = model(x + torch.randn(n, *x.shape) * sigma).argmax(1).bincount()
p_A = counts.max() / n
# Certify radius
R = sigma * norm.ppf(p_A) # Φ⁻¹(p̄_A)
return predicted_class, R # gwarancja dla ||δ||₂ ≤ RZastosowanie w projekcie
Opcjonalny moduł dla M2 — silna karta do zagrania:
- Dla każdego logo classification: podaj certified radius R
- “Logo PKO BP certified dla perturbacji ≤ R = 0.5 (L₂)” — matematyczna gwarancja
- Wkład badawczy: pierwsze zastosowanie certified robustness w brand phishing detection
Parametry: σ=0.25 (balance accuracy/robustness), N=100 dla szybkości lub N=1000 dla dokładności.
Uwaga praktyczna: certified robustness kosztuje ~N× wolniejszy inference. Użyj tylko dla high-confidence visual decisions (τ_low < sim < τ_high — “hard case resolver”).
Powiązane Tematy
- Madry 2018 — PGD (komplementarna metoda: empiryczna robustness)
- Jeong & Shin 2020 — Consistency Regularization dla lepszej certified accuracy
- Lee 2023 — GAN logos (adversarial attack certyfikowany przez naszą metodę)
Notatki
Użycie w pracy: “W odróżnieniu od empirycznych metod (Madry et al. 2018), zastosowanie Randomized Smoothing (Cohen et al. 2019) pozwala na matematycznie certyfikowaną odporność logo detectora dla perturbacji ||δ||₂ ≤ R”. To wyróżnia naszą pracę jako jedyną z certified robustness w kontekście phishing logo detection.