はじめに
敵対的サンプルとは、AIに誤った出力を引き起こすよう細工された入力データのことです。例えば、標識を認識する画像認識AIに対して、「一時停止」の標識を正しく認識するのを妨げるために、わずかなノイズを加えた画像が挙げられます。こうした画像への細工は「摂動」と呼ばれ、人間の目には見えないか人間には自然に見えるものが選ばれます。どちらの場合でも人間にとっては分かりにくいものですが、AIにとっては間違った出力を引き起こすものとなります。
敵対的サンプルに対しては、対策技術も提案されています。対策のアプローチとしては、敵対的サンプルの影響を緩和するように入力データを修正する方法や、誤った識別を引き起こすような異常な細工を検知する方法などがあります。本記事では、敵対的サンプルに対してモデルに耐性を持たせるための技術である、敵対的学習を解説します。
敵対的サンプルとは
敵対的サンプルは、元の入力データに対してノイズやパッチ(特殊なパターン)などの改変(摂動)を加えることで作成します。このとき加える摂動は、最適化問題を解くことで生成します。

図1: J. C. Costa et al., “How Deep Learning Sees the World: A Survey on Adversarial Attacks & Defenses” [6] (CC BY-NC-ND)
敵対的サンプルの作成方法として、代表的な方法の一つであるFast Gradient Signed Method (FGSM)[1]を例に説明します。攻撃対象のAIシステムとして、分類モデルを考えます。分類モデルに対する入力データ \(\boldsymbol{x}\) に対して、正解ラベル \(y\) が割り当てられるとします。また、損失関数を \(l\) とおきます。
敵対的サンプルを用いた攻撃では、攻撃者の目的に応じて2つの目標があります。一つは、攻撃者がAIの利用者に対して特定の出力に誘導することを目的とする。Targeted攻撃です。もう一方は、攻撃者がとにかくAIに誤った結果を出力させることを目的とする、Untargeted攻撃です。それぞれ、次式で敵対的サンプル \(\boldsymbol{x}’\) を得ます。
\( \boldsymbol{x}’ = \boldsymbol{x} – \epsilon \mathrm{sign} (\nabla_\boldsymbol{x} l(\boldsymbol{x}, y’)) \) …Targeted攻撃
\( \boldsymbol{x}’ = \boldsymbol{x} + \epsilon \mathrm{sign} (\nabla_\boldsymbol{x} l(\boldsymbol{x}, y)) \) …Untargeted攻撃
ここで、 \(\epsilon\)は定数とします。また、 \(y’\) は目標とするラベルを表します。Targeted攻撃では、目標とするラベルの方向へ近づくよう、ノイズを加えます。一方、Untargeted攻撃では、正解ラベルから離れるよう、ノイズを加えます。
Untargetedな攻撃に着目すると、敵対的サンプルの生成は以下の式で表されます。
\(\boldsymbol{\delta}^* = \underset{\boldsymbol{\delta}}{\mathrm{arg max}} l(f_\theta (\boldsymbol{x} + \boldsymbol{\delta}), y)\) …Eq. (1)
ここで、 \(f_\theta\) はパラメータ \(\theta\) をもつ分類モデルとします。
敵対的学習のアプローチ
敵対的学習では、モデルの訓練時に敵対的サンプルを生成し、訓練データに含めることで、モデルに対して敵対的サンプルに対する耐性を持たせます。
敵対的学習は、Min-Max最適化問題として考えることができます。具体的には、次式で表されます。
\(\underset{\theta}{\mathrm{min}} \mathbb{E}_{(\boldsymbol{x}, y) \sim \mathcal{D} } \left[\underset{\boldsymbol{\delta} \in \mathit{B}(\boldsymbol{x}, \epsilon)}{\mathrm{min}} l(f_\theta (\boldsymbol{x} + \boldsymbol{\delta}), y) \right]\) …Eq. (2)
ここで、 \((\boldsymbol{x}, y) \sim \mathcal{D}\) は、データ分布 \(\mathcal{D}\) の中からサンプルされた訓練データを、 \(\mathit{B}(\boldsymbol{x}, \epsilon)\) は許容される摂動の範囲を表します。内側の最大化部分では、損失が最大となるような摂動 \(\boldsymbol{\delta}\) を加えた敵対的サンプルを作成します。一方で、外側の最小化部分では、そのようにして作成された敵対的サンプルに対しても損失の期待値が最小となるように、モデルを学習します。
敵対的学習の分類
敵対的学習には、いくつかのアプローチが考えられます[2]。以下では、代表的なアプローチにおける技術的な概要を説明します。
正則化
このアプローチでは、機械学習の訓練で使用する損失関数に、敵対的サンプルに関する正則化項を追加します。例えば、文献[1]では次式のように損失関数を構成します。
\[ l'(f(\boldsymbol{x}), y) = \alpha \cdot l(f(\boldsymbol{x}), y) + (1-\alpha)(f(\boldsymbol{x}’), y)\]
ここで、\(\alpha\) は敵対的訓練の重みを設定するパラメータです。右辺の第二項で、敵対的サンプルを考慮します。このアプローチでは、Eq. (1)の最適化問題を解くことで得られる強力な敵対的サンプルを考慮するため、より強い敵対的サンプルに対しても対策できることが期待されます。
カリキュラム
敵対的訓練における問題の一つに、過学習があります。Eq. (2)の内側部分で作成する敵対的サンプルは、分類モデルの決定境界面付近に近づくことがあります。そのようなサンプルを多く学習すると、過剰に適合してしまい、分類モデルの決定境界面が不自然に乱れてしまいます。そのような場合、同じクラスの他のサンプルをうまく分類できなくなり、学習サンプル以外のデータに対する性能(汎化性能と呼びます)が低下する場合があります。
汎化性能の低下を防ぐため、敵対的学習の中で生成する敵対的サンプルの強さを少しずつ強くしてモデルの学習を進め、最良の性能が得られたときのモデルを採用する手法[3]が提案されています。最初から強力な敵対的サンプルを考慮するアプローチと比べて、カリキュラムにもとづくアプローチでは分類性能を確認しながら学習を進めるため、汎化性能の低下を抑えられることが期待されます。
適応的な摂動サイズ
FGSMにおいて摂動の大きさを表す \(\epsilon\) は、固定されたサイズです。Max-Margin敵対的訓練[4]では、敵対的サンプルを生成する際に、訓練サンプルと分類モデルにおける直近の境界面との間の距離(マージン)にもとづき摂動の大きさを調整します。これにより、敵対的訓練に適した摂動の大きさをもつ訓練データを生成します。
効率的な敵対的訓練
敵対的訓練の問題の一つに、敵対的サンプルの生成に時間がかかる点が挙げられます。文献[5]によると、敵対的サンプルの生成において、対象とするモデルの最初の層の重みだけを更新すれば良いことが報告されています。複数の層から構成されるモデルの中で最初の層にだけ着目して計算すれば良いため、計算にかかる時間を削減することができます。
敵対的訓練における課題
敵対的訓練における課題としては、通常のサンプルに対する汎化性能、敵対的サンプルに対する汎化性能、そして未知の攻撃に対する汎用性が挙げられます。敵対的サンプルの生成では分類モデルにおける分類境界付近のサンプルを生成することから、そのようなサンプルを学習する敵対的サンプルでは過学習が引き起こります。
こうした問題への対応の1つに、過学習を抑制するための技術の導入が挙げられます。例えば学習の早期停止があります。しかし、敵対的サンプルに対するモデルの堅牢性と汎化性能とはトレードオフの関係にあるため、いかにして双方の視点を考慮するかが課題となります。
また、近年はAIがさまざまな分野に応用されていることから、そうした各アプリケーションにおける敵対的サンプルの影響を考慮する必要があります。文献[1]では画像分類モデルに対する敵対的サンプルとその対策方法が提案されていますが、その後音声やグラフ、強化学習など、さまざまな分野における敵対的サンプルとその対策手法が提案されています。そのため、それぞれのアプリケーションにおける敵対的サンプルの影響評価が課題となります。
まとめ
敵対的サンプルに対する対策技術として、本記事では敵対的学習を解説しました。敵対的サンプルの影響を緩和する効果がある一方で、汎化性能の観点で課題も分かっています。AIを用いたさまざまなアプリケーションが開発されている中で、敵対的サンプルのような意図しない入力に対する堅牢性を考慮することが、AI開発における重要な点の1つとなるでしょう。
参考文献
[1] I. Goodfellow et al., “Explaining and Harnessing Adversarial Examples,” https://arxiv.org/abs/1412.6572
[2] T. Bai et al., “Recent Advances in Adversarial Training for Adversarial Robustness,” International Joint Conference on Artificial Intelligence, pp. 4312-4321, 2021.
[3] Q. Cai et al., “Curriculum Adversarial Training,” International Joint Conference on Artificial Intelligence, pp. 3740-3747, 2018.
[4] G. W. Ding et al., “MMA Training: Direct Input Space Margin Maximization through Adversarial Training,” International Conference on Learning Representations, 2020.
[5] D. Zhang et al., “You Only Propagate Once: Accelerating Adversarial Training via Maximal Principle,” Advances in Neural Information Processing Systems, 2019.
[6] J. C. Costa et al., “”How Deep Learning Sees the World: A Survey on Adversarial Attacks & Defenses,” in IEEE Access, vol. 12, pp. 61113-61136, 2024.