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