閱讀本文以了解:
機器學習技術在嵌入式世界快速應用的原因可以在嵌入式設備中支持人工智慧的半導體硬體類型半導體製造商提供的用於支持機器學習應用的開發工具數十年來,科技公司一直夢想著機器學習在主流電子產品中的潛在應用。戰時密碼破譯專家Alan Turing在20世紀40年代已經在考慮機器學習概念。直到20世紀90年代,實際的進展一直很緩慢,但是光學字符識別(OCR)技術使機器首次能夠讀取手寫內容。例如,該技術已在20世紀90年代末商用,用以讀取手寫的銀行支票。
但是,光學字符識別(OCR)的有限突破並沒有立即吸引一系列新應用的出現。偉大的飛躍出現在2012年,當時,來自多倫多的一組研究人員贏得了年度機器學習開發者競賽,其圖像識別錯誤率僅為15%,比第二名的競爭對手高出約十個百分點。
多倫多團隊的成功揭示了一直阻礙機器學習應用的因素:其圖像識別能力的極大提升源自其一個決定,即:在遠遠超過以前使用的大量數據集上訓練機器學習算法,並且,在現在可以負擔得起的大量圖形處理單元(GPU)上訓練其算法。
到2012年,很明顯,機器學習的廣泛使用將取決於數據以及廉價的高速處理器晶片的可用性。
這些因素解釋了為何機器學習在2019年從理論上的吸引力變成了對任何工業或消費電子產品製造商都切實可行。由於YouTube、Facebook等服務以及與智能手錶和智能腕帶相關的app所產生的大量數據存儲,現在有足夠多的訓練數據集來支持各種應用,例如語音識別、圖像識別、人數統計和視頻分析等。
同時,當今的微控制器、應用處理器和FPGA可以在邊緣執行推理,即不需要高速、高精度地連接到雲中的人工智慧(AI)服務。
矽晶片製造商還推出了新工具,以支持機器學習軟體在其設備上的應用。
用於訓練機器的生態系統也已出現。任何OEM均可使用Caffe、TensorFlowLite和PyTorch等訓練框架,以在其數據集上訓練神經網絡。他們生成的機器學習模型以大多數MCU、處理器和FPGA製造商支持的標準數據格式打包。
因此,現在可以在嵌入式開發人員已經熟悉的硬體上實施機器學習:例如,基於Arm Cortex-M的微控制器、基於Cortex-A的應用處理器或低功耗FPGA等。但是,這些硬體設備的製造商在何種程度上可以在Caffe或TensorFlow Lite之類的框架生成的機器學習模型與OEM選擇的MCU、處理器或FPGA之間架起橋梁?
實現機器學習的多種方法
實際上,不同的製造商採用了不同的方法將機器學習模型移植到硬體目標。有些提供了對現有開發工具的擴展,以使開發人員能夠將機器學習模型編譯到特定的硬體設備。其他則為機器學習創建了一個完整的集成開發環境(IDE)。
Microchip Technology採用了第三條路:不是為其PolarFire FPGA的用戶提供一套特定的機器學習工具,而是與第三方公司ASIC Design Services合作,以執行OEM神經網絡(NN)模型到FPGA比特流輸出的轉換。然後,可以使用Microchip熟悉的Libero SoC設計套件將該輸出編譯成PolarFire FPGA目標。
這種方法的優點是與ASIC Design Services的合作可提供諮詢以及模型轉換,並且不需要PolarFire用戶學習如何執行模型轉換。
另一家FPGA製造商萊迪思半導體提供了一套全面的服務和工具sensAI,以使其iCE40和ECP FPGA的用戶自行進行移植,如圖1所示。sensAI堆棧集成了模塊化硬體平臺、示例演示、參考設計、神經網絡IP內核、用於開發的軟體工具以及定製設計服務。
這個全面的堆棧能夠簡化萊迪思參考設計支持的應用的開發,例如人數統計:萊迪思提供了現成的訓練腳本和示例數據集,以支持標準框架(例如Caffe)中的模型訓練,並提供用於將完成的模型編譯到所選硬體目標的工具。
圖1:在萊迪思半導體的sensAI工具上的實施流程
恩智浦半導體公司提供了類似的、全面的工具,但適用於應用處理器而非FPGA。它的eIQ ML軟體開發環境提供了部署各種機器學習算法所需的關鍵組件。它包括推理引擎、NN編譯器、視覺和傳感器解決方案以及硬體抽象層,如圖2所示。
圖2:恩智浦的eIQ平臺,用於在嵌入式處理器或MCU上託管推理引擎
在發布時,它支持i.MX RT跨界微控制器系列和i.MX應用處理器系列,但是恩智浦的目的是隨著時間的推移將該平臺部署到其完整的處理器和MCU系列中。恩智浦的eIQ應用示例很好地支持以下方案:面部識別、物體檢測、異常檢測和語音識別等。
此外,用於i.MX 8M的恩智浦開發套件還提供了用於Alexa語音識別應用的潛力的演示。
恩智浦的eIQ平臺是一套分立式的機器學習工具,而意法半導體則選擇通過其32位MCU的現有STM32CubeMX設計環境來支持機器學習開發。藉助STM32Cube.AI,開發人員可以將經過預訓練的神經網絡轉換為可在該公司的基於STM32 Arm Cortex-M的MCU上運行的C代碼。
STM32Cube.AI工具包的優勢在於,它與意法半導體的環境和運動傳感器產品組合相集成。預測性維護依賴於對振動和溫度等參數中模式的準確識別,有望成為機器學習的殺手級app。STM32Cube.AI隨附現成的軟體功能包,其中包括兩個應用的示例代碼:
人類活動識別音頻場景分類這些示例代碼可立即與ST SensorTile參考板和ST BLE Sensor手機app一起使用。SensorTile板具有加速度計/陀螺儀模塊、壓力傳感器、麥克風和藍牙無線電收發器。
專為嵌入式世界打造的機器學習框架
大多數半導體供應商提供的工具都假定OEM的模型將在標準的第三方模型訓練框架(例如Caffe或TensorFlow)中進行訓練。這些框架源於企業計算領域,其輸出(它們產生的推理引擎)非常適合具有大功率處理器陣列的基於雲的運行時環境,而不是資源受限的嵌入式硬體。
這就是QuickLogic及其SensiML子公司提供的機器學習平臺對嵌入式開發人員如此有吸引力的原因。SensiML的Endpoint AI Toolkit是一個完整的模型訓練工具套件,是針對嵌入式硬體目標而重新構建的。SensiML工具包旨在用於典型的嵌入式應用(如預測性維護)中,並不假定神經網絡對於預期的應用來說必然是正確的推理引擎類型。SensiML堅持認為:
緩慢變化的傳感器(例如溫度或溼度傳感器)通常可以使用基本規則或閾值分析動態時間序列數據幾乎總是可以由機器學習分類器處理空間(圖像)數據通常需要神經網絡SensiML的工具包提供了一個不斷發展的特徵變換和分類器算法庫,可自動搜索和優化針對給定問題的最佳方法,而不是強加一種萬能的深度學習方法,如圖3所示。其優點包括佔據更小的代碼空間,以及執行模型訓練所需的數據遠遠少於神經網絡。
至關重要的是,它使開發人員能夠在數天或數周內構建智能的IoT傳感設備,而無需像TensorFlow或Caffe這樣的框架通常需要的數據科學或嵌入式固件方面的專業知識。由於SensiML是QuickLogic的子公司,它們不僅與其他各種硬體目標(包括基於Arm Cortex-M的MCU)兼容,而且其傳感器算法也針對QuickLogic的EOS S3傳感器處理片上系統進行了優化。
圖3:SensiML推理引擎開發流程
工具產品的快速發展
MCU、應用處理器和FPGA的製造商已經推出了各種各樣的工具,以支持正在實現機器學習模型的嵌入式開發人員的需求。但是這個領域還很年輕,並且正持續發展。這些工具的性能會越來越好,其功能也會更加複雜。
對於嵌入式開發人員來說,這意味著現在就是開始在實際應用中嘗試機器學習的最好時機。
關於富昌電子:
富昌電子(Future Electronics)是全球領先的電子元器件分銷商,提供全球供應鏈解決方案、定製化工程設計服務以及全面的無源及半導體產品線,在業界享有盛名。富昌電子由Robert Miller先生於1968年創立,在全球44個國家的169個辦事處擁有超過5500名員工。作為一家全球整合的公司,富昌電子依託全球一體化信息平臺,使客戶能夠實時查詢庫存情況和供需動態。憑藉最高水平的服務、最先進的工程設計能力以及全球最大的可銷售庫存,富昌電子始終秉承著成就客戶的理念。