首先來分析為什麼AI測評那麼困難。經典的程式設計中,我們輸入的是規則(程式)和需要這些規則處理的資料,系統輸出的是答案。因此,經典的軟體測試,我們可以透過對比答案來驗證和確認程式的正確性。然而,資料驅動的AI系統,不是透過編寫明確的邏輯,而是透過資料來訓練程式,輸入是資料和從這些資料中預期得到的答案,AI系統輸出的是規則,這些規則可應用於新的資料,自動計算出答案。可見,資料驅動的AI系統是一種新的程式設計正規化,這種程式設計正規化給測試帶來了極大的挑戰。
(1)AI系統輸出結果很難預測。
(2)AI系統測試透過的準則很難確定。
(3)AI 系統的輸出結果隨時間變化。
(4)AI系統需要更高效的持續測試方法。由於AI模型隨著時間的變化,資料的演化,效能會下降,這時說明該模型已經無法擬合當前的資料,因此需要高效的測試方法,儘快訓練、測評、部署更新版的模型。
(5)AI系統的效能依賴於資料。模型訓練的資料規模、資料質量、資料類別的平衡性都會影響AI系統的效能。
AI測試從流程上來分大致可以分為5個步驟,分別為測試需求分析、測試環境準備、測試資料準備與驗證、AI測試執行與分析、模型上線與監控。
面對智慧化系統的各種不確定性,測試智慧系統除了非智慧系統的測試技術、方法外,也要有針對智慧系統的獨特的質量保證手段,具體來說包括以下幾個方面:
- 資料收集和準備:為了測試智慧系統,需要收集和準備足夠的資料。資料應該涵蓋各種情況和場景,以確保系統在各種情況下都能準確地執行。
- 功能測試:在這一步驟中,需要測試系統是否按照預期執行任務。例如,如果系統被設計用於影像分類,應該測試它是否能夠正確地分類影像。
- 其他的測試:智慧系統的效能測試、安全測試、相容性測試等等和非智慧系統的測試一樣,本文就不再累述了
常出現的問題:
1,測試資料不規範,全都是單一化、類似的資料,資料分佈不合理。
2,測試資料總量不足。不過這沒辦法,只有這麼多。
3,有的結果返回兩類,假設一類為正樣本,另一類為負樣本,測試結果中負樣本一個都未被計入到正確數,即對的都是正樣本 ,此時負樣本缺失的情況,最終準確率結果已經不具備參考價值。
4,部分資料標註不準確,認知有些差異。