0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32Cube.AI將神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換為STM32的優(yōu)化代碼

星星科技指導(dǎo)員 ? 來源:意法半導(dǎo)體 ? 作者:意法半導(dǎo)體 ? 2022-05-16 10:24 ? 次閱讀

STM32Cube.AI是業(yè)界最先進的工具包,能夠與流行的深度學(xué)習(xí)庫互操作,以轉(zhuǎn)換任何用于 STM32 微控制器的人工神經(jīng)網(wǎng)絡(luò)MCU)運行優(yōu)化推理。該軟件套件包括 X-Cube 擴展軟件X-CUBE-AI 、為我們的SensorTile 開發(fā)套件 (STEVAL-STLKT01V1)提供應(yīng)用示例的功能包FP-AI-SENSING1,以及對我們的ST BLE 傳感器的更新為功能包的演示提供 GUI 和控件的 iOSAndroid 應(yīng)用程序。僅發(fā)布這些解決方案已經(jīng)是一個開創(chuàng)性的公告,因為目前沒有任何工具可以與此功能集相媲美。然而,STM32Cube.AI 不僅僅是一個簡單的工具包,而是反映了我們希望通過將神經(jīng)網(wǎng)絡(luò)帶給所有 STM32 開發(fā)人員來改變物聯(lián)網(wǎng)格局的愿望。

傾向于專門研究使用我們 STM32 MCU 的嵌入式系統(tǒng)類型的人可能不熟悉神經(jīng)網(wǎng)絡(luò)的最新進展。同樣,使用幾乎無限的云資源進行機器學(xué)習(xí)的數(shù)據(jù)科學(xué)家可能對嵌入式平臺的內(nèi)存和計算限制不熟悉。因此,STM32Cube.AI 通過揭開人工智能和嵌入式系統(tǒng)的神秘面紗彌合了差距。我們展示了專家和工具隨時可用,并且很容易利用邊緣計算的日益普及在我們的平臺上運行推理。換句話說,STM32Cube.AI 證明了嵌入式系統(tǒng)上的神經(jīng)網(wǎng)絡(luò)已經(jīng)存在。

STM32Cube.AI 將數(shù)據(jù)科學(xué)帶給嵌入式系統(tǒng)專家

STM32Cube.AI 套件的基礎(chǔ)部分是 X-CUBE-AI,它用作 STM32CubeMX 代碼生成器的擴展包。不熟悉我們生態(tài)系統(tǒng)的人會喜歡我們的分步指南,該指南解釋了如何使用它來配置微控制器的引腳和時鐘樹等,并生成將啟動他們的應(yīng)用程序的頭文件。X-CUBE-AI顯著擴展了 STM32CubeMX 的功能集,使其能夠?qū)胗僧斀褚恍┳盍餍械膸欤ɡ?Keras、TensorFlow、Caffe、Lasagne 或 ConvnetJS)訓(xùn)練的人工神經(jīng)網(wǎng)絡(luò)。通過 X-CUBE-AI,STM32CubeMX 將在 STM32 MCU 上映射神經(jīng)網(wǎng)絡(luò)并優(yōu)化生成的庫例如,折疊它的一些層并減少它的內(nèi)存占用。然后代碼生成器將生成一個開發(fā)人員可以在應(yīng)用程序中使用的庫。

如果專業(yè)人士甚至愛好者想要快速開始試驗我們的 STM32Cube.AI 計劃,他們可以使用功能包 FP-AI-SENSING1,其中包括兩個充分利用我們的 SensorTile 開發(fā)套件的應(yīng)用示例。其中之一使用車載麥克風(fēng)捕獲音頻、預(yù)處理信號,然后使用推理來確定聲音是來自室內(nèi)、室外還是來自車輛內(nèi)部。

類似地,另一個示例程序跟蹤運動以確定用戶是靜止的、步行的、跑步的、騎自行車的還是開車的。我們已經(jīng)編譯了二進制文件,因此用戶只需將文件拖放到他們的系統(tǒng)上即可開始使用這些應(yīng)用程序以加載演示。我們還提供硬件抽象層、驅(qū)動程序和源代碼等,因此開發(fā)人員可以從我們的實現(xiàn)中學(xué)習(xí)并開始編寫他們的測試軟件。

區(qū)分神經(jīng)網(wǎng)絡(luò)和決策樹

X-CUBE-AI 和 FP-AI-SENSING1 都可以提供神經(jīng)網(wǎng)絡(luò),這要歸功于對物聯(lián)網(wǎng)平臺上深度學(xué)習(xí)系統(tǒng)實施的多年研究。然而,今天的公告具有高度的象征意義,因為 STM32Cube.AI 將所有這些論文和發(fā)現(xiàn)結(jié)合在一個解決方案中,通過允許將大量拓撲轉(zhuǎn)換到我們的平臺上以用于許多不同的應(yīng)用,擴大了以前可能的范圍。

雖然新工具實現(xiàn)了人工神經(jīng)網(wǎng)絡(luò),但我們想要區(qū)分這樣一個事實,即我們還通過使用決策樹為資源稀缺的運動傳感器帶來機器學(xué)習(xí)能力。從最廣泛的意義上說,機器學(xué)習(xí)使用數(shù)學(xué)模型來處理數(shù)據(jù)并估計最佳結(jié)果或決策。決策樹是機器學(xué)習(xí)中的分類器模型,它反復(fù)將特征空間解析為一系列路徑(分支)并貫穿它們,直到系統(tǒng)到達一個端點(葉子),它代表一個類或決策。2019 年,我們的慣性傳感器 LSM6DSOX 將使用決策樹來提供機器學(xué)習(xí)功能因為這是提供新的低功耗特性的好方法,無需微控制器的幫助即可處理來自一個或兩個傳感元件的數(shù)據(jù)。

與決策樹相反,神經(jīng)網(wǎng)絡(luò)不是使用 if-then-else 語句解析特征空間的算法,而是連接單元(神經(jīng)元)的框架,這些單元(神經(jīng)元)在系統(tǒng)通過示例學(xué)習(xí)時獲得不同的權(quán)重。然后應(yīng)用程序可以使用生成的模型來推斷和估計最合適的響應(yīng)。神經(jīng)網(wǎng)絡(luò)中的決策過程并不那么明顯,在某些用例中,它可能需要比決策樹更多的資源,但它可以處理更大的數(shù)據(jù)流,以便在更廣泛的領(lǐng)域提供更準確的結(jié)果應(yīng)用程序。

STM32Cube.AI 為數(shù)據(jù)科學(xué)家?guī)砬度胧较到y(tǒng)

依賴于神經(jīng)網(wǎng)絡(luò)的應(yīng)用程序的性能和準確性來自對必須收集的數(shù)據(jù)類型和質(zhì)量的正確分析,并與適當網(wǎng)絡(luò)拓撲的選擇緊密結(jié)合。當我們談?wù)撋疃惹度胧浇鉀Q方案時,情況更是如此。因此,我們確保我們的合作伙伴計劃將包括能夠在此過程中提供必要專業(yè)知識來指導(dǎo)我們的客戶的公司。

我們計劃的一些成員掌握了特定的研究領(lǐng)域,例如Lenord+Bauer專注于運動傳感器,并展示了我們的平臺和人工智能如何導(dǎo)致火車軌道的預(yù)測性維護。其他公司,如SIANA Systems,為醫(yī)療、工業(yè)、家庭自動化和可穿戴應(yīng)用提供更豐富的經(jīng)驗。無論如何,這些合作伙伴將使 STM32 開發(fā)人員能夠擺脫我們應(yīng)用示例的限制,并將神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練到與新商業(yè)產(chǎn)品兼容的水平。

STM32Cube.AI 為拓撲專家?guī)砬度胧较到y(tǒng)

我們的合作伙伴還將協(xié)助公司選擇正確的拓撲結(jié)構(gòu)。拓撲是網(wǎng)絡(luò)神經(jīng)元之間互連的表示,它顯示了它們?nèi)绾闻c輸入交互、相互影響以及獲得一個或多個輸出。最簡單的拓撲(多層感知器)添加多個輸入并提供具有全方位連接的輸出,而當今更常見的拓撲(例如卷積神經(jīng)網(wǎng)絡(luò))使用一系列輸入互連到一組異構(gòu)過濾提供越來越可能的輸出的神經(jīng)元。今天,數(shù)據(jù)科學(xué)家繼續(xù)改進和優(yōu)化這些拓撲,但基本原理保持不變。

例如,音頻應(yīng)用程序傳統(tǒng)上使用門控循環(huán)單元 (GRU),它依賴于具有能夠回憶先前信息的記憶的神經(jīng)元。然而,今天,專家們傾向于更喜歡長期/短期記憶拓撲 (LSTM),這種拓撲在利用長期時間信息方面更強大,但代價是更多的內(nèi)存和計算。

STM32Cube.AI:2019 年會發(fā)生什么?

STM32Cube.AI 工具箱的美妙之處在于它使開發(fā)人員能夠立即開始使用神經(jīng)網(wǎng)絡(luò),即使他們不是數(shù)據(jù)挖掘和拓撲方面的專家。此外,這些解決方案幫助他們提高生產(chǎn)力,因為他們不再需要編寫耗時的庫,因為 STM32CubeMX 只是生成它們。事實上,F(xiàn)unction Pack 使用應(yīng)用示例幫助工程師和愛好者在幾分鐘內(nèi)試驗我們的解決方案,我們將在 2019 年第一季度將這些應(yīng)用示例提供給更多客戶,因為我們帶來了 FP-AI 的演示-SENSING1 到B-L475E-IOT01A 發(fā)現(xiàn)物聯(lián)網(wǎng)節(jié)點。因此,我們的計劃將繼續(xù)接收更新,以使其更易于使用并可供更多開發(fā)人員使用。

我們還將確保 STM32CubeMX 可以在更多 MCU 上轉(zhuǎn)換預(yù)訓(xùn)練的人工神經(jīng)網(wǎng)絡(luò)。代碼生成器包括一個選擇工具,可以分析網(wǎng)絡(luò)的復(fù)雜性,以推薦具有適當計算吞吐量和內(nèi)存量的 STM32。今天,X-CUBE-AI 只能將網(wǎng)絡(luò)轉(zhuǎn)換為具有浮點單元的微控制器,這意味著它需要一個至少具有 Cortex M4 的模型。然而,我們正在努力更新我們的工具以支持定點實現(xiàn),這最終將把神經(jīng)網(wǎng)絡(luò)帶入甚至更低功耗的系統(tǒng)或加速我們更強大的微控制器的推理。同樣,我們將逐步添加對其他 AI 框架的支持,使 STM32Cube.AI 工具包更加全面。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7399

    瀏覽量

    150669
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16813

    瀏覽量

    349473
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4726

    瀏覽量

    100344
收藏 人收藏

    評論

    相關(guān)推薦

    神經(jīng)網(wǎng)絡(luò)優(yōu)化器有哪些

    神經(jīng)網(wǎng)絡(luò)優(yōu)化器是深度學(xué)習(xí)中用于調(diào)整網(wǎng)絡(luò)參數(shù)以最小化損失函數(shù)的重要工具。這些優(yōu)化器通過不同的策略來更新網(wǎng)絡(luò)權(quán)重,以提高訓(xùn)練效率和模型性能。以下
    的頭像 發(fā)表于 07-11 16:33 ?416次閱讀

    BP神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的關(guān)系

    廣泛應(yīng)用的神經(jīng)網(wǎng)絡(luò)模型。它們各自具有獨特的特點和優(yōu)勢,并在不同的應(yīng)用場景中發(fā)揮著重要作用。以下是對BP神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)關(guān)系的詳細探討,內(nèi)容涵蓋兩者的定義、原理、區(qū)別、聯(lián)系以及應(yīng)
    的頭像 發(fā)表于 07-10 15:24 ?893次閱讀

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)的區(qū)別

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡稱ANNs)之間的關(guān)系與區(qū)別,是神經(jīng)網(wǎng)絡(luò)領(lǐng)域中一個基礎(chǔ)且重要的話題。本文將從定義、結(jié)構(gòu)、算法、應(yīng)用及未來發(fā)展等多個方面,詳細闡述BP
    的頭像 發(fā)表于 07-10 15:20 ?609次閱讀

    rnn是遞歸神經(jīng)網(wǎng)絡(luò)還是循環(huán)神經(jīng)網(wǎng)絡(luò)

    RNN(Recurrent Neural Network)是循環(huán)神經(jīng)網(wǎng)絡(luò),而非遞歸神經(jīng)網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)是一種具有時間序列特性的神經(jīng)網(wǎng)絡(luò),能夠處理序列數(shù)據(jù),具有記憶功能。以下是關(guān)于循環(huán)
    的頭像 發(fā)表于 07-05 09:52 ?436次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)一樣嗎

    時具有各自的優(yōu)勢和特點。本文介紹遞歸神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的概念、結(jié)構(gòu)、工作原理、優(yōu)缺點以及應(yīng)用場景。 遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RvNN) 1
    的頭像 發(fā)表于 07-05 09:28 ?538次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)

    。 遞歸神經(jīng)網(wǎng)絡(luò)的概念 遞歸神經(jīng)網(wǎng)絡(luò)是一種具有短期記憶功能的神經(jīng)網(wǎng)絡(luò),它能夠處理序列數(shù)據(jù),如時間序列、文本、語音等。與傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)不同,遞歸
    的頭像 發(fā)表于 07-04 14:54 ?551次閱讀

    循環(huán)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的區(qū)別

    結(jié)構(gòu)。它們在處理不同類型的數(shù)據(jù)和解決不同問題時具有各自的優(yōu)勢和特點。本文將從多個方面比較循環(huán)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的區(qū)別。 基本概念 循環(huán)神經(jīng)網(wǎng)絡(luò)是一種具有循環(huán)連接的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它可
    的頭像 發(fā)表于 07-04 14:24 ?814次閱讀

    神經(jīng)網(wǎng)絡(luò)優(yōu)化算法有哪些

    神經(jīng)網(wǎng)絡(luò)優(yōu)化算法是深度學(xué)習(xí)領(lǐng)域中的核心技術(shù)之一,旨在通過調(diào)整網(wǎng)絡(luò)中的參數(shù)(如權(quán)重和偏差)來最小化損失函數(shù),從而提高模型的性能和效率。本文詳細探討
    的頭像 發(fā)表于 07-03 16:01 ?353次閱讀

    bp神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)區(qū)別是什么

    結(jié)構(gòu)、原理、應(yīng)用場景等方面都存在一定的差異。以下是對這兩種神經(jīng)網(wǎng)絡(luò)的比較: 基本結(jié)構(gòu) BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層、隱藏層和輸出層組成。每個神經(jīng)元之間通過權(quán)重連接,并通
    的頭像 發(fā)表于 07-03 10:12 ?743次閱讀

    BP神經(jīng)網(wǎng)絡(luò)激活函數(shù)怎么選擇

    中,激活函數(shù)起著至關(guān)重要的作用,它決定了神經(jīng)元的輸出方式,進而影響整個網(wǎng)絡(luò)的性能。 一、激活函數(shù)的作用 激活函數(shù)是BP神經(jīng)網(wǎng)絡(luò)神經(jīng)元的核心組成部分,其主要作用如下: 引入非線性:激活
    的頭像 發(fā)表于 07-03 10:02 ?455次閱讀

    生成式AI神經(jīng)網(wǎng)絡(luò)模型的區(qū)別和聯(lián)系

    生成式AI神經(jīng)網(wǎng)絡(luò)模型是現(xiàn)代人工智能領(lǐng)域的兩個核心概念,它們在推動技術(shù)進步和應(yīng)用拓展方面發(fā)揮著至關(guān)重要的作用。本文詳細探討生成式AI神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-02 15:03 ?507次閱讀

    如何訓(xùn)練和優(yōu)化神經(jīng)網(wǎng)絡(luò)

    神經(jīng)網(wǎng)絡(luò)是人工智能領(lǐng)域的重要分支,廣泛應(yīng)用于圖像識別、自然語言處理、語音識別等多個領(lǐng)域。然而,要使神經(jīng)網(wǎng)絡(luò)在實際應(yīng)用中取得良好效果,必須進行有效的訓(xùn)練和優(yōu)化。本文將從神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程
    的頭像 發(fā)表于 07-01 14:14 ?337次閱讀

    電機控制系統(tǒng)的神經(jīng)網(wǎng)絡(luò)優(yōu)化策略

    電機控制系統(tǒng)作為現(xiàn)代工業(yè)自動化的核心組成部分,其性能直接影響到整個生產(chǎn)線的效率和穩(wěn)定性。隨著人工智能技術(shù)的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)在電機控制系統(tǒng)中的應(yīng)用越來越廣泛。神經(jīng)網(wǎng)絡(luò)優(yōu)化策略通過模擬人腦神經(jīng)
    的頭像 發(fā)表于 06-25 11:46 ?482次閱讀

    CubeIDE生成的代碼框架會卡在MX_X_CUBE_AI_Process()函數(shù)中是怎么回事?

    當我網(wǎng)絡(luò)模型部署到STM32F407VGT6中時,CubeIDE生成的代碼框架會卡在MX_X_CUBE_AI_Process()函數(shù)中是怎
    發(fā)表于 05-30 06:11

    STM32CubeMX導(dǎo)入神經(jīng)網(wǎng)絡(luò),aiRun的indata應(yīng)該定義成什么格式呢?

    我用STM32CubeMX中的X-Cube-AI, 導(dǎo)入了一個處理時間序列的神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)input是2維數(shù)據(jù),如(10,256,2) 在Generate code之后,在main.
    發(fā)表于 03-13 07:38