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