科技執法 AI 辨識模型更新怎麼管?
版本紀錄、回歸測試與上線前後比對

作者:邦邦(瑪尼國際 工程師)· 發布 · 閱讀時間約 9 分鐘

科技執法 AI 辨識模型更新,要管的是「換版」這個動作本身:每一版都要有一張版本卡記錄改了什麼、用什麼資料測過、誰核准;換版前用機關保管的固定測試集讓新舊兩版各跑一次做回歸測試;上線前再讓新版在正式環境影子運行,比對新舊版判定不一致的案件,確認沒有變差才切換,並且隨時能退回舊版。模型換版最常見的問題不是新版比較差,而是「整體變好、某一類情境變差」,例如白天準確率提高,夜間或雨天卻多了誤判,只看廠商報告上的一個總數字是看不出來的。

這篇談的是換版流程。辨識準確率門檻怎麼訂、人工複核怎麼依信心值分層與抽查,見科技執法 AI 誤判率多少才能上線;本文不重述門檻的訂法,只談門檻訂好之後,模型每次更新時怎麼確認它還站得住。

科技執法 AI 模型為什麼要單獨管換版?與一般程式改版的三個差別

科技執法系統裡,AI 辨識模型負責從影像中判斷車牌號碼與違規行為,結果再交給人工複核才成立舉發。模型會更新,原因很實際:某一類情境誤判集中、路口換了鏡頭、要新增違規態樣、廠商例行改善,或底層的推論框架與作業系統要升級。問題是,模型換版和一般程式改版有三個根本差別,用管程式的方法管模型,會漏掉最重要的部分:

  1. 行為看不出來。一般程式改了哪幾行,看差異比對就知道;模型換了一版權重檔,打開也看不出它在夜間逆光時會怎麼判。模型的行為只能用資料驗證,所以測試資料本身就是管理的核心。
  2. 變化不是全有或全無。程式改壞了通常是某個功能直接出錯;模型則是某一類影像的判定比例悄悄移動幾個百分點,平常不會有人發現,直到複核退件變多或申訴集中在同一類情境。
  3. 舊案件仍要說得清楚。一件罰單可能在開出幾個月後才被申訴,到時系統可能已經換過一兩版。機關要能說明那一件是哪一版模型判的、當時的門檻是多少,否則調閱資料就缺了一角。申訴時系統要能調出哪些資料,見科技執法罰單被申訴時系統要提供什麼。

所以第一步,是先分清楚哪些更新要走完整的換版流程:

更新類型例子建議流程
模型重新訓練或換架構加入新樣本重訓、換成新一代模型完整流程:版本卡、回歸測試、影子運行、分批上線
新增違規態樣或設備類型新增偵測項目、導入新型號鏡頭完整流程,並視規模先試辦
判定門檻調整信心值分流的門檻上調或下調版本卡+回歸測試;門檻也是版本的一部分
推論環境升級推論框架、驅動程式、作業系統升級,模型檔不變回歸測試;結果與舊環境一致才上線
前後處理程式修改影像裁切、壓縮、車牌格式校正規則回歸測試;這類修改同樣會改變辨識結果

最後兩列最容易被忽略:模型檔一個位元都沒動,只是推論框架升級或影像前處理改了壓縮參數,辨識結果也可能不一樣。判斷要不要測,看的是「輸出會不會變」,而不是「模型檔有沒有換」。新增違規態樣或新設備類型這種規模較大的變動,要不要先找少數點位試辦,判準見科技執法先試辦還是直接全面導入。

版本紀錄要記什麼?模型版本卡 10 欄與案件端的版本號

每一個上過正式環境的模型版本,都應該有一張「版本卡」。版本卡由廠商填寫、機關核准後歸檔,換版時新舊兩張卡放在一起看,就知道這次改了什麼、憑什麼可以上線。建議至少包含以下 10 欄:

欄位寫什麼寫成這樣才有用
1. 版本號模型與設定的識別編號模型檔、門檻設定、前後處理程式合成一個版本號,不分開編
2. 上一版這一版取代哪一版能一路往回追到第一版
3. 變更原因為什麼要換寫具體情境,例如「夜間逆光車牌誤判集中」,不寫「效能優化」
4. 變更內容重訓、換架構、調門檻或改前處理對應上一節的更新類型
5. 訓練資料說明新增樣本的來源、期間與數量級寫明資料的使用與去識別化依契約及機關規定辦理
6. 測試集版本回歸測試用的是哪一版測試集測試集也要有版本號,新舊兩版必須用同一版
7. 判定門檻各層信心值門檻的數值門檻改了就是新版本
8. 測試結果摘要新舊兩版逐類比較表與差異件判讀結果附完整報告的存放位置
9. 適用範圍與上線日期用在哪些點位、設備,何時生效分批上線時每一批各記一次
10. 核准與回復核准人、核准日期、回復到上一版的步驟回復步驟要演練過,寫上演練日期

版本卡管的是「版本」,另一半要落在「案件」上:每一件案件在辨識當下,都要把當時的模型版本號寫進案件紀錄,和辨識結果、信心值一起保存,之後不能被覆寫。這一欄看起來很小,卻是申訴時把單一案件對回版本卡、測試報告與當時門檻的線索。案件紀錄還要保存哪些欄位、怎麼確保不被竄改,見交通違規證據鏈要保存什麼。

「多模型交叉驗證」的系統,每個模型都要有版本

同一張影像若由車牌辨識、車種判斷、違規行為判定等多個模型分工或交叉比對,任何一個模型換版都算整套系統換版。版本號可以用「組合版本」表示,但案件紀錄裡要能拆出每個模型各自的版本,否則只換了其中一個,事後就說不清楚是哪一段的判定改變了。

回歸測試怎麼做?固定測試集、三類樣本與逐類比較

回歸測試要回答的問題只有一個:新版在舊版做得好的地方,有沒有變差?要回答這個問題,測試集必須固定、由機關保管,而且每一次換版都用同一套規則比較。三個原則:

  1. 測試集由機關保管、版本凍結。廠商自己挑樣本、自己測,結果只能當參考。測試集建好後由機關留存,每次換版都拿同一版去測;要增補樣本就升一個測試集版本,並讓新舊模型都在新版測試集上重跑。
  2. 新舊兩版同條件各跑一次。同一批影像、同一組門檻、同一套推論環境,差別只在模型本身。只拿新版的測試結果和「舊版當年的報告」比,條件已經不一樣,比較沒有意義。
  3. 逐類比較,不只看總數。結果要依情境分類列出,每一類都不得比舊版差;整體數字提高但某一類下降,要先說明原因、經機關同意,才能往下走。

測試集要包含的三類樣本

  • 一般樣本:依各點位、各時段的實際進件比例抽樣,代表系統平常看到的影像,用來確認整體表現。
  • 歷史問題樣本:過去複核退件、申訴撤銷、漏判被事後發現的影像。這一類最有價值,因為它記錄了舊版曾經犯過的錯,新版至少不能把已經修好的錯再犯一次。
  • 困難情境樣本:夜間、雨天、逆光、車牌污損或部分遮蔽、相鄰車道車輛重疊、特殊車牌格式。這些在一般樣本裡比例很低,不刻意收集就測不到。

測試集裡的影像同樣是敏感資料:要放在機關指定的環境,存取留紀錄,不得帶離或用於契約範圍以外的用途;只拿來測試的去識別化處理方式,依契約約定與機關規定辦理。

比較表怎麼列:一個假設例子

以下數字全部是假設值,只用來說明為什麼要逐類比較:

情境分類(假設)樣本數舊版正確判定新版正確判定判讀
日間一般2,0001,9401,975改善
夜間600552540退步,需說明
雨天300264270改善
歷史問題樣本1000(皆為舊版錯誤)71確認是否有舊錯重犯
合計3,0002,7562,856整體提高約 3.3 個百分點

只看合計,新版明顯比較好;但夜間這一類少了 12 件正確判定。如果系統有一部分點位以夜間進件為主,這些點位的誤判反而會增加。比較表還要再往下拆一層:「新版改對的件」與「新版改錯的件」分開列,後者逐件附影像給機關判讀,因為總數持平也可能是改對 50 件、改錯 50 件。準確率要用逐字元還是逐張計算、誤判與漏判為什麼不能合併成一個數字,同樣見準確率門檻與人工複核設計,兩次比較要用同一種算法。

上線前後怎麼比對?影子運行、分批上線、回復條件與契約 6 件事

測試集再完整,也只是過去的影像。上線前最後一道確認,是讓新版接觸「現在」的進件,但還不讓它的判定產生案件,也就是影子運行:

  1. 影子運行:新版在正式環境並行處理同一批真實進件,只產生比對紀錄,不產生待複核案件,案件仍由舊版判定、照常複核。期間至少涵蓋平日與假日、白天與夜間;有天候差異的點位,最好碰到一次雨天。
  2. 差異件判讀:每天列出新舊版判定不一致的件數與清單,由機關指定的複核人員判讀誰對。差異件比例與判讀結果,是決定能否上線最直接的依據。
  3. 分批上線:先切換一部分點位或設備,觀察一段期間再擴大;每一批都在版本卡上記一次適用範圍與日期。
  4. 上線後監看:切換後,每天看複核退件比例、信心值分布與各層分流的件數,跟換版前同一個星期幾比,不跟前一天比,避開平假日車流差異造成的誤判讀。
  5. 回復條件:事先約定在什麼情況下退回舊版,例如退件比例超過約定值、某一類情境的申訴集中出現。回復步驟上線前演練一次,舊版模型檔與設定完整保留。

回復之後還有一件事:換版期間由新版判定的案件,要能從案件紀錄的版本號篩出來,逐件確認是否需要重新複核。這就是上一節要求每件案件都記版本號的原因。系統每天的例行監看項目,例如在線狀態、件數跟同星期幾比、影像抽樣,見科技執法設備怎麼維護;模型換版期間,這些項目的監看頻率建議提高。

寫進規格書與維運契約的 6 件事

  1. 換版要事先申請:任何會改變辨識輸出的更新,包括模型、門檻、前後處理與推論環境,都要事先提出並經機關核准,不得於例行維護時一併更新。
  2. 版本卡格式與交付:依約定欄位填寫版本卡,連同測試報告交付機關留存。
  3. 測試集保管與用途:測試集由機關保管,廠商於機關指定環境使用,存取留紀錄,不得用於契約以外用途。
  4. 回歸測試與影子運行:約定逐類比較的情境分類、影子運行的最短期間,以及差異件交機關判讀的方式;判準欄寫「約定值」,數值由機關依系統規模訂定。
  5. 案件端版本紀錄:每件案件保存辨識當下的模型版本號,不得事後覆寫,申訴調閱時能一併產出。
  6. 回復義務:保留至少上一版完整可執行的模型與設定,上線前完成回復演練,並約定回復條件與回復後案件篩選的配合事項。這幾條要怎麼寫進招標規格、驗收時怎麼確認,見科技執法標案規格書怎麼寫與科技執法系統驗收怎麼驗;換版造成的停機或降級是否計入稼動率,見警政系統維運委外怎麼談 SLA。

瑪尼國際成立於 2004 年,深耕逾 20 年,以協力廠商身分參與全台多個縣市警察局交通隊的入案系統建置與維運。AI 模型會一直進步,但對機關來說,比「新版多準」更重要的是「每一版都說得清楚」:改了什麼、怎麼測、何時上線、出事怎麼退。從辨識、複核、入案到主機維運由同一組人負責的一條龍服務,能讓版本卡、案件紀錄與主機上的模型檔始終對得上同一個版本;整段流程的全貌見科技執法一條龍流程。

常見問題

Q:科技執法 AI 辨識模型更新前,要做哪些測試?

至少做兩道:第一道是回歸測試,用機關保管、版本凍結的固定測試集,讓新舊兩版在同一批影像、同一組門檻下各跑一次,逐類比較結果;第二道是影子運行,新版在正式環境並行處理真實進件但不產生案件,比對新舊版判定不一致的件數與內容,差異件由人工判讀後才決定能否上線。只看廠商提供的整體準確率不夠,要看每一類情境有沒有比舊版差。

Q:科技執法 AI 模型換版後發現誤判變多,可以退回舊版嗎?

可以,但前提是上線前就準備好。舊版模型檔與設定要完整保留、回復步驟要寫進版本卡,並在上線前實際演練一次回復;同時事先約定回復條件,例如上線後複核退件比例超過約定值就回復。回復後,換版期間由新版判定的案件要能從紀錄中篩出來,逐件確認是否需要重新複核。

Q:科技執法案件被申訴時,怎麼證明當時用的是哪一版 AI 模型?

靠每一件案件在辨識當下寫入的模型版本號,加上版本卡裡該版本的上線日期、測試結果與核准紀錄。案件紀錄只要存了版本號,就能對回當時的門檻設定與測試報告;如果系統只記「AI 已辨識」而沒有版本號,換過幾次版之後就說不清楚某一件是哪一版判的。

系統的 AI 模型換過幾版,說得出每一版改了什麼嗎?

把目前的換版方式與案件紀錄欄位告訴我們,可以協助建立版本卡與固定測試集、規劃影子運行與回復演練,並把換版流程寫進維運契約。

預約系統規劃諮詢 →
本站由瑪尼國際自行設計、開發與維運(PHP 8.5 / MySQL 8.4,中華電信光纖機房)。我們同時承接企業官網設計、虛擬主機與網站代管 — 了解服務內容

延伸閱讀GUIDE

查看全部 97 篇文章 →

📞 技術支援(24小時):0921-070-027  |  📞 免費諮詢:0800-670000 📍 411 台中市太平區育賢路366號4樓之2  |  ✉ cody@mani.tw