私の備忘録がないわね...私の...

画像処理とかプログラミングのお話。

Adversarial Training 周りの話まとめ

簡単のため, 以下のような略語を使用する.

  • AE: Adversarial Examples
  • AA: Adversarial Attack
  • clean: AAを受けていない自然画像
  • AT: Adversarial Training
  • AR: Adversarial Robustness
  • BN: Batch Normalization

EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES [Goodfellow+, ICLR15]

  • clean と AE を混ぜて学習する AT を初めて提案

Improving back-propagation by adding an adversarial gradient [Nøkland, arXiv15]

Learning with a strong adversary [Huang+, arXiv15]

Adversarial machine learning at scale [Kurakin+, ICLR17]

  • label leaking: AT されたモデルが clean よりもむしろ AE に対して優れた性能を出してしまうこと. しかしこれは PGD などを使うと見られない.
  • label leaking を考えると以下の二つの戦略で AT を行うのが良い.
    • FGSM などの one step 手法を使うとき, 真のラベルを利用しないでモデルの予測するラベルを使った方がいい.
    • PGD などの multi step 手法を使うのが良い.
  • モデルの容量を増やすことで AR が上がる.

Understanding Adversarial Training: Increasing Local Stability of Neural Nets through Robust Optimization [Shaham+, Neurocomputing18]

Ensemble Adversarial Training: Attacks and Defenses [Tramèr+, ICLR18]

  • 複数の他のモデルで生成された AE を使う AT

Towards Deep Learning Models Resistant to Adversarial Attacks [Madry+, ICLR18]

  • clean を使わずに AE だけで学習する AT を提案
  • AR には clean を分類するより遥かに大きな容量が必要となる.

Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples [Athalye+, ICML18]

  • Obfuscated Gradients (難読化された勾配) に強く依存する防御が多くあるが, これは BPDA という attack で破ることができる.
  • Backward Pass Differentiable Attack (BPDA): 勾配が計算できないレイヤーを勾配が1となるような別のレイヤーで置き換える. また不確実性を扱うモデルは期待値から勾配を予測する.
  • 以下は obfuscated gradients を利用した防御
    • Thermometer encoding: One hot way to resist adversarial examples [Buckman+, ICLR18]
    • Characterizing adversarial subspaces using local intrinsic dimensionality [Ma+, ICLR18]
    • Countering adversarial images using input transformations [Guo+, ICLR18]
    • Stochastic activation pruning for robust adversarial defense [Dhillon+, ICLR18]
    • Mitigating adversarial effects through randomization [Xie+, ICLR18]
    • Pixeldefend: Leveraging generative models to understand and defend against adversarial examples [Song+, ICLR18]
    • Defensegan: Protecting classifiers against adversarial attacks using generative models [Samangouei+, ICLR18]
  • ちゃんとした防御
    • Towards deep learning models resistant to adversarial attacks [Madry+, ICLR18]
    • Cascade adversarial machine learning regularized with a unified embedding [Na+, ICLR18]

Adversarial logit pairing [Kannan+, arXiv18]

  • 以下の二つの手法で AR が上がる.
    • adversarial logit pairing: clean と AE の logit を似るように学習
    • clean logit pairing: clean と clean (同じクラスですらない) の logit を似るように学習

Adversarial Training and Robustness for Multiple Perturbations [Tramèr, NeurIPS19]

  • 複数の攻撃種類で AT されたモデルが, それぞれの攻撃に対して個別に AT したモデルと同等の頑健性を達成できないことを示す。

Adversarial Training for Free! [Shafahi+, NeurIPS19]

  • モデルのパラメータを更新する際に計算された勾配情報を再利用することで, AE を生成するためのコストを排除した

You Only Propagate Once: Accelerating Adversarial Training via Maximal Principle [Zhang+, NeurIPS19]

  • ネットワークの第1層の入出力だけを使うことで AT の時間を減らす.

Towards the first adversarially robust neural network model on MNIST [Schott+, ICLR19]

  • AT は使われた攻撃以外の攻撃に強くない.
  • OOD を高い確信度であるクラスへと分類する.

Interpreting Adversarially Trained Convolutional Neural Networks [Zhang+, ICML19]

  • AT されたモデルはテクスチャ・バイアスを緩和し, より形状を学習する.
  • patch shuffle などにも実験をした.

On the Connection Between Adversarial Robustness and Saliency Map Interpretability [Etmann+, ICML19]

  • AR が高いモデルは saliency の解釈可能性が高い.
  • NN の非線形性がこの関係を弱めることをリプシッツ正則化を用いて学習したモデルを以って示した.
  • 判定境界への距離が大きくなると、アライメントも大きくなる

On the Convergence and Robustness of Adversarial Training [Wang+, ICML19]

  • AT の初期段階では収束品質 (AE の強さのようなもの) の良い AE を使う必要はなく, むしろ AR を下げる可能性がある.
  • AT の後期段階では収束品質の良い AE を使う必要がある.
  • 段々, 収束品質の良い AE を使うような AT を提案.
  • 初期段階で非常に難しい AE を含めると、DNN の特徴学習が阻害されてしまう可能性があることを示唆している.

Fast is better than free: Revisiting adversarial training [Wong+, ICLR20]

  • FGSM の AT にランダム初期化を加えることで, PGD の AT と同等の効果を得られる. これによって AT にかかる時間が削減できる.
  • FGSM の AT は周期的学習率や混合精度学習などで劇的に加速することができる.
  • PGD に対して FGSM の AT が失敗したのは catastrophic overfitting (突然, トレーニングデータに対するPGD への耐性が 0% になるような現象) によるもの. early stopping などで避けることができる.
  • FGSM の AT が失敗する原因は多数ある.
    • 初期化がゼロ
    • ステップサイズが大きすぎる
    • 特定の学習率スケジュールやエポック数

Improving adversarial robustness requires revisiting misclassified examples [Wang+, ICLR20]

INTRIGUING PROPERTIES OF ADVERSARIAL TRAINING AT SCALE [Xie+, ICLR20]

  • BN は AT の際に学習の邪魔をする可能性がある. BN を用いてATしたモデルでは学習データから clean な画像を取り除くだけで, AR が18.3%と大きく向上する.
  • clean と AE に別々のBNを適用することで, より強いARを達成できる.
  • ネットワークをどんどん深くしていっても自然画像に対する精度は変化しないが, AT では深くするほど AR が上がる.

Max-margin adversarial (mma) training: Direct input space margin maximization through adversarial training [Ding+, ICLR20]

  • ネットワークのマージンを最大化する

Concise Explanations of Neural Networks using Adversarial Training [Chalasani, ICML20]

Smooth Adversarial Training [Xie+, arXiv20]

  • ReLU の非平滑性は AT を大幅に弱める.
  • Smooth Adversarial Training (SAT): ReLUを滑らかな近似関数に置き換える. 例えば parametric softplus.
  • 滑らかな活性化関数はより困難な敵対例を見つけるのを手助けする.
  • 複数 step の攻撃で ReLU の問題は防げるかもしれない.
  • 最終的に最も AR が良かったのは SILU(x) = x · sigmoid(x)

Identifying Layers Susceptible to Adversarial Attacks [Siddiqui+, arXiv21]

  • モデルをいくつかの部分に分け, 再学習. 結果, AEの影響を受けやすいのは feature extractor である前半の層だった. なので後半の層を AT するだけではいけない. 逆に初期の層だけで AT すれば必要十分.
  • 普通のモデルに対して生成された AE の特徴量は clean なものと本質的に異なる.
  • AT は AE から抽出される特徴量を clean から抽出される特徴量と同じ分布にするように初期層の重みを変える.
  • AT されたモデルに対して生成される AE は初期層で clean を模倣する.

Boosting Fast Adversarial Training with Learnable Adversarial Initialization [Jia+, arXiv21]

  • Fast AT の初期化を工夫.

Fixing Data Augmentation to Improve Adversarial Robustness [Rebuff+, arXiv21]

  • モデルの重みの平均化とデータ増強 (cutout, cutmix, mixup) を組み合わせるとARが大幅に向上する. cutmixが最も効果的.
  • 最先端の生成モデルを使うともっと良くなる.