簡介
由于 AI 神經(jīng)網(wǎng)絡(luò)涉及多種參數(shù),需要頻繁修改各種超參數(shù),比如:learning rate,batchsize,filter numbers,alpha 等等,每個參數(shù)都有可能影響到模型最終的準(zhǔn)確率,所以比較這些參數(shù)之間的差異,并且進行記錄和保存,是 AI 算法優(yōu)化必需的流程。
本文將介紹 python 的一個庫:mlflow,可以使 AI 實驗的效率更高,提供一種更方便的比較方法。
mlflow
mlflow 作為機器學(xué)習(xí)生命周期的管理包,提供了完整的 AI 開發(fā)部署工作流程以及可視化管理。
測試結(jié)果
以 AFCI 為例,實踐中可能會遇到這樣的問題:電流數(shù)據(jù)的采樣率如何設(shè)置,分幀長度如何設(shè)置,是否需要使用 FFT 等。
這些超參數(shù)的設(shè)置都很難解釋,他嚴(yán)重依賴于具體的數(shù)據(jù),實踐中可以以測試結(jié)果為準(zhǔn)。
下面將介紹使用采集到的原始數(shù)據(jù)進行測試,原始 ADC 采集數(shù)據(jù)使用了 400KHz 采樣率,那么通過降采樣很容易得到 200KHz 采樣率的數(shù)據(jù)。同時將分別測試 FFT 和不使用 FFT,幀長設(shè)置分別為 512,1024,2048,4096。
總結(jié)
從上面的分析,可以得到以下基本的信息:
- 超參數(shù)的選擇不是一件容易的事情,需要大量的實驗以得到穩(wěn)定可靠的結(jié)論。
- 模型實驗對數(shù)據(jù)的質(zhì)量要求很高,穩(wěn)定可靠的數(shù)據(jù)才能得到可靠的結(jié)論,否則實際部署會存在較大差異。
- 從文中圖中可以看到,不一定采樣率越高越好,幀長越長越好,相反,較低的采樣率和幀長可以大大節(jié)省 Flash 和 Ram 的空間,以及減少推斷時間。
目前測試進行的實驗次數(shù)仍然較少,可能得到的結(jié)論不一定非常準(zhǔn)確,本文中的實驗全部使用了相同的數(shù)據(jù)集和相同的網(wǎng)絡(luò)模型,以減少評估參數(shù)??蛻艨梢愿鶕?jù)實際需要,使用更多的模型,更多的測試參數(shù)進行實驗。