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