這些模型針對特定數據集進行了訓練,并經過了準確性和處理速度的證明。開發人員需要評估 ML 模型,并確保它在部署之前滿足預期的特定閾值和功能。有很多實驗可以提高模型性能,在設計和訓練模型時,可視化差異變得至關重要。TensorBoard 有助于可視化模型,使分析變得不那么復雜,因為當人們可以看到問題所在時,調試變得更加容易。
訓練 ML 模型的一般實踐
一般做法是使用預先訓練的模型并執行遷移學習,以便為類似的數據集重新訓練模型。在遷移學習期間,神經網絡模型首先針對與正在解決的問題類似的問題進行訓練。然后,將訓練模型中的一個或多個層用于針對感興趣的問題進行訓練的新模型中。
大多數時候,預訓練模型采用二進制格式,這使得獲取內部信息并立即開始處理變得困難。從組織的業務角度來看,使用一些工具來深入了解模型以縮短項目交付時間是有意義的。
有幾個可用選項可用于獲取模型信息,例如層數和相關參數。模型摘要和模型圖是基本選項。這些選項非常簡單,考慮了幾行實現,并提供非常基本的詳細信息,如層數、層類型和每層的輸入/輸出。
但是,模型摘要和模型圖對于以協議緩沖區的形式理解任何大型復雜模型的每個細節并不那么有效。在這種情況下,使用 TensorBoard 這個 TensorFlow 提供的可視化工具更有意義。考慮到它提供的各種可視化選項,如模型、標量和指標(訓練和驗證數據)、圖像(來自數據集)、超參數調優等,它非常強大。
用于可視化自定義模型的模型圖
此選項尤其有助于以協議緩沖區的形式接收自定義模型,并且在進行任何修改或訓練之前需要了解它。如下圖所示,在電路板上可視化了順序 CNN 的概述。每個塊代表一個單獨的圖層,選擇其中一個塊將在右上角打開一個窗口,其中包含輸入和輸出信息。
如果需要進一步的信息,關于各個塊內的內容,只需雙擊塊,這將展開塊并提供更多詳細信息。請注意,一個塊可以包含一個或多個塊,這些塊可以逐層擴展。選擇任何特定操作時,它還將提供有關相關處理參數的更多信息。
用于分析模型訓練和驗證的標量和指標
機器學習的第二個重要方面是分析給定模型的訓練和驗證。從精度和速度的角度來看,性能對于使其適用于現實生活中的實際應用非常重要。在下圖中,可以看出模型的準確性隨著周期/迭代次數的增加而提高。如果訓練和測試驗證不符合標準,則表明某些內容不正確。這可能是欠擬合或過度擬合的情況,可以通過修改圖層/參數或改進數據集或兩者來糾正。
圖像數據,用于可視化數據集中的圖像
顧名思義,它有助于可視化圖像。它不僅限于可視化數據集中的圖像,而且還以圖像的形式顯示混淆矩陣。此矩陣表示檢測各個類對象的準確性。如下圖所示,該模型將外套與套頭衫混淆了。為了克服這種情況,建議改進特定類的數據集,以便為模型提供可區分的特征,以便更好地學習,從而提高準確性。
超參數調優,以實現所需的模型精度
模型的準確性取決于輸入數據集、層數和相關參數。在大多數情況下,在初始訓練期間,精度永遠不會達到預期的精度,并且除了數據集之外,還需要考慮層數、層類型、相關參數。此過程稱為超參數優化。
在此過程中,提供了一系列超參數供模型選擇,并且使用這些參數的組合運行模型。每個組合的準確性都會記錄在電路板上并可視化。它糾正了手動訓練模型所消耗的工作量和時間,這些工作和時間將針對超參數的每個可能組合進行。
用于分析模型處理速度的分析工具
除了準確性之外,處理速度是任何模型同樣重要的方面。有必要分析單個塊消耗的處理時間,以及是否可以通過進行一些修改來減少處理時間。分析工具提供了具有不同時期的每個操作所消耗的時間的圖形表示。通過這種可視化,人們可以輕松查明消耗更多時間的操作。一些已知的開銷可能是調整輸入大小,從Python轉換模型代碼,或者在CPU而不是GPU中運行代碼。處理好這些事情將有助于實現最佳性能。
總的來說,TensorBoard是一個很好的工具,有助于開發和訓練過程。來自標量和指標、圖像數據和超參數優化的數據有助于提高準確性,而分析工具有助于提高處理速度。TensorBoard還有助于減少所涉及的調試時間,否則這肯定會是一個很大的時間框架。
審核編輯:郭婷
-
電路板
+關注
關注
140文章
4907瀏覽量
97416 -
機器學習
+關注
關注
66文章
8377瀏覽量
132407
發布評論請先 登錄
相關推薦
評論