Skip to main content

Threat Models and Notation

Adversarial attack を評価するときは、まず threat model を明示する必要があります。Threat model とは、攻撃者が何を知っていて、何を変更でき、何を成功と見なすかを定める条件です。これを曖昧にすると、防御の強さを比較できません。

基本記法

Classifier fθ:XYf_\theta : \mathcal{X}\to\mathcal{Y}、logit zθ(x)z_\theta(x)、loss (fθ(x),y)\ell(f_\theta(x),y) を考えます。

Untargeted attack は、正解 class yy での loss を最大化します。

maxδΔ(fθ(x+δ),y)\max_{\delta \in \Delta} \ell(f_\theta(x+\delta), y)

Targeted attack は、target class tt に分類させるため、target loss を最小化します。

minδΔ(fθ(x+δ),t)\min_{\delta \in \Delta} \ell(f_\theta(x+\delta), t)

または、target class の logit を他 class より大きくする margin objective を使います。

Perturbation set

もっともよく使われる constraint は LpL_p ball です。

Δp(ϵ)={δ:δpϵ,  x+δ[0,1]d}\Delta_p(\epsilon)=\{\delta : \|\delta\|_p \le \epsilon,\; x+\delta \in [0,1]^d\}
Norm意味典型的な攻撃
LL_\infty各 pixel の最大変化量を制限FGSM、PGD
L2L_2全体の Euclidean distance を制限DeepFool、CW L2L_2、randomized smoothing
L0L_0変更する feature 数を制限JSMA、one-pixel attack
Spatial / patch位置、変形、貼り紙を制限physical attack、adversarial patch

画像では ϵ=8/255\epsilon=8/255 のような LL_\infty 制約がよく使われますが、これは domain と preprocessing に強く依存します。

攻撃者の知識

Setting攻撃者が知るもの代表 method
White-boxmodel architecture、weight、gradient、defenseFGSM、PGD、CW、AutoAttack
Gray-boxtraining data や model family の一部transfer attack、surrogate attack
Black-box score-basedinput に対する confidence / logit を query できるNES、SPSA、Square Attack
Black-box decision-based最終 label だけを query できるBoundary Attack、HopSkipJump

防御を評価するときは、white-box adaptive attack がもっとも重要です。防御を知らない攻撃だけで強いと主張すると、gradient masking を robustness と誤認する危険があります。

成功条件

Untargeted success は、予測が変わることです。

fθ(x+δ)yf_\theta(x+\delta) \ne y

Targeted success は、指定 target class に分類されることです。

fθ(x+δ)=tf_\theta(x+\delta) = t

Robust accuracy は、各 sample について許容 perturbation 内の攻撃に耐えた割合です。

RobustAcc(ϵ)=1ni=1n1[δΔ(ϵ),  fθ(xi+δ)=yi]\mathrm{RobustAcc}(\epsilon)= \frac{1}{n}\sum_{i=1}^{n}\mathbf{1}\left[ \forall \delta \in \Delta(\epsilon),\; f_\theta(x_i+\delta)=y_i \right]

実際には全探索できないため、強い attack で近似します。

Adaptive attack

Adaptive attack とは、防御手法を知った上で、その防御を含めて最適化する攻撃です。

たとえば、入力変換で防御しているなら、その変換を通した loss を攻撃します。非微分変換なら BPDA、randomized defense なら EOT を使います。

Evaluation protocol

Adversarial robustness の比較では、次を明示します。

  1. Dataset と preprocessing
  2. Norm と ϵ\epsilon
  3. Attack algorithm と iteration 数
  4. Random restarts 数
  5. White-box / black-box の違い
  6. Targeted / untargeted の違い
  7. Defense を知った adaptive attack かどうか
  8. Clean accuracy と robust accuracy の両方

数式で見る threat model

Threat model は、攻撃者が選べる perturbation 集合 S(x)\mathcal{S}(x) として定義できます。

xS(x)x'\in\mathcal{S}(x)

画像分類の代表例は norm-bounded perturbation です。

Sp(x)={x+δ:δpϵ,  x+δ[0,1]d}\mathcal{S}_p(x)=\{x+\delta:\|\delta\|_p\le\epsilon,\;x+\delta\in[0,1]^d\}

ここで、pp22\infty がよく使われます。\ell_\infty は各 pixel の最大変化量を制限し、2\ell_2 は全体のエネルギーを制限します。

LLM や multimodal model では、perturbation は pixel norm ではなく、prompt rewrite、suffix、tool observation injection、image patch などになります。

Stext(x)={Rewrite(x;η):ηA}\mathcal{S}_{text}(x)=\{\mathrm{Rewrite}(x;\eta):\eta\in\mathcal{A}\}

この式の気持ちは、「robustness は攻撃者に何を許すかを明確にしないと意味がない」ということです。評価では、norm、query budget、model access、semantic preservation を必ず明記する必要があります。

関連ページ

主なソース