---
title: "穩健性（Robustness）"
slug: robustness
language: zh-TW
source: https://aiterms.tw/terms/robustness
updated_at: 2026-07-29
tags: [機器學習, 模型訓練, 模型評估, 資料處理, 深度學習, AI倫理與治理]
ipas_term: false
---

# 穩健性（Robustness）

> **你有沒有遇過模型在乾淨資料上很準，一有雜訊就整個掉分？**
>
> 你可以把穩健性想成模型的抗壓能力，資料稍微變一下，它還能不能站得住。
>
> 它重要是因為真實世界永遠不是考卷，輸入會有錯字、雜訊、攻擊和分布變化。
>
> 你可以把它想成一個把抽象概念拉回日常判斷的提示，先知道它解決什麼問題，再看技術細節。

### 容易混淆

> **穩健性 vs 準確率**
>
> 準確率看平均答對多少
> 穩健性看遇到變化時還穩不穩
> 最關鍵的區別是正常表現和受擾動表現。
>
> **穩健性 vs 泛化**
>
> 泛化看能不能處理沒看過的新資料
> 穩健性看資料被小幅擾動後會不會崩
> 最關鍵的區別是新資料和被干擾資料。
>

### 記住這句就好

> 資料一變就壞掉的模型，不夠穩健。

### 實際案例

> **打字錯誤**
> 使用者把拼字打錯一點點，模型還能理解意思，這就是穩健性好。
>
> **對抗攻擊**
> 圖片裡只改幾個像素，模型就看錯，這代表穩健性不足。
>

### 算法與應用

> 常見改善方式包括資料增強、對抗訓練、正則化和更好的驗證。
> 穩健性不是越高越好就結束，還要看精準度和成本的平衡。
> 實務上常要一起看分布偏移和對抗樣本。

### 穩健性其實有三種，不要混談

> 講一個模型「夠不夠穩健」時，要先確認在講哪一種，因為量測方式與強化手段完全不同。
>
> **對雜訊的穩健性。** 輸入有一點量測誤差、缺值或標註錯誤，輸出不會大變。強化方式是資料增強、加雜訊訓練、用對離群值穩健的損失函數。
>
> **對分布偏移的穩健性。** 上線後遇到的資料跟訓練資料不是同一個分布。例如用白天的照片訓練，晚上就失準。這是實務上最常害模型上線後掉分的原因。強化方式是擴大訓練資料的涵蓋範圍、做領域自適應（domain adaptation）、上線後持續監控輸入分布。
>
> **對對抗攻擊的穩健性。** 有人刻意構造一個人眼看不出差別、但會讓模型判錯的輸入。這是安全問題不是品質問題。強化方式是對抗訓練（adversarial training）、輸入檢測、限制模型的暴露面。

### 怎麼量穩健性

> 穩健性不能只看單一個測試集分數，那個分數只證明模型在跟訓練資料同分布的情況下有效。
>
> 實務上的做法是準備多組「壓力測試集」，各自對應一種你真的會遇到的變化：加了雜訊的版本、換光線或換裝置採集的版本、換時間段或換地區的版本。看的是模型在這幾組之間掉多少，而不是任何單一組的絕對值。
>
> 掉幅小代表穩健，掉幅大代表模型抓到的是資料集特有的捷徑，不是真正的規律。
>
> 這裡有個常見的陷阱：如果壓力測試集是從同一批資料隨機切出來的，那它跟原測試集同分布，測不出任何東西。壓力測試集必須在你關心的那個維度上真的不一樣。

### 情境判斷

> **Q1（直覺題）：如果模型對少量雜訊很敏感，最先懷疑的是什麼？**
>
> → 最先懷疑穩健性不足。
>
> **Q2（判斷題）：訓練準確率高就代表模型很穩健嗎？**
>
> → 不代表。它可能只是把訓練資料背熟，遇到新情況就掉下去。
>

### 常見問題

> **Q：怎麼評估模型穩健性？**
> A：通常會看噪聲、擾動、攻擊或分布改變下的表現。
>
> **Q：對抗訓練一定有效嗎？**
> A：通常有幫助，但會增加訓練成本，也不保證所有攻擊都扛得住。
>
> **Q：資料增強和穩健性有什麼關係？**
> A：資料增強能讓模型看過更多變形，有助於降低對單一模式的依賴。
>

### 相關術語

> - **對抗性穩健**：穩健性和對抗樣本最直接相關。
> - **準確率**：它是很常見但不夠完整的評估起點。
> - **泛化能力**：穩健性和泛化常一起被討論。
> - **偏差方差權衡**：理解它，比較容易看懂過擬合和穩健性的拉扯。
> - **過擬合**：穩健性差時，常會先懷疑它。

---

來源：https://aiterms.tw/terms/robustness
快查頁：https://aiterms.tw/terms/robustness
最後更新：2026/07/29
深度解說：https://aiterms.tw/learning/what-is-robustness