穩健性是指模型在面對輸入數據的微小擾動、對抗性攻擊或分布偏移時,仍能維持其性能表現的能力。
容易混淆
穩健性 vs 準確率
準確率看平均答對多少 穩健性看遇到變化時還穩不穩 最關鍵的區別是正常表現和受擾動表現。
穩健性 vs 泛化
泛化看能不能處理沒看過的新資料 穩健性看資料被小幅擾動後會不會崩 最關鍵的區別是新資料和被干擾資料。
記住這句就好
資料一變就壞掉的模型,不夠穩健。
實際案例
打字錯誤 使用者把拼字打錯一點點,模型還能理解意思,這就是穩健性好。
對抗攻擊 圖片裡只改幾個像素,模型就看錯,這代表穩健性不足。
算法與應用
常見改善方式包括資料增強、對抗訓練、正則化和更好的驗證。 穩健性不是越高越好就結束,還要看精準度和成本的平衡。 實務上常要一起看分布偏移和對抗樣本。
穩健性其實有三種,不要混談
講一個模型「夠不夠穩健」時,要先確認在講哪一種,因為量測方式與強化手段完全不同。
對雜訊的穩健性。 輸入有一點量測誤差、缺值或標註錯誤,輸出不會大變。強化方式是資料增強、加雜訊訓練、用對離群值穩健的損失函數。
對分布偏移的穩健性。 上線後遇到的資料跟訓練資料不是同一個分布。例如用白天的照片訓練,晚上就失準。這是實務上最常害模型上線後掉分的原因。強化方式是擴大訓練資料的涵蓋範圍、做領域自適應(domain adaptation)、上線後持續監控輸入分布。
對對抗攻擊的穩健性。 有人刻意構造一個人眼看不出差別、但會讓模型判錯的輸入。這是安全問題不是品質問題。強化方式是對抗訓練(adversarial training)、輸入檢測、限制模型的暴露面。
怎麼量穩健性
穩健性不能只看單一個測試集分數,那個分數只證明模型在跟訓練資料同分布的情況下有效。
實務上的做法是準備多組「壓力測試集」,各自對應一種你真的會遇到的變化:加了雜訊的版本、換光線或換裝置採集的版本、換時間段或換地區的版本。看的是模型在這幾組之間掉多少,而不是任何單一組的絕對值。
掉幅小代表穩健,掉幅大代表模型抓到的是資料集特有的捷徑,不是真正的規律。
這裡有個常見的陷阱:如果壓力測試集是從同一批資料隨機切出來的,那它跟原測試集同分布,測不出任何東西。壓力測試集必須在你關心的那個維度上真的不一樣。
情境判斷
Q1(直覺題):如果模型對少量雜訊很敏感,最先懷疑的是什麼?
→ 最先懷疑穩健性不足。
Q2(判斷題):訓練準確率高就代表模型很穩健嗎?
→ 不代表。它可能只是把訓練資料背熟,遇到新情況就掉下去。
閱讀這頁時的常見誤區
只背中英文對照,無法判斷術語的適用情境。先確認定義,再對照完整說明與相關概念,頁面中的考試比重或出題方向,必須和下方標示的資料來源一起閱讀。
相關術語
常見問題
怎麼評估模型穩健性?
A:通常會看噪聲、擾動、攻擊或分布改變下的表現。
對抗訓練一定有效嗎?
A:通常有幫助,但會增加訓練成本,也不保證所有攻擊都扛得住。
資料增強和穩健性有什麼關係?
A:資料增強能讓模型看過更多變形,有助於降低對單一模式的依賴。
資料來源
- AITerms.tw 術語資料庫,最後更新:2026-07-29。