top of page

馴服黑盒子:AI/ML 系統在功能安全(Functional Safety)中的挑戰與驗證邏輯

在安規工程的歷史長河中,我們一直致力於對抗「不確定性」,從物理絕緣到邏輯電路,再到上一篇探討的 Class B 軟體,我們依循的黃金準則是確定性(Determinism):給定相同的輸入,系統必須永遠產生相同的輸出。


然而,人工智慧(AI)與機器學習(ML)技術的引入,正在打破這個基本假設。當神經網路(Neural Networks)開始接管醫療設備的診斷、自動駕駛的轉向,或是工業機器人的路徑規劃時,安規工程師面臨了前所未有的挑戰:如何驗證一個我們無法完全解釋其內部邏輯的「黑盒子」系統?


這不再是單純的程式碼除錯,而是一場關於機率、數據完整性與架構圍堵的全新戰役。本文將依據 ISO/IEC TR 5469 及 UL 4600 等新興標準趨勢,探討 AI/ML 在安全關鍵(Safety-Critical)系統中的本質矛盾、驗證困境與工程解決方案。



確定性與機率性的衝突:安規典範的轉移


傳統軟體 V.S. AI 模型


在傳統的功能安全標準(如 IEC 61508)中,軟體被視為一連串邏輯指令的集合(If-Then-Else)。


  • 白盒子: 我們可以追蹤每一行程式碼,畫出完整的控制流程圖(Control Flow Graph)。

  • 可窮舉性: 理論上,我們可以透過邊界值分析和覆蓋率測試,驗證所有可能的邏輯路徑。


然而,機器學習模型(特別是深度學習)本質上是機率性(Probabilistic)的。


  • 黑盒子: 它的「邏輯」分佈在數百萬個神經元權重參數中。沒有人能精確指出「為何」模型在某個特定情況下做出了這個決定。

  • 非線性與泛化: 它能夠處理訓練數據中未曾見過的輸入(泛化能力),但也可能在面對一個極其微小的雜訊干擾時,給出完全錯誤的自信判斷(如著名的對抗性攻擊)。


這導致了安規認證的核心難題:如果無法證明系統在 100% 的情況下都是正確的,我們如何證明它是安全的?


數據即代碼:新的失效模式


在 AI 系統中,訓練數據(Training Data)的角色取代了傳統的程式碼。模型的行為是由數據塑造的。因此,失效模式的分析必須從「代碼錯誤」轉移到「數據缺陷」。


1. 分佈外數據 (Out-of-Distribution, OOD)


這就像是一個僅在晴天訓練的自動駕駛系統,突然遇到了暴雪。 如果模型在運行時(Inference)遇到的輸入數據,與它訓練時的數據分佈差異過大,模型的行為將變得不可預測。傳統軟體會因為「輸入無效」而報錯,但 AI 模型往往會強行給出一個錯誤的預測結果,且帶有極高的置信度(Confidence)。


安全對策: 系統必須具備 OOD 檢測機制。這相當於一個「守門員」,在數據進入 AI 模型前先進行統計分析。如果數據特徵偏離訓練集太遠,守門員應直接拒絕執行,並觸發安全狀態(Safe State),而不是讓 AI 盲目猜測。


2. 數據偏差與完整性 (Data Bias & Completeness)


在傳統安規中,我們擔心的是規格書沒寫清楚。在 AI 安規中,我們擔心的是「數據集沒涵蓋清楚」。 如果醫療 AI 的訓練數據中缺乏特定族群的樣本,它在該族群上的診斷失誤率就會升高。這在安規上被視為一種系統性失效(Systematic Failure)


驗證邏輯不再是 Review 代碼,而是審查數據集的「覆蓋率」。這需要引入類似神經元覆蓋率(Neuron Coverage)的概念,確保測試數據激活了神經網路中絕大多數的邏輯路徑。


3. 對抗性擾動 (Adversarial Perturbations)


這是 AI 特有的脆弱性。在交通標誌上貼一張看似無害的貼紙,人類駕駛看來依然是「停車」標誌,但 AI 可能會將其誤判為「速限 45」。 這種極其微小、肉眼難以察覺但能欺騙神經網路的輸入變化,被稱為對抗性樣本。


安全對策: 安規測試必須包含「魯棒性測試(Robustness Testing)」,即刻意在輸入數據中加入雜訊和擾動,驗證模型輸出是否依然穩定。


安全架構的對策:安全籠 (Safety Cage)


既然我們無法保證 AI 模型本身是完美的(事實上,目前的技術也做不到),工程上的解決方案就是不完全信任它


這引入了安全籠(Safety Cage)安全監控器(Safety Monitor)的架構概念。這是一種將「不可解釋的 AI」包裹在「可解釋的傳統安規邏輯」中的混合架構。


架構邏輯:Doer 與 Checker


  • 執行者 (Doer) - AI 模型: 負責處理複雜感知,提出控制建議。例如,AI 視覺系統分析路況後建議:「向左轉 30 度」。

  • 檢查者 (Checker) - 傳統規則: 一個基於確定性規則(Rule-based)、符合高安規等級(如 ASIL-D 或 SIL 3)的獨立監控模組。它不懂圖像識別,但它知道物理極限和安全規則。


運作實例


當 AI 建議「向左轉 30 度」時,這個指令不會直接傳給轉向馬達,而是先傳給「安全籠」。 安全籠會根據當前車速和物理定律進行簡單的計算: 「在當前時速 100 公里下,左轉 30 度會導致車輛側翻(物理違規)。」 於是,安全籠會否決 AI 的指令,並執行一個安全降級動作(例如緩慢減速或僅允許轉向 5 度)。


這種架構的核心哲學是:AI 負責提升效能與便利,而傳統的確定性邏輯負責守住安全的底線(Safety Envelope)。


驗證方法論的革新:從 V 模型到 W 模型


傳統的 V 模型(V-Model)開發流程已不足以應對 AI。新的標準傾向於採用 W 模型 或迭代式的開發驗證流程。


模型驗證 (Model Verification)


除了傳統的軟體測試,還需要增加針對模型的專項驗證:


  • 可解釋性分析 (Explainability): 使用熱力圖(Heatmaps)等工具,確認 AI 是根據正確的特徵(如行人的形狀)而非錯誤的背景(如路邊的草地顏色)做出判斷。

  • 不確定性量化 (Uncertainty Quantification): 模型輸出的不僅是結果,還必須附帶「自我懷疑程度」。當不確定性高時,系統應自動尋求人類介入或進入安全模式。


結論:與機率共舞的工程智慧


AI 技術進入安全關鍵領域是大勢所趨。對於安規工程師而言,這並不意味著放棄過去的原則,而是要將「確定性」的邊界重新定義。


我們不再追求一個永遠不犯錯的 AI(那是科幻小說),而是構建一個能意識到自己可能犯錯,並在犯錯前被傳統邏輯攔截的系統。


從數據的清洗與審查,到對抗性攻擊的防禦測試,再到「安全籠」架構的實施,AI 安規工程的核心,就是將黑盒子帶來的「未知風險」,轉化為系統架構中可被管理、被圍堵的「已知約束」。這正是資深專家在智慧時代的新使命。

bottom of page