Adversarial Examples Are Not Bugs, They Are Featuresを読んだのでメモ
はじめに
Adversarial Examples Are Not Bugs, They Are Featuresを読んだのでメモ.
気持ち
Adversarial Examplesに対する新しい仮説として,Adversarial Examplesはnon-robust featureという説明不可能な特徴量であるという解釈を提案している.このnon-robust featureは画像認識精度に大きく貢献している特徴であり,この論文では2つの実験を通してnon-robust featuresの存在を示している.ひとつはnon-robust featuresを取り除いたデータでモデルを学習する実験で,もう一つはnon-robust featuresを加えたデータを用意し,non-robust featuresに即したラベルを用いてモデルを学習する実験.
The Robust Features Model
ここでは2値分類問題を考える.データとラベルのペアはデータ分布から得られるとし,目標は識別器の出力を与えられた入力に関するラベルと一致するように学習することとする.
ここでは特徴量を入力空間から実数への写像として定義し,全ての特徴量の集合をとする.簡単のため内の特徴量の平均,分散はそれぞれとする.
Useful, robust, and non-robust features
上記で定義した特徴量を以下の3つに分類する.
- -useful features : が与えられた時,がを満たす場合にを-useful ()と呼ぶ.
- -robustly useful features : -useful feature が与えられたとし,がadversarial perturbationに対して-useful,,である時それをrobust featureと呼ぶ.
- Useful, non-robust features : がある程度大きなに対して-usefulだが-robust-featureでない場合,non-robust featureという.
Classification
今回の枠組みでは識別器は特徴量の集合,重みベクトル,スカラーバイアスを含むとする.入力が与えられた際,識別器はラベルを次のように予測する.
以下,識別器によって学習された特徴量の集合をとする.
Standard Training
分類器の学習は損失の最小化によって行われる.最も単純には以下の損失が考えられる.
このような損失の最小化に際にはrobust featuresとnon-robust featuresの区別は存在せず前説で定義した-usefulnessのみに着目したものになっている.さらには損失を減らすためにはに含まれる任意の-useful featureを利用可能である.
Robust training
non-robust featuresは有用な特徴であるが真のラベルとanti-correlatedさせることができ,これがadversarial vulnerabilityにつながる.そこでrobust featureのみを学習するため以下のadversarial loss functionを利用した学習をする.
この損失関数はrobust featuresとnon-robust featuresを分離できることが知られており,分類器がnon-robust featuresを学習することを防ぐ働きがある.
Finding Robust (and Non-Robust) Features
今回はrobust featuresとnon-robust featuresを見つけることが目的となる.そのため,二つの特徴量を分離することでこの存在の仮説をサポートする.
一つの実験として,既存のデータセットをベースに主にrobust featuresを含むrobustified datasetを構成し,このデータセットを使って分類器をstandard trainingで学習する.これによりrobust featuresの獲得が可能になる.robustified datasetは元のデータセットからnon-robust featuresを取り除くことで作成する.この実験は,adversarial vulnerabilityが学習方法ではなくnon-robust featuresによって引き起こされることを示す.
もう一つの実験として,non-robust featuresに基づいたラベル付けを行ったデータセットで分類器の学習を行う.この分類器が通常のテストデータで十分な性能を発揮することを示し,分類器がnon-robust featuresを使った分類を行っていることを裏付ける.この実験により,有限サンプルへの過学習がもたらすartifactsではなく価値のある特徴量であることがわかる.
Disentangling robust and non-robust features
ここでの狙いはrobust model (Adversarial trainingされたモデル)が与えられた時に以下を満たすように分布を作ること.
要はrobust classifierから得られるfeatures(=robust feature)のみで構成されるデータセットを作るということ.これの逆(robust classifierで獲得できない特徴量=non-robust features)のデータセットをとする.
今回はを元のデータセットからの1対1の写像を使って作る.がdeep neural networkの場合を考え,は出力層への入力とし,この特徴量が両方において有用であることを保証するため次のような最小化問題を最適化する.
はデータから特徴量への写像(の出力層手前までの写像).これを入力空間において勾配法で最適化することでを作る.
さらには以外の特徴量に対してとなる必要があるため,のラベルとは独立にからサンプリングされたをの初期値として使う.これにより,特徴量は周りでの期待値を超えてラベルと相関しなくなり,入力に存在する特徴量の利用を制限できるとのこと.理屈がイマイチわからないが,直感的にははrobust modelであるためrobust featuresしか使わないことから,という写像においてnon-robust featuresが消えるということか.
こうして得られたを使ってモデルをstandard trainingし,のテストデータを使って評価する.こうしてで学習されたモデルはのテストデータに対して十分な精度を出しつつ,adversarial examplesに対する頑健性を持つことが確認された.
今度は通常のモデル(standard trainigで学習されたnon-robust classifier)を使って同じ手順でを作り,を使ってstandard trainingをしたモデルを作り,のテストデータを使って評価する.結果は仮説の通り,で学習されたモデルより高い精度を出したが,adversarial examplesに対して脆弱であることがわかった.これはデータセットを作るためのモデルと作られたデータセットを学習するモデルの構造などが異なっていても同様の結果が得られたとのこと.
とても気になるのが,non-robust側の実験ではデータセットに含まれる特徴量がnon-robust featureだけとは限らないので,non-robust featuresが存在するということをここで言い切っていいかが個人的に微妙.
Non-robust features suffice for standard classification
前節で,non-robust featuresが分類問題において重要な役割を担うことが確認されたため,今度はnon-robust featuresが偶発的なものもしくは単なる過学習によるものではないことを示す.特に,non-robust featuresは十分に汎化した特徴量であることを示す.
そのために,non-robust featuresのみを持つデータセットを構築する.ここでは入力とラベルのペアをランダムもしくは真のラベルを考慮して意図的に入れ替える(例えば犬の画像と猫のラベルをペアにしたり).さらに,に対し新たにつけられたターゲットラベルに準拠したadversarial perturbationを加える.すなわち以下の最小化問題を解くことで,識別に有効な特徴量がnon-robust featuresのみのデータを作る.
はstandard trainingで学習された識別器 (standard classifier)のもとでの損失で,は定数.結果として得られる画像は元の画像と人の目では見分けがつかない画像で一見すると画像とラベルが不一致したようなデータが作成される.
は小さいため,のrobust featuresは真のラベルに準拠したものとなっており,non-robust featuresはターゲットラベルに関するものとなっている.すなわち,人の目にははクラスの画像に見え,standard classifierにはクラスの画像に見える.そのためターゲットラベルをとして新たなモデルをstandard trainingで学習すればそれはnon-robust featuresのみを獲得することが可能となる.
をランダムに選んだ場合,robust featuresはと無関係で分類には役に立たないことが期待される.そのため,そのようにして作られたデータセットの分布は次のような期待値を持つ.
をに基づいて恣意的に選んだ場合を考える.ランダムでを選ぶ時と違いこちらは真のラベルと異なるラベルを確実に割り当てる.そのためランダムの時と違いrobust featuresは学習の際には有効に働くがテストデータではむしろ精度を悪化させる振る舞いをする.すなわち次のような分布を作ることに等しい.
とを使ってstandard trainingを行い,オリジナルのテストデータで評価した結果,non-robust featuresが有効に働いていることが確認できた.また,面白い結果としてでの評価結果も(robust featuresが悪影響を及ぼすにも関わらず)と比べて劣るものの十分良い結果が示された.これは学習によってnon-robust featuresが獲得され,それがrobust featuresよりも影響力が高いことを意味する.
Transferebility can arise from non-robust features
Adversarial examplesのtransferabilityは様々な研究で議論されているが,このtransferabilityの存在はnon-robust featuresの存在から自然に言える.この論文の主張はadversarial examplesは脆いがよく汎化した特徴量であるというもので,それがデータ分布固有の特徴量であるとすれば,異なる識別器が似たようなnon-robust featuresを獲得するため,adversarial examplesにtransferabilityが存在する.
この仮説を証明するために5つの異なるモデルをstandard trainingされたResNet-50を使って作られたで学習し,通常データで精度とtransfer success rateを評価した(論文のFigure 3).図を見ると精度とtransfer success rateは相関しており,精度が高い(non-robust featuresをよく学習している)モデルほどの生成元のResNet-50から生成されたadversarial examplesに騙されやすかった.
A Theoretical Framework for Studying (Non)-Robust Features
理論的な解析をするため具体的な問題に落とし込んでrobust, non-robust featuresについて考える.
まず,二つのガウス分布の最優推定について考える.以下のようにサンプルが与えられるとする.
目標は次のパラメータを学習すること.
はガウス分布の負の対数尤度.このモデルにおける分類は尤度評価によって行われる.すなわち,データをとしての推定は次のようにかける.
この問題におけるrobustというのはをadversarial perturbation下で書き直すことで定義できる.
(1)Vulnerability from metric misalignment (non-robust features)
今回考えているモデルでは特徴によって自然に定義される内積を利用可能で,は入力空間における内積を定義する.これはマハラノビス距離であり,識別器により学習された特徴量が入力空間をどの程度変えているかを表現する.なのでadversarial vulnerabilityはとマハラノビス距離との差で正確に評価できる.
Theorem 1 (Adversarial vulnerability from misalignment)
次のように摂動がLagrangian penaltyによって決定される場合を考える.
は定数で負の対数尤度の項とadversarial constraint間のバランスをとる.non-robustなに対するadversarial loss は次のように与えられる.
と固定された値をとる場合,上の式はで最小値をとる.
ここまでがTheorem 1の内容だが自分の理解不足で何が言いたいのかよくわからなかった.一応論文曰く,ある方向に沿ったadversarialなmetricにおける微小な変化がモデルに大きな影響を与えるということを示しているとのこと.直感的にはデータの背後にある多変量ガウス分布は等方的なものではなく共分散行列の非対角成分が値を持つ偏った分布なため,分散が小さい方向に摂動を与えれば摂動が小さくても尤度が大きく下がり,adversarial perturbationsが等方的な摂動をとるためそのような方向の摂動を作れてしまうということだと思う.論文のFigure 4に学習結果が載っていて,robust learningによって得られたパラメータはどちらかといえば等方的なものになっている.
(2) Robust Learning
non-robustな最優推定結果のパラメータをとする.以下の定理はrobust problemにおいて学習されたパラメータの振る舞いを特徴付ける.
Theorem 2 (Robustly Learned Parameters)
robustな共分散に対して,任意のにおいて以下が成り立つが存在する.
Theorem 1の部分で述べたように,が大きくなると共分散行列は単位行列へと近づいていく.これは摂動の方向に出力が影響を受けないようになった結果と言える.
(3) Gradient Interpretability
先行研究においてrobust modelの勾配は潜在的に意味を持ったように見えることが観測されている.この振る舞いはTheorem 2の自然な結果であり,実際にパラメータがrobustに学習された結果,線形分類器の勾配と二つの分布の平均をつなぐベクトルが内積のもとでよくalignmentされている.
Theorem 3 (Gradient alignment)
とをそれぞれ通常の学習,ロバスト学習によって作られた線形の識別器とする.分類器の入力に対する勾配とデータのクラス間をつなぐベクトルの成す最大の角度はロバストモデルの方が小さい.
Discussion
実験において,で制約されたadversarial perturbationsに対するrobust trainingが分類器が距離と異なるメトリックによって引き起こされる特徴量に依存することを防ぐのを見た.そのため,adversarial trainingはデータ依存の特徴量とenforced prior間でのトレードオフを許容したものとなっている.
Robustness and accuracy
先行研究と同様,robust trainingは精度の高い分類器の学習を阻むという結果が得られた.ただこの論文の著者らはrobustnessとaccuracyを両立したモデルは実現可能だと主張している(ただappendixにある2つの2次元ガウス分布から生成されたデータの分類を例に挙げており,先行研究で言われていた入力の高次元がadversarial examplesを引き起こすという主張を考えると両立可能というのは微妙な主張になっている).
まとめ
なんとなく読んでいて違和感を覚える点もあったが,基本的にはなるほどといった感じ.仮にこの論文の主張が真だとするとCNNに対して色々と面白いことができそうな気がする.