Towards Deep Learning Models Resistant to Adversarial Attacks
Metadane
- Autorzy: Aleksander Madry, Aleksandar Makelov, Ludwig Schmidt, Dimitris Tsipras, Adrian Vladu
- Rok: 2018
- Źródło: ICLR 2018 (arXiv 1706.06083)
- DOI: arXiv:1706.06083
- Status: reference
- Cytowania: ~20,000
- Kategoria: Machine Learning / Security
- Tagi: reference adversarial-training pgd fgsm robustness deep-learning foundational high-citations
Streszczenie
Fundamentalna praca ustanawiająca PGD (Projected Gradient Descent) adversarial training jako gold-standard obrony przed atakami adwersaryjnymi. Autorzy formalizują problem adversarial robustness jako grę min-max: zewnętrzny min (trening modelu) i wewnętrzny max (znalezienie najsilniejszego ataku). PGD to wielokrokowy atak gradientowy — najsilniejszy first-order adversary.
Kluczowe odkrycie: modele wytrenowane na PGD-adversarial examples są odporne nie tylko na PGD, ale na całą klasę first-order attacks (w tym FGSM). To pozwala na certifiable robustness w sensie empirycznym.
Kluczowe Wnioski
- PGD adversarial training = najskuteczniejsza obrona przed gradient-based attacks (FGSM, C&W, DeepFool)
- Formalizacja jako min-max optimization: min_θ E[max_{δ∈S} L(f_θ(x+δ), y)]
- PGD z k krokami ≈ najsilniejszy first-order adversary
- Trade-off: adversarial accuracy wzrasta kosztem clean accuracy (~3-5%)
- Skalowalne: działa dla CNN, ResNet, ViT
Metodologia
- Atak PGD: iteracyjny FGSM z rzutowaniem na ε-ball: x_{t+1} = Π_{x+S}(x_t + α·sign(∇_x L))
- Parametry: ε=8/255 (L∞), k=40 kroków, α=2/255 (step size)
- Trening: min-batch PGD-attacked images zamiast czystych
- Ewaluacja: MNIST, CIFAR-10 jako benchmarki
Zastosowanie w projekcie
Bezpośrednie zastosowanie dla M2 (Visual Logo Detector):
# PGD attack na logo embedding model
x_adv = x.clone()
for _ in range(pgd_steps):
x_adv.requires_grad_(True)
loss = criterion(model(x_adv), y)
grad = torch.autograd.grad(loss, x_adv)[0]
x_adv = x_adv + alpha * grad.sign()
x_adv = torch.clamp(x_adv, x-epsilon, x+epsilon) # project
# Training mix: 50% clean + 50% PGD-adversarialParametry rekomendowane dla logo detection: ε=8/255 (L∞), k=40, α=2/255.
Powiązane Tematy
- Cohen et al. 2019 — certified robustness (dopełnienie PGD: empiryczna vs matematyczna gwarancja)
- Lee 2023 — GAN adversarial logos (black-box attack, PGD nie broni wprost ale pomaga)
- Hao 2024 — diffusion logos (podobnie)
Notatki
Cytowanie obowiązkowe w sekcji adversarial training naszej pracy. Użyj jako justyfikacja dla PGD w protokole treningu modułu M2. ~20k cytowań = praca powszechnie znana, nie trzeba szczegółowo opisywać.