ディープニューラルネットワークを欺くための1ピクセル攻撃

いくつかの研究は画像上の人工的な摂動(小さな攪乱・ずれ)がDNNの誤分類を容易にすることができることを明らかにし、それに応じ「敵対的画像Adversarial Examples」と呼ばれるそのようなサンプルを生成するための方法がいくつか提案されています。本稿では、その中でも画像上の1ピクセルを変更するだけで、ニューラルネットワークに誤った画像を認識させ、特定の結果を返すように誘導する方法が提案されています。

論文:One pixel attack for fooling deep neural networks

1ピクセルで、ニューラルネットワークを攻撃する?

ニューラルネットワークを騙して、間違った画像として認識させるには、画像をどれくらい修正する必要がありますか?

—1ピクセルで十分です。

本研究によると、画像上の1ピクセルを変更するだけで、ニューラルネットワークに誤った画像を認識させ、特定の結果を返すように誘導することさえ可能になります。

この研究は、九州大学のJiawei Su、Danilo Vasconcellos Vargas、および桜井光一氏によって、行われたものです。1ピクセルを変更しにニューラルネットワークを欺くという不思議なテクニックを詳述した論文を発表しただけではなく、対応するKerasの実装も公開しています。この技術は「One Pixel Attack」(一画素アタック)と呼ばれています。ここでは1pixelでニュラルネットワークネットワークを欺く方法について簡単に紹介していきます。

Adversarial Examples

画像認識の分野では、DNNベースのアプローチは従来の画像処理技術よりも優れており、人間と競合する結果さえも達成しています。しかしながら、いくつかの研究は自然画像上の人工的”摂動”がDNNの誤分類を容易にすることができることを明らかにし、それに応じて「敵対的画像(Adversarial Examples)」と呼ばれるそのようなサンプルを生成するための効果的なアルゴリズムがいくつか提案されています。

敵対的画像を作成するための一般的な考えは、人間の目には知覚できないと期待される微調整された摂動(小さな攪乱・ずれ)を、正しく分類された自然画像に追加することで、下図のようにモデルに間違った答えを出力させてしまおう!といった感じです。

例えば、この例では、もともとモデルがパンダと正しく分類することができていた画像に”摂動”を与えることで、テナガザルと誤分類させています。しかし、これらの違いは人間にほとんど分からず、元画像(パンダ)のままに見えます。

出典:はじめてのAdversarial Example

しかし、以前の攻撃のほとんどは、敵対的な攻撃に対する極端に限定されたシナリオを考慮していませんでした。(すなわち、修正されたピクセルの量はかなり多い)

どうやって騙す?

実験はCIFAR-10とImageNetのデータセットで行われました。CIFAR-10は、60,000個の32 x 32ピクセルのRGBカラー画像、合計10個のカテゴリを含む画像認識データセットです。このデータセットに対する通常のニューラルネットワークの役割は、画像が属する分類を正しく予測することです。

一方、ピクセル攻撃の目的は、画像からピクセルを選択し、その色を変更し、ニューラルネットワーク出力のカテゴリラベルを変更し、正しいカテゴリへの信頼度を下げ、他のカテゴリの精度を向上させることによって対立画像を作成することです。つまり、ニューラルネットワークに間違ったカテゴリに分類させます。

本稿では、差分進化を用いて1つのピクセルのみを摂動させることによって、利用可能な唯一の情報が確率ラベルであるシナリオにおけるブラックボックスDNN攻撃を提案しています。

差分進化とは

微分進化(DE)とは進化的アルゴリズムの一つです。進化的計算における差分進化(略称: DE)とは、与えられた評価尺度に関する候補解を反復的に改良していき、問題を最適化する手法です。DEでは候補解集団(エージェントとよばれる)を保持して動作します。

直感的にいうと、複数の探索点の中から、自身以外の点をいくつか選んで新たな探索点を作成し、自身とその探索点を評価して更新する、といった感じです。新しく探索点を作成する際に、2つ以上の探索点から作成した差分ベクトルを使うことから、差分進化法と呼ばれています

DEでは、与えられた問題に対し、まず、その解候補となるような個体(値、ベクトル)をランダムに複数生成します。
次にこの作られた母集団に対して、変異、交叉、選択、と呼ばれる各段階を踏んで、新しい世代の子集団を作成します。エージェントの更新位置が評価尺度の上で改良を示したなら、それは棄却されず候補解集団の一部となります。そうでなければ、その位置は棄却されます。この過程が繰り返され、(最適解の保証はないが)解に到達します 。これを何世代分も繰り返すことで、個体集団世代を追うことに、どんどん進化させていき、個体を解に近ずけて行こうという進化的アルゴリズムの考え方です。

One Pixel Attack

 

本稿では、差分進化を用いて1ピクセルのみを摂動させることにより、DNN攻撃を提案しています。

使ってる画像は CIFAR-10. 画像サイズは 28×28 で各ピクセルは 0以上255以下の整数の三組 (RGB)です。. 1 pixel の修正は X×Y×R×G×B で表されます。これは離散空間で、この空間の上の最適化問題と見做して解いています。

まず、初期集団に対してその解候補となるような初期集団(値、ベクトル)がランダムに400個生成されます。各摂動は、5つの要素(x、y、R、G、B)を持つ集団上のタプルとしてエンコードされます。そして各反復でにより現在の母集団から400人の新しい子供が作成されます。子供たちは両親と競争しなければなりません、新しいサンプルが、親と比較して正しいカテゴリに対するニューラルネットワークの信頼性を低下させる場合、現在知られている最適解として、親はサンプル上の修正されたピクセルと置き換えられます。

その後、上記の3つのステップが数回繰り返されます。そして、最後の反復において、正しいカテゴリーに対するニューラルネットワークの信頼性を最小にする対面サンプルが選択されます。正しいカテゴリの最終的な信頼度よりも高い信頼度のカテゴリが他にある場合は、攻撃が成功したことになります。

結果

DNNによる多クラス分類としての物体認識. 70.97% の画像は、入力画像の 1 ピクセル を変更するだけで、恣意的に選んだ別なクラスに 97.47% の確信度で以って惑わすことが可能であることを示しました。3つのピクセルを修正することを可能にすることによって、この割合は82%に増加することができます。

One-Pixel Attackは、小さな拡散摂動を探すのではなく、たった1ピクセルの摂動に焦点を当てています。1ピクセルに対するこの脆弱性は今までとまったく異なるシナリオです。このような研究は、現在のDNNを理解するための重要なツールを提供してくれます。