Yolo 深圳
深セン
今すぐ参加
用語集

敵対的攻撃

AIシステムに対する敵対的攻撃の影響、その種類、実際の例、およびAIセキュリティを強化するための防御戦略をご覧ください。

敵対的攻撃は、機械学習(ML)モデルを欺き、高い信頼度で誤った予測を行わせるよう設計された高度な操作手法の一種である。これらの攻撃は、画像、音声、テキストなどの入力データに、微細でしばしば知覚できない擾乱を導入することで機能する。 こうした変更は人間の観察者には無害またはランダムに見えるが、高次元ニューラルネットワークの決定境界における特定の数学的脆弱性を悪用する。人工知能(AI)システムが安全上重要なインフラに不可欠になるにつれ、これらの脆弱性の作用を理解することは、堅牢なAI安全プロトコルと防御メカニズムを開発するために不可欠である。

敵対的攻撃の仕組み

典型的な深層学習(DL)の学習プロセスでは、 モデルは学習データセット上の誤差を最小化するために重みを最適化する。しかし、これらのモデルは本質的に 多次元空間における複雑な写像を生成する。敵対的攻撃は、入力データを境界を越えさせモデルの分類を反転させるために必要な、 この空間における正確な「方向」を計算する。例えばコンピュータビジョン(CV)では、 パンダ画像のピクセル値を計算された量の「ノイズ」で変更すると、 システムが自信を持ってそれをテナガザルと誤分類する可能性がある。 人間の目には依然として完全にパンダに見えるにもかかわらず。

攻撃戦略は、一般的に攻撃者が標的システムに対して持つアクセスレベルによって分類される:

  • ホワイトボックス攻撃攻撃者はモデルのアーキテクチャ、勾配、およびモデル重みを完全に把握している。これにより、Fast Gradient Sign Method(FGSM)などの手法を用いて、数学的に最も効果的な摂動を計算することが可能となる。
  • ブラックボックス攻撃 攻撃者は内部モデルのパラメータを一切知らず、入力と出力のみを観察できる。攻撃者は しばしば「代替モデル」を用いて、標的システムへ効果的に転移する敵対的例を生成する。この特性は 転移性として知られる。

実世界での応用とリスク

理論研究では頻繁に議論されるものの、敵対的攻撃は実世界の展開、特に自律システムやセキュリティにおいて具体的なリスクをもたらす。

  • 自動運転車 自動運転車は交通標識を解釈するために 物体検出に大きく依存している。 研究により、停止標識に精巧に作られたステッカーやテープを貼ることで、車両の視覚システムを 速度制限標識と誤認させることが実証されている。この種の物理的攻撃は、自動車用途におけるAIの 危険な故障を引き起こす可能性がある。
  • 顔認証回避者: 生体認証に基づくアクセス制御を行うセキュリティシステムは、敵対的な「パッチ」によって侵害される可能性がある。 これらは眼鏡や衣服に装着する印刷パターンであり、特徴抽出プロセスを妨害する。これにより 権限のない個人が検知を完全に回避するか、特定のユーザーになりすまして セキュリティ警報システムを迂回することが可能となる。

Pythonによる敵対的例(Adversarial Examples)の生成

モデルがいかに脆弱になり得るかを理解するには、画像がいかに容易に擾乱されるかを観察することが有用である。YOLO26のようなモデルを用いた標準的な推論は一般的な用途では頑健であるが、研究者はモデル監視と防御を改善するため、しばしば攻撃をシミュレートする。以下の概念的な例では、PyTorch を用いて画像に対する敵対的擾乱(ノイズ)を計算するために勾配がどのように利用PyTorch

import torch.nn.functional as F

# Assume 'model' is a loaded PyTorch model and 'image' is a normalized tensor
# 'target_class' is the correct label index for the image


def generate_adversarial_noise(model, image, target_class, epsilon=0.01):
    # Enable gradient calculation for the input image
    image.requires_grad = True

    # Forward pass: get prediction
    output = model(image)

    # Calculate loss based on the correct class
    loss = F.nll_loss(output, target_class)

    # Backward pass: calculate gradients of loss w.r.t input
    model.zero_grad()
    loss.backward()

    # Create perturbation using the sign of the data gradient (FGSM)
    # This pushes the image in the direction of maximizing error
    perturbation = epsilon * image.grad.data.sign()

    return perturbation

関連概念

敵対的攻撃を、他の形態のモデル障害や操作と区別することが重要である:

  • データポイズニング 推論時(テスト時)に入力を操作する敵対的攻撃とは異なり、データポイズニングは モデル構築前に学習データ自体を改ざんし、 隠れたバックドアやバイアスを埋め込むことを指す。
  • プロンプト注入これは 大規模言語モデル(LLM)とテキスト インターフェースに特有の現象である。概念的には類似している(モデルを欺く点)が、ピクセルや信号データの数学的摂動ではなく、 意味論的な言語操作に依存している。
  • 過学習これは、モデルが基礎となるパターンではなく、学習データ内のノイズを学習してしまうという学習失敗である。過学習したモデルは、その決定境界が過度に複雑で脆弱であるため、敵対的攻撃に対してより脆弱になりがちである。

これらの攻撃に対する防御策の開発は、現代のMLOpsの中核をなす要素である。 敵対的学習(攻撃対象となる例をトレーニングセットに追加する手法)などの技術は、モデルの耐性を高めるのに役立つ。 Ultralytics プラットフォームは、厳密なトレーニングと検証のパイプラインを促進し、チームがエッジデバイスへのデプロイ前にモデルの堅牢性を評価することを可能にする。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加