EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLESを読んだのでメモ
はじめに
EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLESを読んだのでメモ.
気持ち
adversarial examplesの存在はneural netの極度の非線形性によって誘発されると仮説が立てられているが,この論文では逆に線形な振る舞いによるものという説を唱えている.高次元空間における線形の振る舞いはadversarial exmaplesを引き起こすに足るものであるという.この観点からここではadversarial examplesを高速に生成する手法を提案している.
The Linear Explanation of Adversarial Examples
ここでは線形なモデルに対するadversarial examplesの存在について説明する.
まず重要な前提として一般的に入力の精度は制限されているということに留意する.ここでいう精度は,例えば画像認識を考えた際に各ピクセルの輝度値は0から255の256段階に離散化されており,256段階以上の表現力は持たないという事を意味している.そのため,このステップ幅未満の摂動を加えた場合に識別器の挙動を保証することができない.基本的には,である限り識別器はとを同じクラスに分類することを期待する.
と重みベクトルのドット積はとして計算される.adversarial perturbationはによって出力を増大させる.ここではこの増大をノルムの元でとすることで最大化することができる.仮にを次元とし,の平均強度をとすると出力はだけ増大することになる.これは出力が次元数に比例して変化することを意味しており,高次元になることで個々の次元の変化は微小でも出力には非常に大きな変化をもたらす事を示している.
上記は単純な線形モデルでも入力が十分高次元ならばadversarial examplesを持つ事を示しており,adversarial examplesが非線形によるという仮説とは異なるものである.さらにsoftmax regressionがadversarial examplesに対する脆弱性をもたらす事を示す.
Linear Perturbation of Non-linear Models
線形モデルの例からadversarial examplesの高速な生成方法を導くことができる.昨今のReLUやmaxout,LSTMなどは故意に線形に近い振る舞いをするように設計されており,neural netが線形モデルと同様の現象を引き起こす可能性があることが考えられる.
をモデルのパラメータとし,を入力,をのターゲット値とし,をneural netの学習時の損失関数とする.この損失関数を周りで線形に近似し以下のmax-norm constrained perturbationを得る.
このの算出方法をfast gradient sign methodとする.これはbackpropによって効率的に計算することができる.実際実験において様々なモデルに対して誤識別を引き起こす事を確認した.
Adversarial Training of Linear Models Versus Weight Decay
最も単純なモデルとしてロジスティック回帰を考える.この場合fast gradient sign methodは厳密に解くことができる.
を識別するというモデルを学習したとする.ただしはlogistik sigmoid functionとする.この時学習は損失をとした勾配降下法で行われる.この時勾配のsignはであり,である.従ってロジスティック回帰のadversarial versionは次の最小化問題として記述できる.
これはL1正則化に似ているが,L1正則化は学習時にコストに関係なく重みを抑えるのに対し上記はがサチっていれば重みを制約しない.従ってL1正則化は良いマージンが得られている場合に重みを減衰させてしまうためadversarial trainingより悪い正則化と見ることができる.
さらにmulticlass softmax regressionへと問題を広げる.この場合L1正則化はsoftmaxの出力を次元毎に変化させられるものとして扱ってしまうため(実際にはある次元の出力の変化が全体を変える),振る舞いとしてはさらに良くないものとなる.実際MNISTを使った予備実験ではadversarial trainingは程度で良い結果を出したのに対し,L1正則化の係数はでさえも大きすぎ,より小さい方が良い学習結果をもたらしている.
Adversarial Training of Deep Networks
ここでは以下のfast gradient sign methodに基づく正則化がMNISTにおいて有効に働く事を示した.
全実験においてとしたとのこと.ちなみに上は論文通りの式だがおそらく第二項目のの引数にが抜けてる.
Why Do Adversarial Examples Generalize?
あるモデルで計算されたadversarial examplesは異なるモデルでも有効に(敵対的に)働くことが知られている.従来はadversarial examplesはモデル分布の張る多様体上のpocketであると言われていたが,fast gradient sign methodではこれは1Dの連続的な部分空間で起こっていることが可視化によってわかる(論文のFigure 4).論文曰く1次元に伸びていることがadversarial examplesが複数のモデルで有効に働く理由とのこと.
ここでは仮説として,現在のneaural netの学習方法では同じデータセット(使うデータ自体は異なっていても良い)で学習された線形識別器(前でneural netと言っているのでおそらく最終層のこと)は全て似るという事を挙げている.この分類器はデータセットの異なる部分集合で学習された際に近似的に同じ分類器を学習することができ,この安定性がadversarial examplesの安定性をもたらしていると考えている.
まとめ
adversarial examplesが非線形性ではなく入力が高次元であることから説明がつくのはなるほどという感じ.