對抗範例(Adversarial Examples)是什麼?

透過微小擾動特意設計的輸入,能使經過訓練的 AI 模型產生錯誤預測的輸入樣本|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Adversarial Examples
主題標籤
AI安全、機器學習、深度學習
考點定位
非 iPAS 核心術語
最後更新
2026/06/23
對抗範例(Adversarial Examples)是什麼? AI安全機器學習
術語快查

搜尋意圖: 如果你在找「對抗範例 是什麼」或「對抗範例 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

TL;DR: 透過微小擾動特意設計的輸入,能使經過訓練的 AI 模型產生錯誤預測的輸入樣本

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

透過微小擾動特意設計的輸入,能使經過訓練的 AI 模型產生錯誤預測的輸入樣本

核心概念

對抗範例是機器學習安全研究中的核心議題。它們的存在證明了現代神經網路模型存在固有的脆弱性,這些脆弱性不是由於訓練數據不足或模型架構選擇不當引起的,而是來自於深度學習模型本身的數學特性。

在視覺領域,一個經典的對抗範例是將貓的圖像通過添加精心計算的噪聲進行修改,使其被識別為狗。在這個過程中,噪聲的大小足夠小,以至於人眼幾乎無法察覺修改,但足以完全改變模型的分類結果。這種現象的存在表明,機器學習模型在學習特徵時捕捉到了人類不易理解的模式或規律。

對抗範例可以分為兩類:白盒攻擊和黑盒攻擊。白盒攻擊指攻擊者可以完全訪問模型的架構和權重;黑盒攻擊則僅允許對模型進行查詢和觀察輸出。前者通常更容易實施,因為攻擊者可以計算損失函數相對於輸入的梯度。

運作原理

對抗範例的生成基於以下核心原理:神經網路在高維空間中的決策邊界往往不是平滑的,而是具有高度的褶皺和複雜性。這意味著在輸入空間中移動微小的距離,可能會跨越決策邊界,導致模型預測的劇烈變化。

最常見的生成方法是快速梯度符號方法(FGSM)。該方法計算損失函數對輸入的梯度,然後沿著梯度方向添加一個小的擾動。具體公式為:對抗樣本 = 原始輸入 + ε × sign(∇x L(x, y)),其中 ε 是一個小的標量值,L 是損失函數。

更精細的方法包括 Carlini & Wagner 攻擊,它使用優化算法在保持對抗擾動最小的同時,最大化模型的誤分類概率。這種方法能夠生成更強大、更難以防禦的對抗範例。還有 PGD(投影梯度下降)攻擊,它反覆應用梯度符號方法並在每一步後將結果投影回到允許的擾動範圍內。

CNN(卷積神經網路)對對抗攻擊特別敏感。研究表明,對抗範例的脆弱性不是特定於某個模型或訓練集的,而是在不同模型之間可以轉移的,這被稱為對抗可轉移性。這意味著針對一個模型生成的對抗例子可能對其他模型也有效。

實際應用

對抗範例研究在現實世界中有多個重要的應用場景。在自動駕駛領域,研究人員已經演示如何通過在停止標誌上貼上特殊的貼紙,使得車輛的感知系統錯誤地將其識別為時速限制標誌。這突出了安全攸關系統中考慮對抗魯棒性的重要性。

在安全系統中,對抗範例研究幫助開發者測試和改進面部識別、惡意軟體檢測和入侵檢測系統的魯棒性。通過主動尋找這些系統的弱點,安全工程師可以在攻擊者利用這些弱點前加以修復。

在醫療影像領域,對抗範例研究有助於理解和改進診斷系統的可靠性。例如,在 X 光或 MRI 掃描中添加不可見的擾動可能會導致醫療診斷模型做出錯誤的癌症檢測決定。

對抗範例也被用作一種資料增強技術。通過在訓練過程中包含對抗範例,可以提高模型的泛化能力和魯棒性。某些應用場景使用對抗訓練來增強模型在真實世界部署中的可靠性。

此外,研究人員還利用對抗範例來研究深度學習模型的內部表示和決策過程。通過分析模型對對抗擾動的反應方式,可以更深入地理解這些模型如何處理和詮釋輸入數據。

常見誤區

第一個常見誤區是認為對抗範例是一個過度理論化的安全問題,在實際應用中影響有限。事實上,已有多個研究證明對抗攻擊可以在真實環境中實施,例如通過物理攻擊(如特殊貼紙或照明條件)來欺騙實時的視覺識別系統。

第二個誤區是假設通過簡單地將對抗範例添加到訓練集中就可以完全解決問題。雖然這可以在一定程度上提高魯棒性,但它通常會增加計算成本,並且無法保證對所有可能的對抗攻擊的防禦。此外,針對某一類對抗攻擊的防禦可能對其他類型的攻擊無效。

第三個誤區是認為人類可以輕易識別對抗範例。實際上,對抗範例通常在視覺上對人類不可見,或者人類需要仔細檢查才能發現異常。這表明了 AI 模型和人類感知之間的根本差異。

與相關技術的比較

  • 對抗範例與數據中毒攻擊不同。數據中毒是在訓練階段透過在訓練集中插入惡意樣本來攻擊模型,而對抗範例是在推理階段修改輸入來欺騙已訓練的模型。

  • 對抗範例與後門攻擊的區別在於目的性。後門攻擊旨在在模型中植入隱藏的觸發機制,而對抗範例通過微小的通用擾動來誤導模型。

  • 對抗魯棒性強化與標準的模型優化不同。標準優化追求在測試集上的高準確率,而對抗魯棒性強化同時考慮模型在面對故意設計的對抗輸入時的表現。

  • 對抗範例與 Jailbreak 的聯繫在於二者都旨在導致 AI 系統偏離其預期行為,但對抗範例在像素級別操作,而 Jailbreak 在語義級別操作。

常見問題

對抗範例在實際應用中如何被利用?

對抗範例在現實中可以通過多種方式被利用。在自動駕駛中,攻擊者可以在交通標誌上貼上特殊圖案來誤導車輛的識別系統。在面部識別系統中,可以使用特殊的眼鏡或面具來欺騙身份驗證。在垃圾郵件檢測中,可以通過微小的文本修改來繞過過濾器。在醫療診斷系統中,對抗範例可能導致誤診。這些應用場景凸顯了在部署關鍵系統前進行充分的安全評估的重要性。

如何防禦對抗攻擊?

防禦對抗攻擊的方法包括多個層次。最直接的方法是對抗訓練,即在訓練過程中包含對抗範例以增強模型魯棒性。輸入變換方法如壓縮、拼接或特徵沙沙聲可以破壞對抗擾動。防禦性蒸餾將知識從複雜模型轉移到簡單模型,提高對抗魯棒性。認證防禦方法提供正式的魯棒性保證。結合多個防禦策略的防禦共生方法往往比單一防禦更有效。此外,定期的安全評估和紅隊測試對於發現和修復新的漏洞至關重要。

為什麼深度學習模型特別容易受到對抗攻擊?

深度學習模型容易受到對抗攻擊有幾個根本原因。首先,這些模型在高維空間中工作,決策邊界的複雜性使得微小的輸入變化可能導致大的預測變化。其次,神經網路傾向於學習高度線性的特徵,這些特徵可以被線性擾動所利用。第三,深度學習模型往往會過度擬合訓練數據分布中的特殊模式,對分布外的輸入變化不夠魯棒。最後,模型通常依賴於人類無法直接感知的特徵進行分類,這使得對手可以利用這種差異設計攻擊。