STM32Cube.AI v7.2現(xiàn)可支持深度量化神經(jīng)網(wǎng)絡(luò)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
意法半導(dǎo)體近期發(fā)布的 STM32Cube.AI v7.2 帶來了對深度量化神經(jīng)網(wǎng)絡(luò)的支持功能,從而可以在現(xiàn)有微控制器上運(yùn)行更準(zhǔn)確的機(jī)器學(xué)習(xí)應(yīng)用軟件。STM32Cube.AI 于 2019 年推出,用于把神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換為適合STM32 MCU 的代碼。該解決方案依附于 STM32CubeMX,這是一個(gè)幫助開發(fā)人員初始化STM32芯片的圖形界面軟件。同時(shí),STM32Cube.AI 還用到 X-CUBE-AI軟件包,其中包含用于轉(zhuǎn)換訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)的程序庫。開發(fā)人員可以參照我們的入門指南,從STM32CubeMX內(nèi)部開始使用 X-CUBE-AI并體驗(yàn)新功能。 目前,新增加的深度量化神經(jīng)網(wǎng)絡(luò)支持已經(jīng)出現(xiàn)在我們與施耐德電氣合作開發(fā)的人數(shù)統(tǒng)計(jì)應(yīng)用軟件中。
STM32Cube.AI: 從研究到實(shí)際軟件
神經(jīng)網(wǎng)絡(luò)是什么?
最簡單的神經(jīng)網(wǎng)絡(luò)就是一系列網(wǎng)絡(luò)層。在神經(jīng)網(wǎng)絡(luò)中有一個(gè)輸入層和一個(gè)輸出層,以及介于兩者之間的一個(gè)或多個(gè)隱藏層。因此,深度學(xué)習(xí)是指三層以上的神經(jīng)網(wǎng)絡(luò),其中“深度”這個(gè)詞表示有多個(gè)中間層。每一層都包含多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都連接到下層的一個(gè)或多個(gè)節(jié)點(diǎn)。簡而言之,信息通過輸入層進(jìn)入神經(jīng)網(wǎng)絡(luò),穿過隱藏層,然后,從一個(gè)輸出節(jié)點(diǎn)出來。
量化神經(jīng)網(wǎng)絡(luò)和二值化神經(jīng)網(wǎng)絡(luò)分別是什么?
開發(fā)人員在節(jié)點(diǎn)內(nèi)使用權(quán)重和偏差兩種參數(shù)來決定信息在神經(jīng)網(wǎng)絡(luò)上的傳播方式。在數(shù)據(jù)通過網(wǎng)絡(luò)時(shí),這兩個(gè)參數(shù)將會(huì)影響數(shù)據(jù)。權(quán)重是系數(shù)。當(dāng)權(quán)重越復(fù)雜,網(wǎng)絡(luò)輸出越準(zhǔn)確,但算量也隨即增大。每個(gè)節(jié)點(diǎn)還用激活函數(shù)來確定如何轉(zhuǎn)換輸入值。因此,為了提高網(wǎng)絡(luò)性能,開發(fā)人員可以使用權(quán)重精度較低的量化神經(jīng)網(wǎng)絡(luò)。最高效的量化神經(jīng)網(wǎng)絡(luò)是權(quán)重值和激活函數(shù)值只用+1 和 -1兩個(gè)數(shù)值的二值化神經(jīng)網(wǎng)絡(luò) (BNN)。因此,BNN神經(jīng)網(wǎng)絡(luò)對算力的要求非常低,然而準(zhǔn)確度也最差。
為什深度量化神經(jīng)網(wǎng)絡(luò)很重要?
業(yè)界面臨的挑戰(zhàn)是找到一種簡化神經(jīng)網(wǎng)絡(luò)的方法,以便在微控制器上運(yùn)行推理運(yùn)算,同時(shí)又不把準(zhǔn)確度降到讓神經(jīng)網(wǎng)絡(luò)毫無用處的程度。為了解決這個(gè)問題,意法半導(dǎo)體和意大利薩勒諾大學(xué)的研究人員在深度量化神經(jīng)網(wǎng)絡(luò)DQNN上展開合作。DQNN網(wǎng)絡(luò)只用較小的權(quán)重值(1 位到 8 位),并且可以包含混合結(jié)構(gòu),即只有一部分層是二值化,而另一部分層則用位寬更高的浮點(diǎn)量化器。意法半導(dǎo)體和該大學(xué)的研究人員發(fā)表的研究論文論述了哪種混合結(jié)構(gòu)可以產(chǎn)生最佳的結(jié)果,同時(shí)RAM 和 ROM的存儲(chǔ)占用空間最低。
STM32Cube.AI 的新版本是這些研究活動(dòng)的直接成果。7.2 版確實(shí)支持深度量化神經(jīng)網(wǎng)絡(luò),充分利用二值化層的高效,同時(shí)不會(huì)喪失運(yùn)算準(zhǔn)確性。開發(fā)人員可以先用 QKeras 或 Larq 等開發(fā)框架訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,然后再通過 X-CUBE-AI處理訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)。改用DQNN網(wǎng)絡(luò)有助于節(jié)省內(nèi)存占用空間,讓工程師能夠選用成本效益更好的芯片,或用一個(gè)微控制器代替多個(gè)元器件設(shè)計(jì)整個(gè)系統(tǒng)。因此,STM32Cube.AI 繼續(xù)為邊緣計(jì)算平臺帶來更強(qiáng)大的推理能力。
從演示軟件到市場趨勢
如何開發(fā)人數(shù)統(tǒng)計(jì)演示軟件?
意法半導(dǎo)體和施耐德電氣最近推出了雙方合作利用 DQNN開發(fā)的一個(gè)人數(shù)統(tǒng)計(jì)演示軟件。該系統(tǒng)通過處理熱傳感器圖像數(shù)據(jù),在 STM32H7 上運(yùn)行推理算法,來確定是否有人越過一條假想線,以及是從哪個(gè)方向進(jìn)出的。元器件的選擇非常引人注目,因?yàn)樗麚P(yáng)物料成本相對較低。施耐德沒有選用更昂貴的處理器,而是使用深度量化神經(jīng)網(wǎng)絡(luò)來大幅降低內(nèi)存和 CPU 的占用,從而縮減了應(yīng)用系統(tǒng)面積,并為成本效益更高的解決方案打開大門。兩家公司都在 2022 年 3 月的 TinyML 展會(huì)期間展示了該演示軟件。
如何克服邊緣機(jī)器學(xué)習(xí)的炒作問題?
意法半導(dǎo)體是第一家提供類似STM32Cube.AI 解決方案的 MCU廠商,根據(jù) MLCommons 基準(zhǔn)測試,我們的工具的性能繼續(xù)名列前茅。從學(xué)術(shù)論文到軟件發(fā)布,最新的發(fā)展歷程表明,意法半導(dǎo)體之所以表現(xiàn)出色,是因?yàn)槲覀儍?yōu)先考慮有意義的影響實(shí)際應(yīng)用的研究活動(dòng)。我們關(guān)心的是讓 AI 變得實(shí)用且可用,而不只是一個(gè)時(shí)髦術(shù)語。Gartner的市場分析師預(yù)計(jì),嵌入式 AI 開發(fā)企業(yè)將很快經(jīng)歷“幻滅低谷期”。通過爭做業(yè)界龍頭,以研究為動(dòng)力,專注實(shí)際應(yīng)用和精心優(yōu)化,意法半導(dǎo)體克服了這一問題。
參考文獻(xiàn)
Check out STM32Cube.AI v7.2
D. Pau, M. Lattuada, F. Loro, A. De Vita and G. Domenico Licciardo. “Comparing Industry Frameworks with Deeply Quantized Neural Networks on Microcontrollers”. 2021. IEEE International Conference on Consumer Electronics (ICCE)pp. 1-6,
“5 Trends Drive the Gartner Hype Cycle for Emerging Technologies, 2020.”