機械学習のシステムは、有能ではあるが必ずしもスマートではない。彼らには、常識がない。そのことにつけこんだ研究者たちが、画像認識システムに対するおもしろい攻撃テクニックを作った。彼らが作った特殊なステッカーは、AIにとって、あまりにもおもしろくて興味深いので、結局そこに何も見いだすことができないのだ。そのステッカーが、アクセサリーとして流行りそうだ、とぼくが感じたのは、どうしてだろう?
コンピュータービジョンはものすごく複雑な問題であり、人間ですら、正しい画像認識のためには、認識の近道を必要とする。だから、コンピューターがそうであっても驚くには当たらない。
これらのシステムが取る近道のひとつが、すべての画素を同等に重要視しないことだ。たとえば、家の画像があって、その背後は青空、前面に草地があるとしよう。いくつかの基本的なルールにより、コンピューターにはこれが–空と草が写っていても–空や草の画像ではないことが分かる。そこでコンピューターはそれらを背景と見なし、中央にある形状の分析に多くのCPUサイクルを費やす。
そこで、Googleの研究者たちは考えた(PDF): もしもその近道が混乱して、コンピューターが家を無視し、なにか別のものに注意を注いだらどうなるか?
対戦相手となるシステムを訓練して、いろんな特徴のある小さな円〔上図左〕を作らせ、ターゲットのシステムを混乱させようとした。円には、いろんな色や、形、サイズがあり、それらのどれが画像認識システムの注意を引くかを見ていく。そのAIは、特定のカーブに着目した、とか、特定の色の組み合わせを背景ではないものと見なした、などなど。
そうやって、右図に示すような、サイケデリックな渦巻きがいろいろ出来上がった。
そしてそれを、システムが知っているもの…たとえばバナナ…の横に置くと〔上図タイトル画像〕、バナナのことは即忘れて、それが渦巻きの画像だと認識する。また、画像の中に名前のあるステッカーを作って既存の画像と合わせると、違った結果になる。
研究者たちはこれを、画像固有ではなくシステム固有を目指して行った。つまり、その画像認識システムに(特定の画像ではなく)これらの不思議な渦巻きのどれを見せても、混乱した結果を出力するように。
これは一体、何のための研究だろう? 具体的にはたとえば、数枚のこんなステッカーを衣服の上につけて空港の監視カメラの前を通ると、画像認識システムはその人が逃走中の強盗犯人であっても、見抜けないだろう(もちろん犯人の顔などは事前に訓練されている)。ただし、このシステム騙しに成功するためには、そのシステムをよく知り、大量のステッカーで事前にテストしなければならないだろうが。
コンピュータービジョンシステムを騙すもう一つのやり方は、画像に何度も小さな変更を加えると、それらのわざと置かれた画素によっては、銃の画像を亀と認識したりする。しかしこれらの、極端に局所化された“動揺と混乱”によって、新たな脅威が作る出されることがありえる。
われわれが実験したシステム攻撃は、現実世界でも有効である。しかも、ステッカーという、一見、人畜無害なものを利用する。これらの結果は、攻撃をオフラインで作っておき、それを広範囲にシェアできる、ということを示している。
人間はこの程度のパッチに気づくことができるが、でもその意図は見抜けずに、アートの一種かと思ったりするだろう。だから、小さな動揺混乱に対する防御策だけでは不十分である。もっと局所的で大きな動揺や混乱が、認識分類システムを無能化することもありえるのだ。
研究者たちはこの実験と結果を、ロングビーチで行われたNeural Information Processing Systemsカンファレンスで発表した。