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