2020年10月5日 星期一

AI邊緣運算實作: TensorFlow Lite for MCU #1

[課程簡介]


隨著物聯網與人工智慧發展,工作負載開始由雲端移轉至終端,AI也隨之進入到嵌入式系統及物聯網終端裝置中。在終端或所謂邊緣裝置這類的超低功耗微處理器上所實現的深度學習,被稱呼為微型深度學習。然而在硬體資源受限下,要如何確保AI 效能,同時兼顧低功耗、成本與縮短開發時間,都是研發人員所必須面對的挑戰。

TensorFlow Lite for MCU正是專為邊緣裝置設計的TensorFlow模型預測框架,是TensorFlow的精簡版本,讓開發者可以在物聯網與嵌入式裝置中部署微型機器學習模型。 本課程將教授AI模型如何佈署於微控制器,包含模型訓練、模型最佳化以及TensorFlow Lite框架的程式開發等。此外,在實作上以Sparkfun edge board (ARM cortex M4)為例,說明如何以TensorFlow Lite 進行微控制器上面的人工智慧開發專案,包含人臉偵測、關鍵字的字詞偵測、姿態識別、異常偵測等


[心得]


TensorFlow Lite for MCU 在實作上會涉及Deep Learning 觀念及MCU開發技術,然而這是兩個截然不同的技術領域的人, 要能有效整合必須要能理解這兩邊的技術。在AI領域, 對於輸入的資料多半是.csv檔載入, 然而在邊緣運算上, 輸入的資料是來自硬體的感測器,因此要能正確且即時的對資料預處理並且轉換成模型所須要的x輸入型狀(x input shape)才能代入模型。但資料在抓取上要如何切成一個個完整的x 來進行轉換, 就需要有一個方法,因為訊號如聲音訊號進來是連續波, 沒有切成一段完整的聲音, 就不能再往後處理。有時資料取得有雜訊可能造成模型誤判,所以通常也不能只是用一次模型的預測結果當作測試結果. 這也是要有一個處理的機制。 此外,MCU本身運算速度就不快, 記憶體空間也有限,所以AI模型也不能太大 (要進行優化), 網路的每一層要進行的運算也要盡可能的優化才能加快運算速度。


OK 先從簡單的開始, 要先去觀察感測器看到什麼. 也就是x, 不對的x, 再好的模型也無法得到好的結果.





References:

https://bit.ly/3j2fIIt

<待續....>.

沒有留言 :

張貼留言