AI 訓練流程

訓練週期&Retrain

事前準備:訓練資料、測試資料、評估標準、模型

依照需求評估所需使用的影像辨識模型 (如:ClassificationObject DetectionSegmentation…),將搜集到資料整理成對應label格式的資料集,將資料集拆分為三大部分訓練、驗證、測試,並定義出合適的評估標準(AccuracyPrecisionRecall…)藉此來判斷模型的效果好壞。

訓練流程介紹:

1.png

一開始會從訓練集依序取出批次資料(Batch Data),進行前處理(如:Data Augmentation)來強化資料的特徵與數量,並將其整理成模型輸入格式,在進模型後開始學習預測(Predict),計算預測結果(Predict)和真實答案間的差距(Loss),最後將預測過程中的參數(Params)及損失(Loss)傳遞給優化器,找出最適的方向來更新模型的權重(Weight),以此方法不斷循環至訓練集全部訓練完畢,稱為一周期(Epoch)。但通常模型訓練不只需要1 epoch,因為模型迭代至最適解需要一定次數更新,所以如何選擇適當epoch或機制,使模型不會訓練不足(underfitting)和訓練過量(overfitting)又是另一個課題。

1.png

1.png

訓練後可用的AI模型放上線生產一段時間,可能會發現受到產線料況不同、製程調整等Data Drifting,使得模型隨著時間慢慢不符合此產線的預期,所以通常會有左上流程圖。當發現評估指標不符合預期時,我們會先做錯誤分析以了解下一步的調整方向,更新訓練資料或模型後再重新訓練(Retrain)。更細節的舉例,會如右上圖,假如我們以Error rate 做評估指標,Expert(專家) 最好可以做到error rate=2%, Training error rate=9%, Valid error rate=11%, Test error rate= 12%。依照上圖去檢視可以發現Fit training set is not well,因為離Expert Level 差距7%,所以會去釐清是模型太小造成擬合力不足、或是資料量太少、抑或是訓練時間(epoch)不足所造成的問題,解決方法可以透過選擇較大的模型、增加資料量或特徵強化、增加訓練時間等來改善。