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