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

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

防御手法

敵対的学習 (Adversarial Training)

敵対的サンプルの防御手法。AIの学習時に、通常の学習データに敵対的サンプルを加え、敵対的サンプルの特徴を学習することで、敵対的サンプルによる誤分類を抑制します。

敵対的学習は、敵対的サンプルに対する防御の1手法です。2014年に論文「Explaining and Harnessing Adversarial Examples」で提案されました。

本手法は、正常データと敵対的サンプルの特徴をAIに学習させる防御手法です。AIの学習時において、正常データと敵対的サンプルに対する誤差(Loss)をそれぞれ計算し、これを足し合わせた値を基にAIの重み「w」を更新することで、敵対的サンプルの特徴を学習します。

以下は、敵対的学習の流れです。

敵対的サンプルの特徴を学習するイメージ

  1. 1. 学習中のAIを利用して敵対的サンプルを作成する。
  2. 2. AIに正常データ「x」と敵対的サンプル「x~」を入力し、それぞれの誤差「Loss」を得る。
  3. 3. それぞれ得た誤差「Loss(x, y)」と「Loss(x~, y)」に重み係数「α」を付けて足し合わせる。
  4. 4. 足し合わせた誤差「Loss」が最小になるように、重み「w」の値を更新する。

このように、AIの学習時に敵対的サンプルの特徴量を学習することで、敵対的サンプルによる誤分類を抑制します。

なお、敵対的学習は、通常のデータに加えて「敵対的サンプルを作成 -> 学習」する必要があるため、非常に多くの学習時間を要します。また、余計なデータを学習するためAIの精度が落ちることもあります。このため、精度を保ちつつ学習時間を短縮する様々な改善手法が提案されています。これらの手法は別項で紹介したいと思います。

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

情報公開日
2014/12/20
情報種別
論文
タイトル
Explaining and Harnessing Adversarial Examples
著者
Ian J. Goodfellow, Jonathon Shlens, Christian Szegedy
情報ソース
https://arxiv.org/abs/1412.6572
分類
敵対的サンプル
関連する開発工程
モデルの設置 (Deployment)