CVPR 2019で発表された、敵対的攻撃手法の論文についてまとめます。
論文の概要
摂動の大きさ(2ノルム)がなるべく小さい敵対的画像を生成するための手法を提案。当時最先端であったC&W attackの、反復回数が数千回必要だという課題を解決し、敵対的学習に使用できることを検証した。
提案手法のうり
- 2019年当時最先端であったC&W attackの弱点である反復回数の多さを克服(数千反復→数百反復)
- 反復回数を減らしたおかげで敵対的学習への利用が考慮できるようになった
- C&W attackと同等な攻撃性能を達成
キーポイント
- 摂動ノルムの大きさを射影によって制限
- 摂動を加える方向と摂動の大きさを別々に管理する
1. 摂動ノルムの大きさを射影によって制限
C&W attackは、摂動ノルムを目的関数に含めることで加える摂動の大きさをなるべく小さくしようとしています。一方、提案手法では各反復での摂動が半径$\varepsilon_k$の$L_2$球面上に乗るように更新し、反復ごとに球の半径を変化させることで摂動の大きさを調節します。
ただし、$\displaystyle\varepsilon_0=1$、$\displaystyle\varepsilon_k=\left\{\begin{array}{l} (1-\gamma)\varepsilon_{k-1} & {\rm if~} x_{k-1} {\rm ~is ~adversarial} \\ (1+\gamma)\varepsilon_{k-1} & {\rm ~otherwise}\end{array}\right.$、$\displaystyle\gamma$はハイパーパラメーターです。
これは、敵対画像が見つかったら摂動の大きさ(2ノルム)を小さく、敵対画像が見つからなかったら大きくする、という意味です。
2. 摂動を加える方向と摂動の大きさを別々に管理する
摂動の大きさの調節方法は、「1. 摂動ノルムの大きさを射影によって制限」で述べた通りです。
摂動$\delta_k$の更新方向は、CE loss($\displaystyle J\left(x, y; \theta\right)$)の勾配方向です。具体的には、以下の式のように摂動を更新します。
$$
\begin{align}
g&=\nabla_{x_{k-1}} J\left(x_{k-1}, y; \theta\right)\\
\delta_k &= \delta_{k-1}+\alpha\frac{g}{\|g\|_2}\\
\end{align}
$$
以上から、敵対的画像$x_k$の更新式は、$\displaystyle x_{k} = {\rm clip}\left(x_{org}+\varepsilon_k\frac{\delta_k}{\|\delta_k\|_2}, 0, 1\right)$となります。$\rm clip$は$x_k$が画像となるために必要な処理です。
参考
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント