對抗式 ML:核心概念
對抗式機器學習的歷史與基本原理——擾動攻擊、逃避與投毒、穩健性——將古典對抗式 ML 銜接至 LLM 特有攻擊。
對抗式 ML 簡史
對抗式機器學習並非自 LLM 開始。這個領域源自影像分類:研究者發現對像素進行人眼難以察覺的微小修改,即可使神經網路以高信心把影像分錯類。
| 年份 | 里程碑 | 意義 |
|---|---|---|
| 2004 | 針對垃圾郵件過濾的對抗攻擊 | 首個實用的對抗式 ML |
| 2013 | Szegedy 等人 — 影像對抗範例 | 正式發現神經網路的對抗脆弱性 |
| 2014 | FGSM(Goodfellow 等人) | 第一種高效率的對抗範例產生法 |
| 2017 | PGD(Madry 等人) | 強力的迭代攻擊,成為基準 |
| 2020 | TextFooler、TextBugger | 適用於 NLP 的對抗攻擊 |
| 2023 | GCG 通用後綴(Zou 等人) | 對 LLM 對齊的梯度式攻擊 |
| 2024+ | 多模態攻擊、代理攻擊 | 對抗式 ML 與自主 AI 系統相遇 |
四大攻擊類別
對抗式 ML 攻擊依目的與發生時機分為四類:
1. 逃避攻擊(Inference-Time)
於推論期打造輸入,使模型產出錯誤輸出,而不修改模型本身。
| 古典 ML 範例 | LLM 對等 |
|---|---|
| 停車標誌上的對抗貼片造成誤判 | 提示上的對抗後綴造成越獄 |
| 擾動影像騙過惡意程式分類器 | 混淆文字繞過毒性過濾 |
# 古典:擾動影像
adversarial_image = original_image + epsilon * sign(gradient)
# LLM:對提示附加對抗後綴
adversarial_prompt = harmful_request + " " + optimized_suffix2. 投毒攻擊(Training-Time)
修改訓練資料以改變模型行為——可能降低一般效能,或植入特定後門。
| 投毒類型 | 機制 | 範例 |
|---|---|---|
| 可用性 | 降低整體模型品質 | 注入雜訊/錯誤標籤 |
| 針對性 | 對特定輸入改變行為 | 模型對某特定人物誤判 |
| 後門 | 植入以觸發器啟動之行為 | 無觸發器時表現正常,觸發時表現異常 |
3. 模型擷取攻擊
透過查詢模型並以回應訓練克隆,竊取其功能。
| 技術 | 查詢預算 | 逼真度 |
|---|---|---|
| 隨機查詢 | 高(數百萬) | 低 |
| 主動學習 | 中(數千) | 中 |
| 蒸餾 | 中 | 中高 |
| API 式擷取 | 視速率限制而定 | 不一 |
4. 推論攻擊(隱私)
擷取關於訓練資料或個別資料點的隱私資訊。
| 攻擊 | 揭露內容 | LLM 相關性 |
|---|---|---|
| 成員推論 | 特定紀錄是否曾於訓練資料 | 判斷私密文字是否被用於訓練 |
| 模型反演 | 自模型重建訓練資料 | 擷取被記憶的 PII、程式或機密 |
| 屬性推論 | 推論訓練資料主體的敏感屬性 | 由模型行為判定人口統計 |
擾動攻擊:基礎
對抗性擾動的概念是對抗式 ML 的核心。
擾動如何運作
擾動是對輸入的小幅改變,對人類(理想上)難以察覺,但會讓模型產生不同輸出:
x' = x + δ 其中 ||δ|| ≤ ε
x = 原始輸入
x' = 對抗輸入
δ = 擾動(小變動)
ε = 擾動預算(允許的最大變動)
從影像到文字
影像空間的擾動是連續的(調整像素值)。文字中的擾動則必須是離散的(換詞或換 token),帶來不同挑戰:
| 領域 | 擾動類型 | 限制 | 挑戰 |
|---|---|---|---|
| 影像 | 像素值變動 | L∞ 或 L2 範數 ≤ ε | 變動須難以察覺 |
| 文字 | 字/token 替換 | 語意等價 | 須維持意義與文法 |
| LLM 提示 | token 序列變動 | 任務特定 | 須達成攻擊目標 |
穩健性:防禦視角
穩健性衡量模型對對抗輸入的抗性。
| 穩健性類型 | 定義 | 量測 |
|---|---|---|
| 經驗穩健性 | 對已知攻擊方法的抗性 | 攻擊成功率 |
| 認證穩健性 | 對擾動容忍的數學證明界 | 形式化驗證 |
| 分布穩健性 | 在分布外輸入上的效能 | OOD 基準 |
穩健度與準確度的取捨
一個廣被接受的發現:讓模型對對抗範例更穩健,通常會降低其於乾淨輸入上的準確度。就 LLM 而言,這反映為:
- 對越獄非常抗拒的模型,也可能拒絕合法請求(過度拒答)
- 非常樂於助人且靈活的模型,通常較易被越獄
- 找到適切平衡是持續的挑戰,沒有完美解法
銜接至 LLM 攻擊
古典對抗式 ML 概念可直接對應 LLM 攻擊技術:
| 古典概念 | LLM 對等 | 主要差異 |
|---|---|---|
| 對抗範例 | 越獄提示 | 文字是離散,不是連續 |
| 擾動預算 | 提示的自然度限制 | 須維持可讀 |
| 針對性攻擊 | 將模型導向特定輸出 | 目標為行為,而非分類 |
| 通用擾動 | 通用越獄後綴 | 跨多個輸入皆有效 |
| 可轉移性 | 跨模型越獄 | 為某模型設計的攻擊可能適用於他模型 |
| 對抗訓練 | RLHF 安全訓練 | 以對抗範例訓練以建立抗性 |
相關主題
- 梯度式攻擊解析 — 打造對抗輸入的數學工具
- AI 威脅模型 — 決定攻擊可行性的存取層級與能力
- 預訓練 → 微調 → RLHF 管線 — 投毒攻擊所針對的訓練過程
- 分詞與其安全意涵 — 離散文字擾動與分詞的互動
參考資料
- "Intriguing Properties of Neural Networks" - Szegedy et al.(2013)- 發現神經網路對抗範例的奠基論文
- "Explaining and Harnessing Adversarial Examples" - Goodfellow et al.(2014)- 提出 FGSM 與對抗脆弱性線性假設的論文
- "Towards Deep Learning Models Resistant to Adversarial Attacks" - Madry et al.(2017)- 確立對抗穩健性評估基準的 PGD 攻擊論文
- "Universal and Transferable Adversarial Attacks on Aligned Language Models" - Zou et al.(2023)- 將古典對抗式 ML 銜接至 LLM 越獄的 GCG 論文
- "Taxonomy of Machine Learning Safety" - Goldblum et al.(2023)- 含跨模態對抗攻擊之 ML 安全威脅綜合分類
逃避攻擊與投毒攻擊的關鍵差異為何?