MASS的軟件怎么認(rèn)證?AIML算法怎么驗(yàn)證?
轉(zhuǎn)載。
如果你覺(jué)得MASS認(rèn)證中,F(xiàn)MEA、FTA、SIL分配已經(jīng)夠復(fù)雜了——
那只是"熱身"。
真正的深水區(qū),是軟件的認(rèn)證,以及AI/ML算法的驗(yàn)證。
這篇文章,我來(lái)說(shuō)清楚:為什么這是全球性難題,以及我們現(xiàn)在有什么可用的方法和標(biāo)準(zhǔn)。
一、先搞清楚:為什么軟件認(rèn)證比硬件認(rèn)證難得多?
硬件認(rèn)證的邏輯:一個(gè)閥門(mén)、一個(gè)傳感器、一臺(tái)柴油機(jī),它的失效模式是有限的。你用FMEA可以窮舉每一個(gè)組件怎么壞、壞了有什么后果。
但軟件不一樣。
軟件不會(huì)"磨損"。軟件的失效是"設(shè)計(jì)時(shí)就埋下的bug"。
一個(gè)硬件的失效頻率某種程度上是可以統(tǒng)計(jì)的——你知道這個(gè)型號(hào)的傳感器平均無(wú)故障時(shí)間是10萬(wàn)小時(shí)。所以你可以做概率計(jì)算(這正是SIL定量分析的基礎(chǔ))。
但軟件故障的概率是什么?
軟件Bug不是隨機(jī)事件。是程序員在某個(gè)特定條件下寫(xiě)錯(cuò)了一行代碼。如果條件不觸發(fā),它永遠(yuǎn)不顯現(xiàn)。一旦觸發(fā),它100%會(huì)出錯(cuò)。
所以:傳統(tǒng)的基于概率的安全分析方法,對(duì)軟件來(lái)說(shuō)是失效的。
二、傳統(tǒng)軟件認(rèn)證:可以借鑒什么?
雖說(shuō)軟件認(rèn)證難,但不是從零開(kāi)始。其他高安全標(biāo)準(zhǔn)要求行業(yè)已經(jīng)走了幾十年。
2.1 DO-178C:航空軟件的"圣經(jīng)"
DO-178C是航空業(yè)機(jī)載軟件適航認(rèn)證的核心標(biāo)準(zhǔn)。
它把軟件按危害嚴(yán)重度分為五個(gè)等級(jí):
| 等級(jí) | 定義 | 舉例 |
|---|---|---|
| DAL A | 失效導(dǎo)致災(zāi)難性后果(飛機(jī)墜毀) | 飛控系統(tǒng)軟件 |
| DAL B | 失效導(dǎo)致危險(xiǎn)/嚴(yán)重后果 | 導(dǎo)航系統(tǒng)軟件 |
| DAL C | 失效導(dǎo)致重大后果 | 通信系統(tǒng)軟件 |
| DAL D | 失效導(dǎo)致輕微后果 | 客艙娛樂(lè)系統(tǒng) |
| DAL E | 失效無(wú)安全影響 | 非安全功能 |
每個(gè)等級(jí)要求不同的開(kāi)發(fā)過(guò)程嚴(yán)格度:
| 過(guò)程活動(dòng) | DAL A | DAL C | DAL E |
|---|---|---|---|
| 需求可追溯性 | 底層代碼←→需求逐行對(duì)應(yīng) | 模塊級(jí)別可追溯 | 無(wú)要求 |
| 代碼覆蓋率測(cè)試 | MC/DC(修正條件判定覆蓋) | 語(yǔ)句覆蓋 | 無(wú)要求 |
| 獨(dú)立驗(yàn)證 | 必須 | 推薦 | 無(wú)要求 |
| 配置管理 | 嚴(yán)格 | 標(biāo)準(zhǔn) | 無(wú)要求 |
航運(yùn)業(yè)可以借鑒DO-178C的地方:
- 按安全關(guān)鍵度分級(jí)認(rèn)證的邏輯
- 需求可追溯性的要求
- 獨(dú)立驗(yàn)證的概念
但不能照搬的地方:
- 航空軟件是封閉系統(tǒng),船舶是開(kāi)放系統(tǒng)(環(huán)境復(fù)雜得多場(chǎng)景也更多)
- 航空軟件幾乎不涉及AI/ML,而MASS的核心功能很可能依賴AI
- 航空的認(rèn)證成本極高(DAL A認(rèn)證費(fèi)用可達(dá)軟件本身開(kāi)發(fā)成本的3-5倍),航運(yùn)業(yè)承擔(dān)不起
2.2 IEC 61508-3:功能安全的軟件要求
IEC 61508-3是IEC 61508標(biāo)準(zhǔn)的軟件部分,專門(mén)針對(duì)安全相關(guān)系統(tǒng)的軟件開(kāi)發(fā)。
它同樣按SIL等級(jí)分級(jí)(SIL 1-4),推薦不同的技術(shù)和措施:
| SIL | 推薦技術(shù) | 不推薦 |
|---|---|---|
| SIL 1 | 半形式化方法、動(dòng)態(tài)測(cè)試 | 無(wú)限制 |
| SIL 2 | 形式化/半形式化規(guī)范、靜態(tài)分析 | 匯編語(yǔ)言 |
| SIL 3 | 形式化方法、形式化驗(yàn)證 | 動(dòng)態(tài)內(nèi)存分配、遞歸 |
| SIL 4 | 完全形式化開(kāi)發(fā) | 任何可能導(dǎo)致不確定性的技術(shù) |
這里有一個(gè)航運(yùn)業(yè)的"撞墻點(diǎn)":
看一下SIL 3和SIL 4的推薦技術(shù)——形式化方法。
什么是形式化方法?就是用數(shù)學(xué)來(lái)證明:無(wú)論在任何輸入條件下,軟件的行為都符合規(guī)范。
這在理論上可行,但在實(shí)踐中——
- 對(duì)幾千行代碼的系統(tǒng)可以做
- 對(duì)幾十萬(wàn)行代碼的船舶自主導(dǎo)航系統(tǒng)幾乎不可能
- 對(duì)包含神經(jīng)網(wǎng)絡(luò)的AI系統(tǒng)……數(shù)學(xué)上至今無(wú)法證明
這就是問(wèn)題的核心。
2.3 ISO 26262:汽車(chē)功能安全的啟發(fā)
ISO 26262是汽車(chē)行業(yè)的功能安全標(biāo)準(zhǔn),它的軟件部分(Part 6)對(duì)汽車(chē)控制器軟件的開(kāi)發(fā)有非常詳細(xì)的規(guī)定。
和航運(yùn)業(yè)最相關(guān)的一個(gè)概念:ASIL分解。
汽車(chē)行業(yè)允許你把一個(gè)ASIL D(最高安全等級(jí))的要求分解為兩個(gè)ASIL B(D)組件分別獨(dú)立實(shí)現(xiàn),降低每個(gè)組件的開(kāi)發(fā)成本。
這對(duì)MASS的意義: 我們可能不需要整個(gè)自主導(dǎo)航系統(tǒng)都達(dá)到SIL 3。我們可以通過(guò)冗余設(shè)計(jì)——兩個(gè)獨(dú)立的、不同的算法并行運(yùn)行——把SIL要求分解到更可管理的水平。
三、航運(yùn)業(yè)自己的框架:IACS UR E26 & E27
3.1 UR E26:船舶網(wǎng)絡(luò)韌性
UR E26(Cyber Resilience of Ships)是IACS在2022年發(fā)布、2024年1月1日起對(duì)新造船強(qiáng)制實(shí)施的要求。
它的核心理念是:船舶作為一個(gè)整體,必須具備網(wǎng)絡(luò)韌性。
五個(gè)關(guān)鍵要求:
| 要求 | 含義 |
|---|---|
| 識(shí)別(Identify) | 船上所有可聯(lián)網(wǎng)的設(shè)備和系統(tǒng)必須被識(shí)別、記錄和分類(lèi) |
| 保護(hù)(Protect) | 關(guān)鍵系統(tǒng)必須有網(wǎng)絡(luò)防護(hù)措施 |
| 檢測(cè)(Detect) | 必須有能力檢測(cè)到網(wǎng)絡(luò)攻擊或異常行為 |
| 響應(yīng)(Respond) | 必須有網(wǎng)絡(luò)事件響應(yīng)計(jì)劃 |
| 恢復(fù)(Recover) | 受攻擊后必須有恢復(fù)程序 |
3.2 UR E27:系統(tǒng)和組件的網(wǎng)絡(luò)安全認(rèn)證
UR E27是對(duì)UR E26的"落地"——它規(guī)定了船上的關(guān)鍵系統(tǒng)和組件如何做網(wǎng)絡(luò)安全認(rèn)證。
核心要求:被UR E26識(shí)別為"關(guān)鍵系統(tǒng)"的設(shè)備和軟件,必須通過(guò)產(chǎn)品認(rèn)證(Product Certification)。
認(rèn)證分三級(jí):
| 安全等級(jí) | 要求 | 主要措施 |
|---|---|---|
| Security Profile 1 (SP1) | 基礎(chǔ)級(jí) | 最小權(quán)限、安全配置、軟件更新機(jī)制 |
| Security Profile 2 (SP2) | 增強(qiáng)級(jí) | SP1 + 入侵檢測(cè)、安全審計(jì)日志、加密通信 |
| Security Profile 3 (SP3) | 最高級(jí) | SP2 + 形式化安全分析、硬件安全模塊 |
E26/E27解決了軟件認(rèn)證的"一半問(wèn)題"——網(wǎng)絡(luò)安全。但沒(méi)有解決"另一半問(wèn)題"——功能安全。
也就是說(shuō):
- ? 你的軟件是否防得住網(wǎng)絡(luò)攻擊?→ E26/E27可以審
- ? 你的AI算法做出的決策是否安全?→ E26/E27管不了
這才是真正的大難題。
四、AI/ML驗(yàn)證:全球性難題的五個(gè)維度
4.1 為什么AI/ML特別難驗(yàn)證?
傳統(tǒng)軟件的邏輯是確定的:
if (obstacle_distance < safe_distance) { execute_avoidance(); }
你可以測(cè)試:給1000組輸入,看輸出是否符合預(yù)期。
但AI/ML(尤其是深度學(xué)習(xí))的邏輯是概率的、黑箱的:
輸入:雷達(dá)圖像 + AIS數(shù)據(jù) + GPS ↓ 神經(jīng)網(wǎng)絡(luò)(幾百萬(wàn)個(gè)參數(shù),沒(méi)人知道每一層具體在做什么) ↓ 輸出:左舵15度,減速到8節(jié)
你不能簡(jiǎn)單地"測(cè)試"—因?yàn)椋?br/>
- 輸入空間無(wú)限大:海上的光照、天氣、海浪、船舶類(lèi)型組合是天文數(shù)字
- 輸出不能窮舉:AI可能在任何未見(jiàn)過(guò)的場(chǎng)景中產(chǎn)生不可預(yù)測(cè)的行為
- 不可解釋:你不知道它"為什么"做出了某個(gè)決策
4.2 五個(gè)維度的驗(yàn)證思路
盡管困難,但行業(yè)界已經(jīng)在五個(gè)方向上推進(jìn):
維度一:基于場(chǎng)景的測(cè)試(Scenario-Based Testing)
不是隨機(jī)測(cè)試,而是系統(tǒng)性地構(gòu)造"安全關(guān)鍵場(chǎng)景"。
- 最危險(xiǎn)場(chǎng)景(worst-case):夜間、大霧、多船交叉相遇
- 邊界場(chǎng)景(edge-case):一艘小漁船在雷達(dá)盲區(qū)中突然出現(xiàn)
- 對(duì)抗場(chǎng)景(adversarial):輸入被人為操控的情況
目標(biāo):在這些有代表性的場(chǎng)景下,AI的行為是可接受的。
維度二:形式化驗(yàn)證(Formal Verification)——對(duì)AI"部分可用"
對(duì)于AI中的非學(xué)習(xí)部分(比如傳統(tǒng)控制算法、規(guī)則引擎、安全包絡(luò)約束),可以用形式化方法驗(yàn)證。
對(duì)于神經(jīng)網(wǎng)絡(luò)部分,形式化驗(yàn)證目前只能做有限的屬性檢驗(yàn):
- "輸出始終在安全范圍內(nèi)" → 在某些簡(jiǎn)單網(wǎng)絡(luò)上可以證明
- "輸入微小的擾動(dòng)不會(huì)導(dǎo)致輸出劇烈變化" → 魯棒性驗(yàn)證有進(jìn)展
- "決策過(guò)程符合避碰規(guī)則第X條" → 目前做不到
維度三:運(yùn)行時(shí)監(jiān)控(Runtime Monitoring)
既然無(wú)法在開(kāi)發(fā)階段完全驗(yàn)證AI,那就在運(yùn)行中持續(xù)監(jiān)控。
AI輸出控制指令 ↓ 安全包絡(luò)檢查器 ├── 檢查:指令是否會(huì)導(dǎo)致碰撞? ├── 檢查:是否符合COLREG? └── 檢查:是否超出船舶操作包絡(luò)? ↓ 如果任何檢查失敗 → 拒絕執(zhí)行指令 → 降級(jí)到安全狀態(tài)
這是目前最可行、也最被行業(yè)接受的方法。 本質(zhì)上是用一個(gè)"確定性的安全監(jiān)管器"來(lái)約束"不確定性的AI"。
維度四:虛擬仿真驗(yàn)證(Virtual Validation)
使用高保真仿真系統(tǒng),大規(guī)模運(yùn)行AI——不是幾百個(gè)場(chǎng)景,而是幾百萬(wàn)個(gè)。
關(guān)鍵是:基于真實(shí)數(shù)據(jù)的場(chǎng)景生成。
- 不是人工設(shè)計(jì)場(chǎng)景,而是從真實(shí)AIS/雷達(dá)數(shù)據(jù)中提取
- 用對(duì)抗生成方法(GAN)生成極端但不脫離物理規(guī)律的場(chǎng)景
- 統(tǒng)計(jì)AI在這些場(chǎng)景中的"安全覆蓋率"
維度五:可解釋AI(Explainable AI, XAI)
讓AI"說(shuō)出"它做決策的原因。
在MASS中,可解釋性不只是"技術(shù)好玩"——在發(fā)生事故時(shí),如果沒(méi)有解釋能力,你無(wú)法確定是設(shè)計(jì)缺陷、操作失誤還是系統(tǒng)故障。
目前進(jìn)展:
- ? 注意力可視化:AI在做決策時(shí)"看了"雷達(dá)圖像中的哪個(gè)區(qū)域(類(lèi)似熱力圖)
- ? 顯著性圖:哪些輸入?yún)?shù)對(duì)決策影響最大
- ?? 自然語(yǔ)言解釋:"我選擇右轉(zhuǎn)是因?yàn)樽笄胺接幸凰掖?——仍處于研究階段
- ? 法律級(jí)別的可追責(zé)解釋:能經(jīng)得起海事調(diào)查的標(biāo)準(zhǔn)——目前不存在
五、正在演進(jìn)的技術(shù)標(biāo)準(zhǔn)和法規(guī)框架
5.1 海事領(lǐng)域
| 標(biāo)準(zhǔn)/法規(guī) | 狀態(tài) | 內(nèi)容 |
|---|---|---|
| IACS UR E26/E27 | 2024年1月生效 | 船舶網(wǎng)絡(luò)安全,非AI專門(mén)標(biāo)準(zhǔn) |
| CCS 智能船舶規(guī)范 2025 | 已發(fā)布 | 智能航行/機(jī)艙/能效等的附加標(biāo)志要求 |
| MASS Code (非強(qiáng)制) | 2026年5月通過(guò),7月1日生效 | 對(duì)軟件和AI沒(méi)有詳細(xì)規(guī)定,僅要求"風(fēng)險(xiǎn)評(píng)估" |
| MASS Code (強(qiáng)制) | 計(jì)劃2032年1月生效 | 預(yù)計(jì)會(huì)納入更多軟件/AI認(rèn)證要求 |
5.2 跨行業(yè)可參考的AI安全標(biāo)準(zhǔn)
| 標(biāo)準(zhǔn) | 領(lǐng)域 | 關(guān)鍵內(nèi)容 | 對(duì)MASS的參考價(jià)值 |
|---|---|---|---|
| ISO 21448 (SOTIF) | 汽車(chē) | 預(yù)期功能安全——不是系統(tǒng)故障導(dǎo)致的風(fēng)險(xiǎn),而是功能不足導(dǎo)致的風(fēng)險(xiǎn) | ????? 高度相關(guān) |
| ISO/IEC 42001 | 通用 | AI管理體系標(biāo)準(zhǔn) | ??? 管理體系層面可參考 |
| EU AI Act | 歐盟法規(guī) | 將AI按風(fēng)險(xiǎn)分級(jí),高風(fēng)險(xiǎn)AI須滿足透明度/可解釋性要求 | ???? 高風(fēng)險(xiǎn)分類(lèi)方法論 |
| DO-178C + DO-382B (補(bǔ)充) | 航空 | 機(jī)載軟件認(rèn)證 + AI/ML補(bǔ)充標(biāo)準(zhǔn)(開(kāi)發(fā)中) | ???? 過(guò)程嚴(yán)格度模型 |
| UL 4600 | 自動(dòng)駕駛 | 自動(dòng)駕駛系統(tǒng)安全論證標(biāo)準(zhǔn) | ????? 安全論證方法論 |
| IEC 63168 (開(kāi)發(fā)中) | 通用 | AI系統(tǒng)的功能安全 | ???? 未來(lái)方向 |
5.3 SOTIF(ISO 21448)為什么特別重要?
傳統(tǒng)功能安全(IEC 61508 / ISO 26262)只處理系統(tǒng)故障導(dǎo)致的風(fēng)險(xiǎn)。
SOTIF處理的是另一個(gè)維度:即使系統(tǒng)沒(méi)有故障,功能本身的不足也可能導(dǎo)致危險(xiǎn)。
舉一個(gè)MASS的例子:
場(chǎng)景:AI視覺(jué)系統(tǒng)識(shí)別海上目標(biāo) 傳統(tǒng)功能安全的視角: 傳感器硬件沒(méi)有故障 ? 軟件沒(méi)有Bug ? → 所以系統(tǒng)是"安全"的?? SOTIF的視角: 傳感器在"硬件正常"的情況下,對(duì)小型漁船在逆光條件下的識(shí)別率只有60% ? → 即使沒(méi)有"故障",這個(gè)功能也是不安全的 → 需要改進(jìn)算法、添加互補(bǔ)傳感器、或限制在這種條件下使用自主功能
MASS驗(yàn)證如果只做"功能安全"而不做"SOTIF",等于只驗(yàn)了一半。
六、行業(yè)界如何合力突破?
這不是一家船級(jí)社、一個(gè)船廠、一個(gè)技術(shù)公司能解決的問(wèn)題。需要跨行業(yè)合作。
6.1 當(dāng)前的關(guān)鍵行動(dòng)
1. 建立MASS AI驗(yàn)證的"標(biāo)準(zhǔn)場(chǎng)景庫(kù)"
就像航空業(yè)的"標(biāo)準(zhǔn)大氣條件"一樣。必須有一套全球接受的MASS驗(yàn)證場(chǎng)景:
- 代表真實(shí)海上航行挑戰(zhàn)
- 足夠覆蓋安全關(guān)鍵場(chǎng)景
- 標(biāo)準(zhǔn)化、可重復(fù)
2. 推進(jìn)"安全論證"(Safety Case)方法
UL 4600和RBAT的核心理念:不是羅列"我們做了哪些測(cè)試",而是構(gòu)建一個(gè)完整的邏輯鏈條:
"我們認(rèn)為這個(gè)系統(tǒng)是安全的,因?yàn)閇這些前提條件成立] + [這些分析支撐] + [這些測(cè)試驗(yàn)證] + [這些運(yùn)行監(jiān)控保證]。如果任何前提條件發(fā)生變化,我們將[回溯+修改]。"
3. 建立分級(jí)認(rèn)證框架
不是所有AI都要按最高標(biāo)準(zhǔn)認(rèn)證。按AI在船舶安全中的角色分級(jí):
| 角色 | 認(rèn)證要求 | 舉例 |
|---|---|---|
| 安全關(guān)鍵決策 | 最高標(biāo)準(zhǔn):形式化驗(yàn)證 + 大規(guī)模仿真 + 運(yùn)行時(shí)監(jiān)控 + XAI | 自主避碰、自動(dòng)靠港 |
| 輔助決策 | 中等標(biāo)準(zhǔn):基于場(chǎng)景的驗(yàn)證 + 運(yùn)行時(shí)監(jiān)控 | 航線優(yōu)化建議、能效管理 |
| 非安全功能 | 基本標(biāo)準(zhǔn):功能驗(yàn)證 | 貨物狀態(tài)預(yù)測(cè)、維護(hù)計(jì)劃 |
- IMO正在推進(jìn)MASS Code強(qiáng)制化(2032年)
- IACS各成員船級(jí)社正在開(kāi)發(fā)統(tǒng)一的MASS審圖指南
- EU的EMSA RBAT框架已經(jīng)提供了方法論基礎(chǔ)
- 中國(guó)CCS的智能船舶規(guī)范也在持續(xù)迭代
關(guān)鍵:各國(guó)、各船級(jí)社的方法論要協(xié)調(diào)統(tǒng)一,不能各搞一套。 否則對(duì)一個(gè)全球性的航運(yùn)業(yè)來(lái)說(shuō),是災(zāi)難。
七、總結(jié):你現(xiàn)在該做什么?
| 角色 | 現(xiàn)在該做什么 |
|---|---|
| 船東 | 如果你在考慮MASS項(xiàng)目——現(xiàn)在就要把軟件認(rèn)證和AI驗(yàn)證的成本納入預(yù)算,這不是附加項(xiàng),而是核心工作 |
| 設(shè)計(jì)單位 | 開(kāi)始建立軟件安全開(kāi)發(fā)過(guò)程(可參考IEC 61508-3),現(xiàn)在不建,3年后MASS Code強(qiáng)制化時(shí)你來(lái)不及 |
| 驗(yàn)船師 | 學(xué)習(xí)SOTIF(ISO 21448)、UL 4600安全論證方法——這些是你未來(lái)10年職業(yè)競(jìng)爭(zhēng)力的基礎(chǔ) |
| 監(jiān)管機(jī)構(gòu) | 盡快將EMSA RBAT的方法論納入CCS審圖指南體系,建立MASS認(rèn)證的標(biāo)準(zhǔn)化評(píng)估流程 |
| 行業(yè)整體 | 一起建立MASS驗(yàn)證的"標(biāo)準(zhǔn)場(chǎng)景庫(kù)"——這是基礎(chǔ)設(shè)施,單靠任何一方都做不了 |
最后一句實(shí)話:
AI/ML在船舶上的應(yīng)用不會(huì)等你準(zhǔn)備好了再上路。
技術(shù)已經(jīng)在跑了。行業(yè)必須追上。
而"追上"的方式不是制定更多規(guī)則——規(guī)則永遠(yuǎn)是滯后的。
真正有效的方式是:把方法學(xué)建好,讓每一個(gè)引入AI的系統(tǒng)都經(jīng)受住體系化的安全論證。
