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)有微控制器上運行更準(zhǔn)確的機(jī)器學(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ìn)入神經(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ò)輸出越準(zhǔn)確,但算量也隨即增大。每個節(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ò)對算力的要求非常低,然而準(zhǔn)確度也最差。
為什深度量化神經(jīng)網(wǎng)絡(luò)很重要?
業(yè)界面臨的挑戰(zhàn)是找到一種簡化神經(jīng)網(wǎng)絡(luò)的方法,以便在微控制器上運行推理運算,同時又不把準(zhǔn)確度降到讓神經(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ò),充分利用二值化層的高效,同時不會喪失運算準(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)存占用空間,讓工程師能夠選用成本效益更好的芯片,或用一個微控制器代替多個元器件設(shè)計整個系統(tǒng)。因此,STM32Cube.AI 繼續(xù)為邊緣計算平臺帶來更強(qiáng)大的推理能力。
從演示軟件到市場趨勢
如何開發(fā)人數(shù)統(tǒng)計演示軟件?
意法半導(dǎo)體和施耐德電氣最近推出了雙方合作利用 DQNN開發(fā)的一個人數(shù)統(tǒng)計演示軟件。該系統(tǒng)通過處理熱傳感器圖像數(shù)據(jù),在 STM32H7 上運行推理算法,來確定是否有人越過一條假想線,以及是從哪個方向進(jìn)出的。元器件的選擇非常引人注目,因為它宣揚物料成本相對較低。施耐德沒有選用更昂貴的處理器,而是使用深度量化神經(jīng)網(wǎng)絡(luò)來大幅降低內(nèi)存和 CPU 的占用,從而縮減了應(yīng)用系統(tǒng)面積,并為成本效益更高的解決方案打開大門。兩家公司都在 2022 年 3 月的 TinyML 展會期間展示了該演示軟件。
如何克服邊緣機(jī)器學(xué)習(xí)的炒作問題?
意法半導(dǎo)體是第一家提供類似STM32Cube.AI 解決方案的 MCU廠商,根據(jù) MLCommons 基準(zhǔn)測試,我們的工具的性能繼續(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)體克服了這一問題。
參考文獻(xiàn)
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.
評論