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

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

Intriguing properties of neural networksを読んだのでメモ

はじめに

Intriguing properties of neural networksを読んだのでメモ.Adversarial examplesについて少し勉強してみたいと思い読んでみた.

気持ち

Deep neural networks(DNN)における二つの非直感的な振る舞いについて解析した論文.ここでの二つの非直感的な振る舞いとは,(1)DNNの作る特徴ベクトル(識別層への入力)は,個々の値は意味を持たずベクトルが作る空間が意味を持つ,(2)人が認識できない程度の計算された摂動(adversarial perturbation)を入力に加えることでDNNの出力を変えることができる,と言うもの.特に,二つ目の振る舞いに関しては,学習済みモデルと学習データから計算された摂動がテストデータや,データセットの異なる部分集合で学習されたモデルに対しても有効に働くと言う.

Units of: \phi(x)

x\in\mathbb{R}^mを入力画像,\phi(x)をDNNのある層の出力とする.DNNを用いない画像認識は色ヒストグラムや局所勾配情報などの特徴に依存しており,これらの特徴量は各次元ごとに意味のある値を保持している.DNNを用いた画像認識においても同様の解析を試みており,いくつかの研究ではhidden unitの活性値を意味のある特徴として解釈している.

unit毎に意味付けを行う場合では画像x'の認識方法として次のような定式化が可能である.

\displaystyle
x'=\underset{x\in\mathcal{I}}{\mathrm{arg}\max}\langle\phi(x),e_i\rangle

\mathcal{I}は学習データに用いていない画像の集合で,e_iはhidden unitに対応する自然な基底ベクトルのi番目の要素.この論文の実験においてランダムな方向v\in\mathcal{R}^nは意味的に関連する画像x'を得ることが示された.

\displaystyle
x'=\underset{x\in\mathcal{I}}{\mathrm{arg}\max}\langle\phi(x),v\rangle

この結果は\phi(x)に対してランダムな基底よりも自然な基底が必ずしも優れているわけではないと言うことを示唆しており,DNNがdisentangleされた情報を空間に持っているという考えにつながる.

この主張をMNISTで学習されたCNNとImageNetで学習されたAlexNetを使って評価する.自然な基底とランダム基底どちらを用いた場合でも画像の類似性をよく捉えていることがわかる(論文のFigure 1から4).

Blind Spots in Neural Networks

前述の解析ではDNNが(真の)入力分布の特定の部分集合に対して普遍性を獲得することが示されたが,補集合に対する振る舞いの説明は行われていない.ここではデータ分布のほぼ全ての点の近傍において\phiが非直感的な振る舞いをすることを示す.

一般的にCNNは強力な非線形関数であり,入力空間の非局所的な一般化されたpriorをエンコードするということが主張されている.言い換えれば,近傍に学習データを含まない入力空間の領域に低い確率を与えることができる.このような空間は,構造やラベル両方において共通するがピクセル空間において遠い,同一物体の異なる視点の画像などを表現可能と言える.

逆に上記の考え方は暗黙に入力空間において局所的には近い値を出力することを想定している.すなわち十分小さい半径\epsilon\gt0において,学習データxに対し摂動を与えたデータx+r;\|r\|\lt\epsilonの出力が正しいクラスに高い確率を与えることが期待される.これはcomputer visionの課題に対しては正当な考え方で,小さな摂動の与えれれたデータはデータ自身の所属クラスを変えない.しかし,この論文ではこの仮定(出力が入力の変化に対して滑らかに変わるというsmoothness assumption)は成り立たないという結果を出した.

ここでは出力を変化させる人が認識できないような小さな摂動を加えた入力(adversarial examples)を生成する方法を示す.Adversarial examplesはDNNによって表現される入力空間におけるmanifold内の穴(pockets)を表現していると言える.

Formal description

f:\mathbb{R}^m\rightarrow\{1\dots k\}を入力空間から離散のラベルへの写像とする.この写像は連続な損失関数\mathrm{loss}_f:\mathbb{R}^m\times\{1\dots\}\rightarrow\mathbb{R}^+を持つ.ここでは入力画像x\in\mathbb{R}^mと(xの真のラベルとは異なる)ターゲットラベルl\in\{1\dots k\}が与えられた時,以下の最小化問題を解くことでadversarial examplesを生成する.

\displaystyle
\min\|r\|_2\:s.t.\:f(x+r)=l,\:x+r\in[0,1]^m

x+rfによってlとして分類されるxにもっとも近いサンプルを期待する.これはf(x)\neq lである限りは非自明である.一般的にこの最小化問題を計算するのは困難であるため,ここではbox-constrained L-BFGSによって近似する.具体的にはf(x+r)=lを満たすように以下の問題をline-searchで解く.

\displaystyle
\min c|r|+\mathrm{loss}_f(x+r,l)\:s.t.\:x+r\in[0,1]^m

この問題は凸であるため厳密な解が存在するがDNNは一般的に非凸であるため最終的には近似解となる.

Experimental results

実験では次のような面白い結果が得られたとのこと.(1)実験に用いた全てのモデルと全てのサンプルにおいて元の画像と区別が難しい(しかし異なるクラスに識別される)adversarial examplesを生成,(2)多くのadversarial examplesは,異なるハイパーパラメータ(層の数や正則化,初期の重み)でスクラッチから学習されたモデルで誤識別を誘発し,(3)異なるデータセットの部分集合でスクラッチから学習されたモデルでも誤識別を引き起こす.

これらの結果はadversarial examplesがuniversalでありoverfittingによるものではないことを示唆する.一方でadversarial examplesを学習時に利用することでモデルの汎化性能を向上可能かもしれない.実際,MNISTを使った予備実験においてはerror rateを改善したとのこと.

Spectral Analysis of Unstability

前の実験でDNNの不安定性が実証できたので,ここではDNNの各層のスペクトルを図ることで安定性の測定と制御をする簡単な方法を述べる.

ここでは\phi(x)を入力xに対応する学習されたパラメータWを持つK層のネットワークの出力を示すとし,次のように記述する.

\displaystyle
\phi(x)=\phi_K(\phi_{K-1}(\dots\phi_1(x;W_1);W_2)\dots;W_K)

\phi_kk-1からk層への写像を表し,ReLUを使った変換\phi_k(x;W_k,b_k)=\max(0,W_kx+b_k)とする.\phi(x)の不安定性は上位の層のリプシッツ定数を調べることで説明可能で,定数L_k\gt 0は次のように定義される.

\displaystyle
\forall x,r,\|\phi_k(x;W_k)-\phi_k(x+t;W_k)\|\leq L_k\|r\|

結果としてモデルは\|\phi(x)-\phi(x+r)\|\leq L\|r\|,\:\mathrm{with}\:L=\prod_{k=1}^KL_kを満たす.\|W\|W作用素ノルムとする.ReLUを\rho(x)=\max(0,x)とすると,全てのx,r\|\rho(x)-\rho(x+r)\|\leq\|r\|を満たすため

\displaystyle
\|\phi_k(x;W_k)-\phi_k(x+r;W_k)\|=\|\max(0,W_kx+b_k)-\max(0,W_k(x+r)+b_k)\|\leq\|W_kr\|\leq\|W_k\|\|r\|

となり,L_k\|r\|=\|W_kr\|からL_k\leq\|W_k\|が得られる.一方でmax-pool層は\forall x,r,\|\phi_k(x)-\phi_k(x+r)\|\leq\|r\|
を満たす.また,\phi_kがcontrast-normalization layer\phi_k(x)=x/(\epsilon+\|x\|^2)^\gammaであった場合には次のようになる.

\displaystyle
\forall x, r,\|\phi_k(x)-\phi_k(x+r)\|\leq\epsilon^{-\gamma}\|r\|

ネットワークの不安定性の度合いは各全結合もしくは畳み込み層の作用素ノルムを計算することで得られる.全結合の場合には単純に重み行列の最大特異値として計算が可能.畳み込み層の場合は若干複雑で,ここでは一般的な畳み込み層と同様Wを4次元テンソルとした場合を考える.Cを入力チャネル,Dを出力チャネル,カーネルサイズN\times Nストライド\Deltaとした時畳み込みを次のように記述する.

\displaystyle
Wx=\left\{\sum_{c=1}^Cx_c\star w_{c,d}(n_1\Delta,n_2\Delta);d=1\dots,D\right\}

x_cは入力のc番目のチャネルで,w_{c,d}は入力のc番目のチャネルに一致する次元とd番目の出力チャネルに対応するカーネルの重みを表す.パーセバルの定理から作用素ノルムは次のように与えられる.

\displaystyle
\|W\|=\sup_{\xi\in[0,N\Delta^{-1})^2}\|A(\xi)\|

A(\xi)D\times(C\cdot\Delta^2)行列で各行は

\displaystyle
\forall d=1\dots D,A(\xi)_d=\left(\Delta^{-2}\widehat{w_{c,d}}(\xi+l\cdot N\cdot\Delta^{-1});c=1\dots C,l=(0\dots\Delta-1)^2\right)

となり,この時の\widehat{w_{c,d}}w_{c,d}の2次元フーリエ変換

\displaystyle
\widehat{w_{c,d}}(\xi)=\sum_{u\in[0,N)^2}w_{c,d}(u)e^{-2\pi i(u\cdot\xi)/N^2}

を表す.実際にImageNetで学習されたAlexNetのスペクトルを調べると第1層目から摂動に対する不安定性が現れていることがわかる(論文のTable 5).

まとめ

この論文ではadversarial examplesの存在とその汎用性が実験的に証明され,各層のスペクトルを解析することで脆弱性を図ることができるという点を示した.