開始細緻工作前,需要選擇你使用的語言(如R或者python),框架(如tensorflow),算法(如YOLO)
建立一個可以快速迭代的模型結構比一開始就尋找一個完美的方案更加實際
下面進行幾步
1.數據採集與收集
以行人檢測爲例,確定輸入數據和輸出數據,輸入爲給定的圖片,輸出與帶有bounding box框的圖片,這些框包含行人X/Y座標和長寬數據等
在利用標註數據訓練模型之前還需要考慮數據存放比如數據倉庫放在哪裏,數據如何導入數據倉庫並且流向模型?當你在實際中應用模型時是否保留輸入數據?在我們的例子中,如果我們用HD圖片訓練但是實際應用中使用的是更低分辨率的圖片時,我們的模型大概率不能用。
組織好數據儲存和結構後,我們一般把數據分爲80%訓練,10%測試和10%驗證
要解決數據可能過擬合的問題
2.建立,訓練,測試和驗證數據
模型過擬合會導致模型只能識別出特定數據場景下的目標,如模型只能識別室內的人而不能識別出室外的人
爲了解決這個問題,建立一個基於人類經驗,覆蓋所有重要的應用場景的ground truth數據集十分重要。這個數據集由有豐富標註經驗的人完成。同時這個數據集也會給機器一個目標,是要努力達到人類認知的水平而不是百分之百準確
拆分完數據並且得到groundtruth數據集後,可以開始用標註數據訓練模型。在訓練過程中,需要確定在訓練數據上多餘的付出是不是值得,如果提升訓練數據的精度只會提高模型百分之一的準確率,影響一千個客戶的話,那麼多餘的投入可能是不必要的
3.把模型應用於生產
測試和驗證了模型後可以開始在生產環境中部署,類似Seldon的ML部署平臺可以使用
生產環境的模型需要持續維護