AIセキュリティ・マトリックス

開発工程 攻撃分類 攻撃手法 防御手法
学習データの収集/作成
(Data Preparation)
データ汚染
モデルの学習/作成
(Model Fitting)
モデル汚染
  • 信頼できる事前学習モデルの利用
  • 信頼できるAI開発会社の利用
  • サンドボックス環境の利用
  • 必要最低限の権限によるAIの稼働
  • 最新バージョンの機械学習フレームワークの利用
モデルの設置
(Deployment)
敵対的サンプル
データ窃取
  • 過学習の抑制
  • 差分プライバシー
  • ラベルのみ応答
  • 信頼スコアのマスキング
  • 勾配情報のマスキング
  • 信頼スコアのマスキング
  • モデルのアクセス制御
モデル窃取
  • モデルのアクセス制御
  • 学習データのアクセス制御
  • 窃取モデルの検知

FGSM(Fast Gradient Sign Method)

AIの誤分類を引き起こす敵対的サンプル(Adversarial Examples)を作成する手法。敵対的サンプルとは、AIの誤分類を誘発するように細工された入力データを指しており、オリジナルのデータに「摂動」と呼ばれる微小なノイズを加え、意図的に特徴量を変化させることで作成します。なお、敵対的サンプルを利用してAIの誤分類を誘発する攻撃を「回避攻撃(Evasion Attack)」と呼びます。

FGSMは、モデルの設置/運用・保守工程を狙った「敵対的サンプル」の1手法です。
2014年に論文「Explaining and Harnessing Adversarial Examples」で発表されました。FGSMは、攻撃対象となるAIの「勾配」を利用することで敵対的サンプルを作成します。よって、FGSMで敵対的サンプルを作成するためには、攻撃対象AIが攻撃者の手元にあることが前提となります(ホワイトボックス攻撃)。

先ずは、敵対的サンプルをおさらいしましょう。
敵対的サンプルとは、オリジナルのデータに摂動と呼ばれる微小のノイズを加えて特徴量を意図的に変化させたデータを指します。そして、この敵対的サンプルを利用してAIの誤分類を誘発する攻撃を回避攻撃(Evasion Attack)と呼びます。AIベースの顔認証システムや自動運転車に搭載される物体検知エンジンなどを騙す回避攻撃の検証事例も存在します。

敵対的サンプルを作成する手法は数多く提案されていますが、本項で紹介するFGSMはその代表的な手法です。

以下は、FGSMを使用して敵対的サンプルを作成する様子を表しています。
左がオリジナルのデータ(パンダ)、真ん中がオリジナルに加えられる摂動、右画像が敵対的サンプルです。ご覧のとおり、皆様の目にはオリジナルと敵対的サンプルの違いは識別できないでしょう。どちらも「パンダ」に見えると思います。

引用:Attacking Machine Learning with Adversarial Examples

ところが、この敵対的サンプルをAI(画像分類器)に入力すると、99.3%の精度でテナガザル(gibbon)として認識されます。これは、摂動によってオリジナルの特徴量がパンダからテナガザルに変化しているためであり、入力データの特徴量を基に分類を行うAIにはテナガザルに見えてしまいます。

FGSMでは、AIの入力データに対する損失の勾配を使用し、その損失を最大化するように摂動を入力データに加えていくことで敵対的サンプルを作成します。以下は、FGSMで敵対的サンプルを作成する流れです。

FGSMで敵対的サンプルを作成するイメージ
引用:AIディフェンス研究所

  1. 1. AIにオリジナルのデータ(Base Data)を入力し、誤差「Loss(o,l)」を計算する。
  2. 2. 誤差が大きくなるように、摂動(Perturbation)をオリジナルのデータに加える。
    ※この時、AIの重み「w」は固定する。
  3. 3. 誤差が十分に大きなるまで、1~2を繰り返す。
  4. 4. 終了条件を満たしたら摂動の追加を停止し、敵対的サンプルの作成を終了する。

この様子を損失関数の視点で表すと以下のようになります。
なお、原点「o」が損失が最も小さくなる(分類の誤差が最も小さくなる)地点です。

摂動により誤差が大きくなるイメージ
引用:AIディフェンス研究所

  1. 1. 誤差関数「Loss」を入力データ「xold」で偏微分し、現在の入力データにおける勾配を計算する。
  2. 2. 勾配が大きくなる方向にデータを更新(入力データに摂動を追加)し、新たなデータ「xnew」を得る。
  3. 3. 誤差が十分に大きくなるまで1~2を繰り返し、入力データを更新していく。
  4. 4. 終了条件を満たしたら更新を停止し、敵対的サンプル「xadv」を得る。

通常、AIの学習では勾配が小さくなる方向に重み「w」を更新していきますが、FGSMでは勾配が大きくなる方向にデータ「x」を更新していきます。勾配が大きくなればなるほど損失関数の原点から遠ざかっていくため、AIは入力データ(敵対的サンプル)を誤分類してしまいます。

なお、摂動の量が多すぎるとデータに多くのノイズが乗ることになり、見た目に違和感が生じることで敵対的サンプルが検知される可能性が高まります。よって、攻撃者は誤分類を引き起こしつつ見た目に違和感が生じないように、少しずつ摂動を加えていきます。

より詳細な内容を知りたい方は、解説ブログをご参照ください。

情報公開日
2014/12/20
情報種別
論文
タイトル
Explaining and Harnessing Adversarial Examples
著者
Ian J. Goodfellow, Jonathon Shlens, Christian Szegedy
情報ソース
https://arxiv.org/abs/1412.6572
分類
敵対的サンプル
関連する開発工程
モデルの設置 (Deployment)
防御手法
  • 敵対的学習
  • データ拡張
  • ネットワークの蒸留
  • アンサンブルメソッド
  • 特徴量の絞り込み
  • AIによる検出