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

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

Robustness May Be at Odds with Accuracyを読んだのでメモ

はじめに

Robustness May Be at Odds with Accuracyを読んだのでメモ.

気持ち

この論文ではadversarial robustnessとstandard accuracy(例えば画像分類の精度など)が両立しないことを示し,それはrobust modelとstandard modelが学習によって獲得する特徴表現が本質的に違うという主張をしている.さらに,adversarial trainingは人間に検知できないような摂動に対する頑健性を持たせるということから,人間の感覚に近い特徴を学習するように強いられているという仮説も立てている.実際GANでは人の目で見て滑らかなクラス間のinterpolationを生成しており,この事実がGANとadversarial robustnessの関係性を強く結び付けている.

On the Price of Adversarial Robustness

基本的な目的はモデルのstandard accuracyを最大化することで,モデルは次のexpected loss(population risk)が低いことが期待される.

\displaystyle
\mathbb{E}_{(x,y)\sim\mathcal{D}}[\mathcal{L}(x,y;\theta)]

Adversarial robustness

adversarial exampelsに対する頑健性獲得として期待されるのは次のexpected adversarial lossが低いモデルを獲得することである.

\displaystyle
\mathbb{E}_{(x,y)\sim\mathcal{D}}\left[\max_{\delta\in\Delta}\mathcal{L}(x+\delta,y;\theta)\right]

\Deltaは摂動の集合で,ここでは最も一般的なl_pノルムが制限された摂動を考える.

Adversarial training

ここではadversarial trainingとして次のempirical risk minimization problemを考える.

\displaystyle
\min_\theta\mathbb{E}_{(x,y)\sim\hat{\mathcal{D}}}\left[\max_{\delta\in\mathcal{S}}\mathcal{L}(x+\delta,y;\theta)\right]

一言で言えば,最悪ケースの摂動を見つけて,それに対する損失を下げるようにモデルを学習するということ.

adversarial trainingは有効ではあるが,学習時間の増加と必要学習データ量の増加を引き起こす.そのため,adversarial trainingを通常の学習に変えて行うのはその対価に見合うのかという疑問が生まれる.この疑問こそがこの論文のモチベーションとのこと.

Adversarial Training as a Form of Data Augmentation

まずはじめに,adversarial trainingをデータ拡張の究極の形としてみることで,\Deltaを良いモデルが満たすべき普遍性の集合とみなす.したがって,最悪ケースの摂動を見つけることは最も識別困難なデータかつ学習の助けとなるデータを見つけることに等しい.

ここで,良いモデルを学習するには不十分な量の学習データが存在した時に,adversarial trainingを行なった結果を見る.すると確かに通常の学習よりadversarial trainingによって得られたモデルの方が良い性能を示しており,データ拡張として機能していることが確認できる(と言っているが実際CIFAR10では\epsilonのノルムの大きさがadversarial trainingのそれではないくらい大きい値で気持ち超えてるくらいでその他はMNISTでしか十分な効果が見られていない.特にMNISTは2値の画像でその他のデータとは性質が違うので正直個人的にはなんとも言えない).一方,学習データが十分にある場合にはむしろadversarial trainingはstandard accuracyを悪化させるという結果となっている.

以上の結果を踏まえてなぜstandard accuracyとadversarial robustnessの間にトレードオフが存在するかということについて理解を得ることをこの論文の主題としている.

Adversarial robustness might be incompatible with standard accuracy

ここではstandard accuracyとadversarially robust accuracy間に内在するtensionを単純なモデルを用いて示す.

まず,次のような定式化がされる2値分類問題を考える.

\displaystyle
y\overset{u.a.r}{\sim}\{-1,+1\},\:x_1=\left\{
\begin{matrix}
+y,\:\mathrm{w.p.}\:p\\
-y,\:\mathrm{w.p.}\:1-p
\end{matrix}\right.,\:x_2,\dots,x_{d+1}\overset{i.i.d}{\sim}\mathcal{N}(\eta y,1)

\mathcal{N}(\mu,\sigma^2は平均\mu分散\sigma^2正規分布で,p\geq0.5\etaを十分高い値とすることで識別器は高いstandard accuracyを達成する.pは特徴量x_1とラベルがどの程度相関しているかを表す量で,ここではpが0.95となるような設定を考える.

Standard classification is easy

\mathcal{D}から得られたサンプルは一つのラベルに適度に相関した特徴とほとんど相関しない複数の特徴dから構成されているとする.この後者の特徴量は個々には識別になんの意味も持たないが,分布として見ると分類に役立つとのこと.特に以下のようなサンプルの平均を重みとするような線形識別器

\displaystyle
f_\mathrm{avg}(x):=\mathrm{sign}(w_\mathrm{unif}^\top x),\:\mathrm{where}\:w_\mathrm{unif}:=\left[0,\frac{1}{d},\dots,\frac{1}{d}\right]

dが十分大きければほぼ100%の分類精度達成する.実際,

\displaystyle
\mathrm{Pr}[f_\mathrm{avg}(x)=y]=\mathrm{Pr}[\mathrm{sign}(w_\mathrm{unif}x)=y]=\mathrm{Pr}\left[\frac{y}{d}\sum_{i=1}^{d}\mathcal{N}(\eta y,1)\gt0\right]=\mathrm{Pr}\left[\mathrm{N}\left(\eta,\frac{1}{d}\right)\gt0\right]

\eta\geq3/\sqrt{d}の時99%以上の精度を達成する.

Adversarially robust classification

前項でサンプル平均が高精度な分類器を作るのを見たが,これはl_\inftyノルムが制限された摂動で容易に騙すことができる.l_\inftyノルムが\epsilon=2\etaである時,摂動はラベルとほとんど相関のない特徴量をそれぞれ-y方向へシフトすることができる.この時各サンプルは\mathcal{N}(-\eta y,1)からi.i.d.にサンプルされたと見ることができる.

先ほどと同様の識別器を考える.

\displaystyle
\min_{\|\delta\|_\infty\leq\epsilon}\mathrm{Pr}[\mathrm{sign}(x+\delta)=y]\leq\mathrm{Pr}\left[\mathcal{N}\left(\eta,\frac{1}{d}\right)-\epsilon\gt0\right]=\mathrm{Pr}\left[\mathcal{N}\left(-\eta,\frac{1}{d}\right)\gt0\right]

結果として1%未満の正解率となる.

ここまでの議論はrobust features x_1とnon-robust features (x_2,\dots,x_{d+1}の間の違いを示している.結局のところ高精度な識別器を作ろうとするとnon-robust featuresが必要になるが簡単に操作可能なため摂動に対する脆弱性を生む.

Theorem 2.1 (Robustness-accuracy trade-off)

\mathcal{D}において1-\delta以上の精度を達成可能な任意の識別器はl_\inftyノルムが\epsilon\geq2\etaの摂動に対して最大でも\frac{p}{1-p}\deltaの精度となる.

この定理は通常の精度が上がるほど摂動に対して脆弱になることを意味する.

On the (non-)existence of an accurate and robust classifer

一般的な感覚として分布に関する完全な情報を使って誤差を最小化されたベイズ最適な識別器がrobustであることを期待するが,前述の設定においてはこれは成り立たない.精度と脆弱性トレードオフはデータ分布固有のものであり,データ量とは無関係である.特に分類問題においては,精度と頑健性の両方を達成可能なモデルは存在しないと仮定する.

これは人間のような高精度かつ頑健な識別器の存在から得られる通常の仮定とは大きく異なるものだが,いくつかのベンチマークでは人間より機械学習モデルの精度が上回っている事例が存在する.さらに,たとえ完璧な精度かつ頑健な識別器が特定のベンチマークに対して存在したとしても,識別器はnon-robust featuresに依存している可能性がある.そのため,adversarial trainingを行うとモデルがnon-robust featuresを利用できなくなり精度が下がる.

The importance of adversarial training

adversarial trainingによってadversarial examplesに対する頑健性を上げる場合以下の定理が成り立つ.

Theorem 2.2 (Adversarial training matters)

\eta\geq4/\sqrt{d}p\leq0.975に対して,aoft-margin SVMは99%以上の精度とl_\inftyノルムが\epsilon\geq2\etaである摂動に対して1%未満の精度となる.adversarial trainingを行なった場合,任意の\epsilon\lt1に対して精度pをもつ.

この定理は,adversarial trainingがadversarial examplesに対して非自明な精度を達成するのに必要不可欠であることを示している.

Transferability

通常の学習で得られた識別器はラベルに弱く相関した特徴量に依存するという興味深い結果を示しており,これは同じ分布で学習された任意の識別器で成り立つ.そのため,各特徴量に-y方向の摂動を与えることで得られたadversarial examplesは識別期間で転移が可能である.

Empirical examination

識別器には精度と頑健性にトレードオフがあることを述べたが,これをMNISTを使って調べる.実際,通常の学習が行われた識別器は弱く相関した特徴量を重みに割り当てており,頑健な識別器は特定の閾値を超える重みを割り当てていない.さらに興味深いことに,ラベルによく相関した特徴量のみを使って通常の学習した識別器は頑健な識別器になる.予想された通り,使用する特徴量を増やしていくと精度は上がるが頑健性がなくなっていく.

Unexpected benefits of adversarial robustness

頑健なモデルと通常のモデルは異なる特徴量の集合を獲得することはすでに示したが,ここでは頑健なモデルによって獲得される表現が有用なものであることを示す.

adversarial examplesに対する頑健性はモデルが満たすべき不変の性質であることとして見ることができる.摂動の集合\Deltaに対して少ない損失を達成できるモデルはそのような摂動に不変な表現を獲得する必要がある.そのため,adversarial trainingはそのような不変性をモデルに埋め込む方法といえる.また一方で人間は摂動に不変であるため,頑健なモデルは通常のモデルより人間に近い表現を獲得できることが予想される.

Loss gradients in the input space align well with human perception

まずはじめに,どの特徴量が識別器の予測に強く影響を及ぼすかを調べる.そのためにここの特徴量(入力画像の各ピクセル)に関する損失の勾配を可視化する.すると,頑健なモデルはエッジのような入力の画像に依存した部分に大きな勾配を持つ.一方で通常のモデルは特定のパターンは見られずほぼノイズのような勾配が浮かび上がった.この結果はadversarial trainingが人間の感覚に近いモデルを学習する一つの方法であることを示した.

Adversarial examples exhibit salient data characteristics

今度はadversarial examplesがどの程度視覚的に現れるかを調べる.実際にadversarial examplesを可視化した結果,頑健なモデルに対するadversarial examplesは,生成に用いたラベルの特徴を作り出す傾向を示した.この振る舞いは通常のモデルでは見られず,ノイズが加算された画像となっている.

Smooth cross-class interpolations via gradient descent

元画像とadversarial examples間の補間が滑らかに行われるかを確かめる.実際補間結果を見ると滑らかな変化が行われており,著者らはGANにおける補間が滑らかに行われるのは偶然の産物ではないとしている.これらのアプローチにおいて重要な(どの問題を指しているかいまいちわからないが)鞍点の問題がこの効果の根底にあると仮定しており,さらなる研究で将来的にこの辺りの課題や疑問が説明されていくことを期待するとのこと.

まとめ

個人的に精度と頑健性が両立しないというのはなんとなくしっくりくる.adversarial trainingが人間の感覚に近い特徴量を学習するというのもなるほどといったところで色々と応用が効きそうな実験結果に思える.