nykergoto’s blog

機械学習とpythonをメインに

敵対的サンプリング検出のための基準としての相互情報量 - Understanding Measures of Uncertainty for Adversarial Example Detection

Understanding Measures of Uncertainty for Adversarial Example Detection
https://arxiv.org/pdf/1803.08533.pdf

概要 (200文字程度)

敵対的サンプルを判別する基準として相互情報量 (Mutual Information) が優れていることを主張する論文. MI の推定に Dropout を用いた MC を採用している.

Mnist と隠れ層2次元 Variational Autoencoder を用いて不確実性の分布を可視化し既存の基準である softmax entropy と MI の違いをわかりやすく説明している.

この論文の新規性

予測の不確実性を意味によって2つに分離し、モデルの知識不足部分の不確実性を取り出せれば敵対的サンプルを判別できるという主張を情報量の観点から議論している点.

不確実性の基準

そもそも不確実な入力には2つの種類がある

  1. 知識不足による認知の不確実性
  2. データの偶然性による不確実性

機械学習の文脈で言うと、前者はデータが欠乏しているために、その入力データに対する事後分布が平らになってしまうような現象を指す。

後者はそもそも入力データに対して出力のばらつきが激しくて予測が無理な場合を指す。 例えば表も裏も確率 1/2 で出るコイン投げの予測モデルなどは、知識ではなくデータの生成過程自体が完全にランダム性に支配されている為に起る不確実である。

一般に用いられる不確実性を測る基準として、予測値と入力のエントロピーがある。

$$ H[p(y | x)] = - \sum_{y \in Y} p(y| x) \ln p(y | x) $$

ここで $Y$ はモデルの予測値が取る離散的な空間を表している。 この基準は先の2つの不確実性を分離していない為、不確実性がモデルの知識不足から来るのか、それともデータの分散が激しいことから来るのかに関して判断することはできない。

そこでデータ $D$ と入力 $x$ が与えられた時のモデルのパラメータ $w$ とその予測値 $y$ の相互情報量 (Mutual Information) を考える。これは以下の式で表される。

$$ I(w; y | x, D) = H[p(y|x, D)] - {\mathbb E}_{p(w|D)}[H[p(y|w,x)]] $$

A, B の相互情報量とは B の情報を得た時に減少するAの不確かさのこと、と解釈することができる(A, B は逆でも成り立つ)。

今回でいうと、ラベル $y$ が与えられた時に減る $w$ に関する不確かさである。これは即ち $w$ に関して新しく得られた情報量とみなすことができる。

相互情報量が大きいような $x$ はどういう値かということを考えてみる。 相互情報量が大きいとは上記の議論より、得られる情報量が大きいということであるから、そのラベルの値 $y$ の価値が大きい(ひとつの $y$ を得るだけでとても大きな情報(知識)を得ることができる)。一方で相互情報量が小さいというのはラベルの価値が小さい、すなわち既にその入力 $x$ に対する $w$ の不確かさが十分に小さく、ラベルを与えられてもあまり情報が増えないということを表している。

よってこの相互情報量は、先の「不確実性の種類」で言うところの知識不足による不確実性(1) に相当する量である、とみなすことができる。

この情報量は直接的に計算できないが Dropout を用いた MC をすることで近似的に求めることが可能である。具体的にはラベルの事後分布を

$$ p(y|D,x) \simeq \frac{1}{T} \sum_{i=1}^T p(y|w_i, x) := p_{MC} (y|x) $$

の用に近似することで以下のように計算することができる

$$ I(w; y | x, D) \simeq H[p_{MC}(y | D, x)] - \frac{1}{T}\sum_{i=1}^T H[ p(y|w_i, x)] $$

不確実性の基準による違い

相互情報量であれ予測値のエントロピーであれ、入力画像 $x$ の分布(多様体)から著しく離れた $\hat{x}$ が与えられると大きな値を取る。 一方で予測値のエントロピーは入力画像 $x$ の分布(多様体) の近くであっても大きな値を取る場合がある。これはそういう画像が本質的に曖昧なもの, すなわちラベルがつけにくいものであるからである。

例えば人間が見ても 1 とも 7 とも見えるような画像があるとする。これは本質的に 1 or 7 が決定的に決められない曖昧な画像であるから予測値の softmax の値は複数のラベル(今回であれば 1 と 7) の確率が高い予測となる。エントロピーはひとつのラベルにピークを持つものほど小さくなる性質を持つので1、このような一つに決められないものに対してはエントロピーは大きくなる。 一方でMIは低い値を保つ(MIは (2) を測るものであるからである)。

さらに、敵対的サンプルとは元画像の持っているクラスとは別のクラスを持つ画像を作る行為であり、普通元のクラスの予測値を小さくし、高くしたいクラスの確率を大きくするように画像を修正する。

これは予測値のエントロピーを小さくするという効果もあるが MI によって測ることができる不確実性にも影響を与える、というのもエントロピーの下界が MI に相当するので、エントロピー最小化を行ってもMIより小さい値になることは無いからである。

MI と softmax の分散

softmax の分散と MI のテイラー展開した第一項は一致するので softmax の分散は MI の近似とみなすことができる。(詳細は論文参照のこと)

実験の対象と結果

MNIST に対して latend dim = 2 の VAE を用いて潜在空間の不確実性を可視化する実験と、犬と猫の分類問題に対する敵対的サンプルを entropy と MI とで予測しその不確実性の違いの特徴を調べる実験を行っている

MI と entropy の曖昧さの捉え方の違い

潜在空間で内挿したあと decoder を通して画像にしたものと、入力画像自体を内挿した画像とを用意してそれぞれ entropy と MI の値がどうなるかを表したのが以下の Figure2. である。

f:id:dette:20181128025644p:plain

上段の上の画像が潜在空間の内挿の画像で下が実空間上での内挿の画像を表している。
中段がそれらの entroy の値であり、下段が MI の値である。これを見ると entropy では潜在空間 (Latent Sapce) の内挿画像 (図の赤線) にたいしてピークを持っているのに対して MI ではピークがないことがわかる。これは潜在空間で内挿された画像は「不確実であるが本質的に曖昧で予測が曖昧なのは当然」な画像であるためデータの持つ偶然性も図ってしまう entropy は大きくなるが、モデルの知識に関する不確実性のみを測る MI ではそういう画像は曖昧で当然であるという判断になり小さいままなためである。

一方入力画像自体を内挿した場合 (Image Space) は entroy, MI ともにピークを持つ。これはそういう画像は訓練データに存在しておらず「この画像に対する知識は無い(言い換えるとモデルパラメータの分布の裾が広い)」ため、ラベルが与えられた時に得られる情報が大きいからである。

MNIST with VAE

隠れ層が2次元の VAE を用いて潜在空間上の点とその点での不確実性を可視化して、基準による違いを見る。 やり方は

  1. 潜在空間上で適当に点を取る
  2. decoder に通して画像空間上に射影して対応する画像を作成
  3. 作成した画像の不確実性を計算
  4. 以上を空間すべての点で計算して画像化する

という流れになっている。 fig1 が MI, fig4 が entropy の値を可視化したもの。どちらも白いところが不確実性が高い場所で黒くなるに連れて低い値となるようにプロットしている。色の付いている部分は MNIST の各クラスの画像の潜在空間上での値を表す。

f:id:dette:20181128030028p:plain f:id:dette:20181128030025p:plain

共通する傾向として中心から遠い(画像の多様体から遠い)場所では白い(=不確実性が高い)。

一方でよーく見てみると fig4 の方は色のついたクラスの間のところが白くなっているのがわかる。これは2つのクラスの間の画像で fig2 の上段の上の画像に相当するもので「数字っぽいけど本質的に曖昧でなんとも言えない画像」に対応している。 エントロピーだと不確実性を区別しないので、クラスの間は不確実性が高くなるというわけである。

もうひとつ気になるのは Dropout で不確実性をどの程度禁じできているのか、という点である。 これに関しては Dropout による変分推論は局所的なモードしか捉えられない為に事後分布全体の近似としては上手く働いていない。2 このため decoder によって生成された画像が意味をなしていないような場合でも高い信頼度を出してしまうような領域(holes と作者は呼んでいる)が出てしまう (figure5 がその例。 figure4 でも2時の方向に黒い holes が確認できる。)。3

このような穴があるがゆえ、敵対的サンプルはこの脆弱性をついて攻撃することが可能である。

そこで事後分布をちゃんと表現できればこの弱点を緩和できるのでは?という観点に基づいて修正を行う。 具体的には Dropout モデルをいくつも作ってアンサンブルする。こうすることで事後分布の mode の一つしか表現できないという弱点を解消できる。4

それをやったのが以下の figure6 で figure4 と比べるとだいぶ穴が減っているのがわかる

f:id:dette:20181128030125p:plain

犬猫分類

ASSIR cat and dogs データセットを用いて敵対的サンプルがどうかの判別を行い基準ごとの性質を確認する

使用するモデル

ResNet の Convolution 層を固定して Full Connection レイヤのみを fine-tuning して使用する。 Dropout はこの FC 層のみに適用し、 MC は 20 サンプルを抽出する。

確定的な予測は Dropout を使わないだけで重みの値は全く同じネットワークを使用する。

敵対的サンプルのアルゴリズム

  • Basic Iterative Method
  • Fast Gradient Method
  • Momentum Iterative Method

の3つを使う。

結果と考察

各種の敵対的サンプリング作成法によって作られた画像の分類精度を AUC で測ったのが以下の表である。

f:id:dette:20181128030140p:plain

DETERMINISTIC と MC の違いは予測時にも dropout を使って重みの事後分布の期待値として予測をしているかどうか、である(MCがテスト時にもdropoutを行う)。 相互情報量は dropout による近似を行わないと計算不能なため、DETERMINISTIC では N.A と記述されている。

結果を見ると MI が良い性能を出しておりまたエントロピーでは 0.50 を下回っている。 0.5 を下回る AUC は ランダムに判定するよりも性能が悪い ことになる。これは敵対的サンプルに対して過度に信頼度をおいていることを示している。

一方犬猫判定の精度においては、MCを用いたモデルの精度よりも確定的な値を用いたモデルの精度のほうが良いという結果になった。 これは Dropout の確率が高すぎたために畳み込み層の特徴の一部しか使えずに転移学習の足を引っ張る形になってしまうのが原因と考えられるので、 dropout は精度に関しては良い影響は与えられない。

議論と結論

  • 敵対的サンプルに対して制約を与えずにただ不確実性だけを見れば自動的に良いロバスト性を得られることを示したのは進展である。
  • Dropout だけが敵対的サンプルに対抗する手段であるとは思っていない。ただ確定的なモデルよりも攻撃するのが難しくなっただけ。
  • 隠れ層の可視化でわかったことは敵対的サンプルに対抗するためには第一にモデルのロバスト性を高めて不確実性を扱えるようにすれば、結果として騙されにくいモデルが出来上がる、ということ。

読んでみた感想

VAE を用いて潜在空間を可視化し、既存の基準と提案基準の違いをわかりやすく表現していて読みやすかった。 数式が出てくる論文は気分が良い。

次に読むべき論文は

敵対的サンプル系の論文読んだことないので読みたいね、ということで実験で使っていた手法一覧です。


  1. 最もエントロピーが小さいのはディラックデルタ関数となる場合であり、最もエントロピーが大きくなるのはすべてのクラスの確率が同じとなる場合である。

  2. これは KL距離が非対称であるがゆえ、VI が事後分布のピークの一つを近似するようなものになるという性質が原因

  3. (本当は訓練データに似たものの無い画像に対しては不確実だよーと言ってほしい)

  4. 当然計算量はモデル数が $n$ ならば $n$ 倍になってしまうという欠点は持っている