TOP

セキュアAI研究所

コラム

お問い合わせ

研究メンバー

運営会社

RSS feed Atom feed

Adversarial Robustness Toolbox(ART)超入門

- ハンズオンで学ぶ、ARTの基本的な使い方 -

第1回:敵対的サンプル -非標的型の回避攻撃-

カテゴリ: art_beginner

Adversarial Robustness Toolbox(ART)は、AI*1セキュリティのためのPythonライブラリです。
ARTを使用することで、AIに対する攻撃手法(敵対的サンプル攻撃、データ汚染攻撃、モデル抽出、メンバーシップ推論など)とそれらに対する防御手法を検証することができます。攻撃からAIを守るためには、攻撃のメカニズムと適切な防御手法の理解が必要です。そこで本コラムでは、ARTを通してAIの安全を確保する技術を学んでいきます。

第1回は、敵対的サンプルを使用した非標的型の回避攻撃を実践します。
敵対的サンプル(Adversarial Examples)とは、AIの誤分類を誘発するデータであり、摂動(せつどう)と呼ばれる微小な変化を元のデータに加え、意図的に特徴量を変化させることで作成します。敵対的サンプルに加えられる変化は微小であり、通常は人間の目で異常を捉えることはできません。それ故に、データが敵対的サンプルか否かを見破ることは非常に困難です。なお、敵対的サンプルは変化の加え方の違いにより2種類に大別され、一つは「任意のクラスに誤分類」される非標的型、もう一つは「特定のクラスに誤分類」される標的型になります。今回は、前者の「非標的型」を実践します。

下図は、非標的型の敵対的サンプルをAI(本例では画像分類器)に入力し、誤分類を誘発させている様子を表しています。

  • 非標的型の敵対的サンプルが任意のクラスに誤分類されている様子
    非標的型の回避攻撃

このように、非標的型の敵対的サンプルを用いてクラスに関係なく誤分類させる攻撃を「非標的型の回避攻撃(Error-generic evasion attack)」と呼びます。
今回は、ARTに実装されているFast Gradient Signed Method(FGSM)を用いて敵対的サンプルを作成し、非標的型の回避攻撃を実践します。

第2回:敵対的サンプル -標的型の回避攻撃-

カテゴリ: art_beginner

Adversarial Robustness Toolbox(ART)は、AI*1セキュリティのためのPythonライブラリです。
ARTを使用することで、AIに対する攻撃手法(敵対的サンプル攻撃、データ汚染攻撃、モデル抽出、メンバーシップ推論など)とそれらに対する防御手法を検証することができます。攻撃からAIを守るためには、攻撃のメカニズムと適切な防御手法の理解が必要です。そこで本コラムでは、ARTを通してAIの安全を確保する技術を学んでいきます。

第2回は、敵対的サンプルを使用した標的型の回避攻撃を実践します。
敵対的サンプル(Adversarial Examples)とは、AIの誤分類を誘発するデータであり、摂動(せつどう)と呼ばれる微小な変化を元のデータに加え、意図的に特徴量を変化させることで作成します。敵対的サンプルに加えられる変化は微小であり、通常は人間の目で異常を捉えることはできません。それ故に、データが敵対的サンプルか否かを見破ることは非常に困難です。なお、敵対的サンプルは変化の加え方の違いにより2種類に大別され、一つは「任意のクラスに誤分類」される非標的型、もう一つは「特定のクラスに誤分類」される標的型になります。今回は、後者の「標的型」を実践します。

下図は、標的型の敵対的サンプルをAI(本例では画像分類器)に入力し、誤分類を誘発させている様子を表しています。

  • 標的型の敵対的サンプルが特定のクラスに誤分類されている様子
    標的型の回避攻撃

このように、標的型の敵対的サンプルを用いて(攻撃者が意図した)特定のクラスに誤分類させる攻撃を「標的型の回避攻撃(Error-specific evasion attack)」と呼びます。
今回は、ARTに実装されているFast Gradient Signed Method(FGSM)を用いて敵対的サンプルを作成し、標的型の回避攻撃を実践します。

第3回:Adversarial Training -回避攻撃の対策-

カテゴリ: art_beginner

Adversarial Robustness Toolbox(ART)は、AI*1セキュリティのためのPythonライブラリです。
ARTを使用することで、AIに対する攻撃手法(敵対的サンプル攻撃、データ汚染攻撃、モデル抽出、メンバーシップ推論など)とそれらに対する防御手法を検証することができます。攻撃からAIを守るためには、攻撃のメカニズムと適切な防御手法の理解が必要です。そこで本コラムでは、ARTを通してAIの安全を確保する技術を学んでいきます。

第3回は、回避攻撃の対策の一つであるAdversarial Trainingを実践します。
Adversarial Training(敵対的学習)とはAIの頑健性を高める防御手法であり、学習時に敵対的サンプルの特徴を学習することで、敵対的サンプルによる誤分類を抑制します。

下図は、AIの学習時において、正常データと敵対的サンプルに対する誤差(Loss)をそれぞれ計算し、これを足し合わせた値を基にAIの重みを更新することで、敵対的サンプルの特徴を学習している様子を表しています。

  • Adversarial Trainingの概念図
    Adversarial Training

このように、敵対的サンプルの特徴を学習したAIは、敵対的サンプルを正しい(本来の)クラスに分類します。
今回は、ARTに実装されているEnsemble Adversarial Trainingを使用し、Adversarial Trainingを実践します。

第4回:Feature Collition Attack -学習データ汚染攻撃-

カテゴリ: art_beginner

Adversarial Robustness Toolbox(ART)は、AI*1セキュリティのためのPythonライブラリです。
ARTを使用することで、AIに対する攻撃手法(敵対的サンプル攻撃、データ汚染攻撃、モデル抽出、メンバーシップ推論など)とそれらに対する防御手法を検証することができます。攻撃からAIを守るためには、攻撃のメカニズムと適切な防御手法の理解が必要です。そこで本コラムでは、ARTを通してAIの安全を確保する技術を学んでいきます。

第4回は、AIにバックドアを設置する学習データ汚染攻撃を実践します。
学習データの汚染とは、攻撃者が細工したデータ(汚染データ)を学習データに注入し、これを攻撃対象のAIに学習させることで、AIの決定境界を意図的に歪める行為を指します。決定境界が意図的に歪められることを「バックドアの設置」とも言い、バックドアが設置されたAIは、攻撃者しか知り得ない特定の入力データ(トリガー)を、攻撃者が意図したクラスに誤分類するようになります。一方、トリガー以外の入力データは正しく分類されます。それ故に、バックドアは検知が難しく、被害者はAIにバックドアが設置されていることに気づくことすら困難です。

下図は、バックドアが設置されたAIにトリガーを入力し、これを攻撃者が意図したクラスに誤分類させている様子を表しています。

  • 学習データ汚染の概念図
    学習データ汚染攻撃

このように、学習データを汚染してバックドアを設置する攻撃を「学習データ汚染攻撃(Data Poisoning attack)」と呼びます。
今回は、ARTに実装されているFeature Collision Attackを用いて汚染データを作成し、学習データ汚染攻撃を実践します。

第5回:Activation Clustering -学習データ汚染攻撃の対策-

カテゴリ: art_beginner

Adversarial Robustness Toolbox(ART)は、AI*1セキュリティのためのPythonライブラリです。
ARTを使用することで、AIに対する攻撃手法(敵対的サンプル攻撃、データ汚染攻撃、モデル抽出、メンバーシップ推論など)とそれらに対する防御手法を検証することができます。攻撃からAIを守るためには、攻撃のメカニズムと適切な防御手法の理解が必要です。そこで本コラムでは、ARTを通してAIの安全を確保する技術を学んでいきます。

第5回は、学習データ汚染攻撃の対策の一つであるActivation Clusteringを実践します。
Activation Clusteringとは、学習データに注入された汚染データを検知する防御手法です。本手法は、汚染データが含まれている可能性のあるデータセットを(バックドアが設置されていない)クリーンな分類器に入力し、隠れ層からActivationを取得します。特徴量とラベルが正しく紐付けられた正常データと、特徴量とラベルに乖離がある汚染データではActivationに差が生じるため、これをクラスタリングで選り分けることで、汚染データを検知します。Activation Clusteringはその手法の特性上、汚染データのみならず、(意図的・偶発的に関わらず)ラベル付けに誤りのあるミスラベル・データも検知することができます

下図は、汚染されたデータセットをクリーンな分類器に入力し、そのActivationをクラスタリングすることで、汚染データを検知している様子を表しています。

  • 汚染データを検知している様子
    Activation Clustering

今回は、ARTに実装されているActivation Defenceを使用し、Activation Clusteringを実践します。