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