2014年までに、最先端のニューラルネットワークには知られていながら説明のつかない失敗が存在していた。画像を微小な、しばしば人間の目には見えないほど小さな、意図的に最悪のケースとなる摂動で変更すると、ネットワークは高い確信度でそれを誤分類する。同じ改変画像は、異なるデータで訓練された多くの異なるアーキテクチャを騙す傾向があり、このことは欠陥が個々のネットワークではなく訓練のレシピ自体にあることを示唆していた。

初期の説明では、深層ネットワークの想定される極端な非線形性と過学習が原因とされたが、ドロップアウト、事前訓練、モデル平均化といった標準的な対策では脆弱性は取り除かれなかった。Goodfellow、Shlens、Szegedyは逆の仮定を検証した。うまく訓練できるアーキテクチャ(ReLU、maxout、LSTM)は意図的にほぼ線形であり、高次元の入力空間では線形性だけで十分だというのである。数十万のピクセルがあり、それぞれが画像精度の1ビット未満だけずらされると、内積の小さな項が積み重なってネットワークの活性化に大きな変化を生む。

この見方から高速な攻撃が導かれた。入力の周りでコストを線形化し、勾配の符号で摂動を与えるもので、コストは逆伝播1回分である。MNISTでは、この手法は浅いソフトマックスモデルを99.9%の誤り率に、maxoutネットワークを89.4%の誤分類に追い込み、いずれも高い確信度でそうなった。ImageNetでは、1ピクセルあたりわずか0.007の摂動でパンダがテナガザルになった。安価に生成できることも防御を変えた。このような例での敵対的訓練はドロップアウトだけを超える正則化をもたらし、テストセットの誤差を減らした。

この研究は実務エンジニアにとってもこの失敗の謎を解き明かした。2015年12月下旬、Recurse CenterのCodewordsはJulia Evansによる図解付きの解説を公開し、Docker化されたノートブックからGoogLeNetへの攻撃を再現した。黒い画像がペーパータオルになり、パンダがハゲタカになった。Hacker Newsのスレッドは268ポイントと66コメントを集め、読者たちはこの論文がその後のニューラルネットワークの波にも依然として当てはまると指摘した。

線形性を仮定する。勾配の符号に沿って摂動を与え、その攻撃例で訓練する

以前の試みは非線形性と過学習を原因としたが、逆を仮定することで敵対的例は謎ではなく予測可能になった

仕組みは次元とともに拡大する。センサーの精度を下回る摂動でも、数十万のピクセルにわたって合算されれば出力を決定的に変える

攻撃1回につき逆伝播1回で済むため敵対的訓練が実用的になり、失敗モードをドロップアウト単独を上回る正則化に変えた

転移を説明した。高次元で線形に振る舞うモデルはすべてこの盲点を共有するため、1つの例が多くのアーキテクチャと訓練セットを騙す

モデルが不可解に見える仕方で失敗したときは、最も安価な説明をまず試すこと。失敗を安価に生成できるなら、それに対して安価に訓練することもできる。

最初の版は2014年12月20日にarXivに現れ、2015年3月に改訂された。摂動0.007でのパンダからテナガザルへの画像は敵対的例の代表的な図となった。1年後、Julia EvansのCodewordsの解説により読者はGPUなしのノートPCでこのトリックを再現できた。パンダはハゲタカに、黒い画面はペーパータオルになった。そしてHacker Newsで268ポイントと66コメントを集め、ある読者はこの論文がその後のニューラルネットワークの波にも依然として大いに当てはまると述べた。

出典をたどる

出典

  1. Explaining and Harnessing Adversarial Examples (arXiv:1412.6572) arXiv · arxiv.org ·
  2. How to trick a neural network into thinking a panda is a vulture Codewords (Recurse Center) · codewords.recurse.com
  3. How to trick a neural network into thinking a panda is a vulture — Hacker News discussion Hacker News · news.ycombinator.com ·