STM32Cube.AI是業(yè)界最先進的工具包,能夠與流行的深度學習庫互操作,以轉(zhuǎn)換任何用于 STM32 微控制器的人工神經(jīng)網(wǎng)絡( MCU)運行優(yōu)化推理。該軟件套件包括 X-Cube 擴展軟件X-CUBE-AI 、為我們的SensorTile 開發(fā)套件 (STEVAL-STLKT01V1)提供應用示例的功能包FP-AI-SENSING1,以及對我們的ST BLE 傳感器的更新為功能包的演示提供 GUI 和控件的 iOS 和 Android 應用程序。僅發(fā)布這些解決方案已經(jīng)是一個開創(chuàng)性的公告,因為目前沒有任何工具可以與此功能集相媲美。然而,STM32Cube.AI 不僅僅是一個簡單的工具包,而是反映了我們希望通過將神經(jīng)網(wǎng)絡帶給所有 STM32 開發(fā)人員來改變物聯(lián)網(wǎng)格局的愿望。
傾向于專門研究使用我們 STM32 MCU 的嵌入式系統(tǒng)類型的人可能不熟悉神經(jīng)網(wǎng)絡的最新進展。同樣,使用幾乎無限的云資源進行機器學習的數(shù)據(jù)科學家可能對嵌入式平臺的內(nèi)存和計算限制不熟悉。因此,STM32Cube.AI 通過揭開人工智能和嵌入式系統(tǒng)的神秘面紗彌合了差距。我們展示了專家和工具隨時可用,并且很容易利用邊緣計算的日益普及在我們的平臺上運行推理。換句話說,STM32Cube.AI 證明了嵌入式系統(tǒng)上的神經(jīng)網(wǎng)絡已經(jīng)存在。
STM32Cube.AI 將數(shù)據(jù)科學帶給嵌入式系統(tǒng)專家
STM32Cube.AI 套件的基礎部分是 X-CUBE-AI,它用作 STM32CubeMX 代碼生成器的擴展包。不熟悉我們生態(tài)系統(tǒng)的人會喜歡我們的分步指南,該指南解釋了如何使用它來配置微控制器的引腳和時鐘樹等,并生成將啟動他們的應用程序的頭文件。X-CUBE-AI顯著擴展了 STM32CubeMX 的功能集,使其能夠?qū)胗僧斀褚恍┳盍餍械膸欤ɡ?Keras、TensorFlow、Caffe、Lasagne 或 ConvnetJS)訓練的人工神經(jīng)網(wǎng)絡。通過 X-CUBE-AI,STM32CubeMX 將在 STM32 MCU 上映射神經(jīng)網(wǎng)絡并優(yōu)化生成的庫例如,折疊它的一些層并減少它的內(nèi)存占用。然后代碼生成器將生成一個開發(fā)人員可以在應用程序中使用的庫。
如果專業(yè)人士甚至愛好者想要快速開始試驗我們的 STM32Cube.AI 計劃,他們可以使用功能包 FP-AI-SENSING1,其中包括兩個充分利用我們的 SensorTile 開發(fā)套件的應用示例。其中之一使用車載麥克風捕獲音頻、預處理信號,然后使用推理來確定聲音是來自室內(nèi)、室外還是來自車輛內(nèi)部。
類似地,另一個示例程序跟蹤運動以確定用戶是靜止的、步行的、跑步的、騎自行車的還是開車的。我們已經(jīng)編譯了二進制文件,因此用戶只需將文件拖放到他們的系統(tǒng)上即可開始使用這些應用程序以加載演示。我們還提供硬件抽象層、驅(qū)動程序和源代碼等,因此開發(fā)人員可以從我們的實現(xiàn)中學習并開始編寫他們的測試軟件。
區(qū)分神經(jīng)網(wǎng)絡和決策樹
X-CUBE-AI 和 FP-AI-SENSING1 都可以提供神經(jīng)網(wǎng)絡,這要歸功于對物聯(lián)網(wǎng)平臺上深度學習系統(tǒng)實施的多年研究。然而,今天的公告具有高度的象征意義,因為 STM32Cube.AI 將所有這些論文和發(fā)現(xiàn)結(jié)合在一個解決方案中,通過允許將大量拓撲轉(zhuǎn)換到我們的平臺上以用于許多不同的應用,擴大了以前可能的范圍。
雖然新工具實現(xiàn)了人工神經(jīng)網(wǎng)絡,但我們想要區(qū)分這樣一個事實,即我們還通過使用決策樹為資源稀缺的運動傳感器帶來機器學習能力。從最廣泛的意義上說,機器學習使用數(shù)學模型來處理數(shù)據(jù)并估計最佳結(jié)果或決策。決策樹是機器學習中的分類器模型,它反復將特征空間解析為一系列路徑(分支)并貫穿它們,直到系統(tǒng)到達一個端點(葉子),它代表一個類或決策。2019 年,我們的慣性傳感器 LSM6DSOX 將使用決策樹來提供機器學習功能因為這是提供新的低功耗特性的好方法,無需微控制器的幫助即可處理來自一個或兩個傳感元件的數(shù)據(jù)。
與決策樹相反,神經(jīng)網(wǎng)絡不是使用 if-then-else 語句解析特征空間的算法,而是連接單元(神經(jīng)元)的框架,這些單元(神經(jīng)元)在系統(tǒng)通過示例學習時獲得不同的權(quán)重。然后應用程序可以使用生成的模型來推斷和估計最合適的響應。神經(jīng)網(wǎng)絡中的決策過程并不那么明顯,在某些用例中,它可能需要比決策樹更多的資源,但它可以處理更大的數(shù)據(jù)流,以便在更廣泛的領域提供更準確的結(jié)果應用程序。
STM32Cube.AI 為數(shù)據(jù)科學家?guī)砬度胧较到y(tǒng)
依賴于神經(jīng)網(wǎng)絡的應用程序的性能和準確性來自對必須收集的數(shù)據(jù)類型和質(zhì)量的正確分析,并與適當網(wǎng)絡拓撲的選擇緊密結(jié)合。當我們談論深度嵌入式解決方案時,情況更是如此。因此,我們確保我們的合作伙伴計劃將包括能夠在此過程中提供必要專業(yè)知識來指導我們的客戶的公司。
我們計劃的一些成員掌握了特定的研究領域,例如Lenord+Bauer專注于運動傳感器,并展示了我們的平臺和人工智能如何導致火車軌道的預測性維護。其他公司,如SIANA Systems,為醫(yī)療、工業(yè)、家庭自動化和可穿戴應用提供更豐富的經(jīng)驗。無論如何,這些合作伙伴將使 STM32 開發(fā)人員能夠擺脫我們應用示例的限制,并將神經(jīng)網(wǎng)絡模型訓練到與新商業(yè)產(chǎn)品兼容的水平。
STM32Cube.AI 為拓撲專家?guī)砬度胧较到y(tǒng)
我們的合作伙伴還將協(xié)助公司選擇正確的拓撲結(jié)構(gòu)。拓撲是網(wǎng)絡神經(jīng)元之間互連的表示,它顯示了它們?nèi)绾闻c輸入交互、相互影響以及獲得一個或多個輸出。最簡單的拓撲(多層感知器)添加多個輸入并提供具有全方位連接的輸出,而當今更常見的拓撲(例如卷積神經(jīng)網(wǎng)絡)使用一系列輸入互連到一組異構(gòu)過濾提供越來越可能的輸出的神經(jīng)元。今天,數(shù)據(jù)科學家繼續(xù)改進和優(yōu)化這些拓撲,但基本原理保持不變。
例如,音頻應用程序傳統(tǒng)上使用門控循環(huán)單元 (GRU),它依賴于具有能夠回憶先前信息的記憶的神經(jīng)元。然而,今天,專家們傾向于更喜歡長期/短期記憶拓撲 (LSTM),這種拓撲在利用長期時間信息方面更強大,但代價是更多的內(nèi)存和計算。
STM32Cube.AI:2019 年會發(fā)生什么?
STM32Cube.AI 工具箱的美妙之處在于它使開發(fā)人員能夠立即開始使用神經(jīng)網(wǎng)絡,即使他們不是數(shù)據(jù)挖掘和拓撲方面的專家。此外,這些解決方案幫助他們提高生產(chǎn)力,因為他們不再需要編寫耗時的庫,因為 STM32CubeMX 只是生成它們。事實上,F(xiàn)unction Pack 使用應用示例幫助工程師和愛好者在幾分鐘內(nèi)試驗我們的解決方案,我們將在 2019 年第一季度將這些應用示例提供給更多客戶,因為我們帶來了 FP-AI 的演示-SENSING1 到B-L475E-IOT01A 發(fā)現(xiàn)物聯(lián)網(wǎng)節(jié)點。因此,我們的計劃將繼續(xù)接收更新,以使其更易于使用并可供更多開發(fā)人員使用。
我們還將確保 STM32CubeMX 可以在更多 MCU 上轉(zhuǎn)換預訓練的人工神經(jīng)網(wǎng)絡。代碼生成器包括一個選擇工具,可以分析網(wǎng)絡的復雜性,以推薦具有適當計算吞吐量和內(nèi)存量的 STM32。今天,X-CUBE-AI 只能將網(wǎng)絡轉(zhuǎn)換為具有浮點單元的微控制器,這意味著它需要一個至少具有 Cortex M4 的模型。然而,我們正在努力更新我們的工具以支持定點實現(xiàn),這最終將把神經(jīng)網(wǎng)絡帶入甚至更低功耗的系統(tǒng)或加速我們更強大的微控制器的推理。同樣,我們將逐步添加對其他 AI 框架的支持,使 STM32Cube.AI 工具包更加全面。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7572瀏覽量
151648 -
mcu
+關(guān)注
關(guān)注
146文章
17185瀏覽量
351734 -
神經(jīng)網(wǎng)絡
+關(guān)注
關(guān)注
42文章
4774瀏覽量
100909
發(fā)布評論請先 登錄
相關(guān)推薦
評論