機械学習とかコンピュータビジョンとか

CVやMLに関する勉強のメモ書き。

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段階以上の表現力は持たないという事を意味している.そのため,このステップ幅未満の摂動\etaを加えた場合に識別器の挙動を保証することができない.基本的には,\|\eta\|_\infty\leq\epsilonである限り識別器はx\tilde{x}=x+\etaを同じクラスに分類することを期待する.

\tilde{x}と重みベクトルxのドット積はw^\top\tilde{x}=w^\top x+w^\top\etaとして計算される.adversarial perturbationはw^\top xによって出力を増大させる.ここではこの増大をL\inftyノルムの元で\eta=\mathrm{sign}(w)とすることで最大化することができる.仮にwn次元とし,wの平均強度をmとすると出力は\epsilon mnだけ増大することになる.これは出力が次元数に比例して変化することを意味しており,高次元になることで個々の次元の変化は微小でも出力には非常に大きな変化をもたらす事を示している.

上記は単純な線形モデルでも入力が十分高次元ならばadversarial examplesを持つ事を示しており,adversarial examplesが非線形によるという仮説とは異なるものである.さらにsoftmax regressionがadversarial examplesに対する脆弱性をもたらす事を示す.

Linear Perturbation of Non-linear Models

線形モデルの例からadversarial examplesの高速な生成方法を導くことができる.昨今のReLUやmaxout,LSTMなどは故意に線形に近い振る舞いをするように設計されており,neural netが線形モデルと同様の現象を引き起こす可能性があることが考えられる.

\thetaをモデルのパラメータとし,xを入力,yxのターゲット値とし,J(\theta,x,y)をneural netの学習時の損失関数とする.この損失関数を\theta周りで線形に近似し以下のmax-norm constrained perturbationを得る.

\displaystyle
\eta=\epsilon\mathrm{sign}(\nabla_xJ(\theta,x,y))

この\etaの算出方法をfast gradient sign methodとする.これはbackpropによって効率的に計算することができる.実際実験において様々なモデルに対して誤識別を引き起こす事を確認した.

Adversarial Training of Linear Models Versus Weight Decay

最も単純なモデルとしてロジスティック回帰を考える.この場合fast gradient sign methodは厳密に解くことができる.

y\in\{-1,1\}を識別するP(y=1)=\sigma(w^\top x+b)というモデルを学習したとする.ただし\sigma(z)はlogistik sigmoid functionとする.この時学習は損失を\mathbb{E}_{x,y\sim p_\mathrm{data}}\zeta(-y(w^\top x+b)),\zeta(z)=\log(1+\exp(z))とした勾配降下法で行われる.この時勾配のsign-\mathrm{sign}(w)であり,w^\top\mathrm{sige}(w)=\|w\|_1である.従ってロジスティック回帰のadversarial versionは次の最小化問題として記述できる.

\displaystyle
\mathbb{E}_{x,y\sim p_\mathrm{data}}\zeta(y(\epsilon\|w\|_1-w^\top x-b))

これはL1正則化に似ているが,L1正則化は学習時にコストに関係なく重みを抑えるのに対し上記は\zetaがサチっていれば重みを制約しない.従ってL1正則化は良いマージンが得られている場合に重みを減衰させてしまうためadversarial trainingより悪い正則化と見ることができる.

さらにmulticlass softmax regressionへと問題を広げる.この場合L1正則化はsoftmaxの出力を次元毎に変化させられるものとして扱ってしまうため(実際にはある次元の出力の変化が全体を変える),振る舞いとしてはさらに良くないものとなる.実際MNISTを使った予備実験ではadversarial trainingは\epsilon=0.25程度で良い結果を出したのに対し,L1正則化の係数は0.0025でさえも大きすぎ,より小さい方が良い学習結果をもたらしている.

Adversarial Training of Deep Networks

ここでは以下のfast gradient sign methodに基づく正則化がMNISTにおいて有効に働く事を示した.

\displaystyle
\tilde{J}(\theta,x,y)=\alpha J(\theta,x,y)+(1-\alpha)J(\theta,x+\epsilon\mathrm{sign}(\nabla_xJ(\theta,x,y))

全実験において\alpha=0.5としたとのこと.ちなみに上は論文通りの式だがおそらく第二項目のJの引数にyが抜けてる.

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が非線形性ではなく入力が高次元であることから説明がつくのはなるほどという感じ.