隨著大數據充斥著我們的周遭,常看到例如天氣、股價、空氣品質..等,這些數據也會搭配著時間,專家們透過這些數據來進行分析與預測。
因此,Time Series 演算法就是專門用來做這部分的分析。
NXP 也隨著科技趨勢,在既有的 eIQ Toolkit 加入了 Time Series Studio 工具,以下就是相關的介紹。
一、什麼是 Time Series
Time Series (時間序列分析)是一種將基於時間順序排列的數據集進行分析,透過歷史資料來理解數據行為並且預測未來的趨勢或變化,因此可以用來解決一些與時間有關的數據的問題。
在我們的生活中有很多應用,並涵蓋許多不同的領域,例如:
- 股票市場分析:透過歷史股價來分析或預測股價走勢、波動以及交易量
- 心律監測:追蹤用戶的心律變化,用以檢測用戶是否疲勞或心理壓力
- 能源管理:分析用戶家庭用電狀況,進而優化電力的消耗
- 設備健康管理:監測設備運作狀態以檢測是否存在異常,降低設備無預警停機狀況
二、NXP Time Series Studio
為了在邊緣設備上推動人工智慧(AI),NXP 推出了 eIQ Time Series Studio(簡稱 TSS),這是 eIQ AI 工具系列中的最新的工具。
TSS 是一個基於時間序列功能整合的工具,並且能透過產出的模型部屬到 NXP SoC 產品的專案中。
它提供了友善的 GUI 介面,即使沒有機器學習知識的小白,也能夠建立自己的 AI 模型。
三、TSS Workflow
TSS 提供了許多功能。包含時間序列數據記錄、數據可視化、數據分析、機器學習自動優化、模型模擬以及產生部署所需的 Library。
操作 TSS 流程包含使用者可以導入自己的時間序列的數據集,或是範例所提供的數據集進行訓練。
從數據集訓練之後,IDE 會列出最佳的模型列表,供使用者選擇合適的模型。
使用者再根據目標裝置,操作 TSS 產生出對應的 API Header 以及運行所需的 Library。
以下圖示展示了完整的 Workflow:
(圖片來源:NXP)
四、TSS 系統架構
TSS 主要由前端 GUI、後端 Shell 指令以及能夠產生原始碼的雲端伺服器所組成。
支援多種 IDE 編譯器,能讓使用者快速開發所需功能,下圖展示了系統架構:
(圖片來源:NXP)
4.1. Customer Dataset
使用者可以根據訓練以及測試的需求,來自行調整自己的數據集。
數據集分為 Training Dataset 和 Testing Dataset 兩部分,使用者可以在開始訓練之前,透過此 IDE 指定數據分配的比例,預設為 8:2 。
(圖片來源:NXP)
Training Dataset : 用來進行模型訓練。合適的數據集大小以及 Training/Validation 比例能夠增加準確性和模擬結果。
Testing Dataset : 在模擬情況下測試在訓練中未看過的數據。可用來檢測模型是否有過擬合以及是否具備良好的泛化能力。
下圖展示了數據集分割的方式 :
4.2. GUI 介面
友善的前端 GUI 圖形化介面,能夠支援 Windows 以及 Linux 系統,並且與後端伺服器串接。
前端的 GUI 包含的功能如下:
Task Selection
在任務上,主要分成三類,分別是異常檢測、分類與回歸。使用者可根據自行的任務進行選擇,如下圖紅框內容:
Project Settings
根據使用者的硬體資源進行配置,例如 CPU 類型、Flash 和 RAM 大小限制。
Dataset Input
支援導入數據並透過可視化方式來查看數據。
Model Training
根據設定配置來進行自動化機器學習,在訓練過程中查看訓練的狀況,並且在左下角列出訓練模型清單。
Model Benchmarking
顯示測試詳細資訊,包含準確度、Flash 和 RAM 大小、混淆矩陣..等關鍵指標。
Model Emulation
用來模擬並且生成需要的 Library,並可在電腦端運行。
Model Deployment
最後產生出的 Library 能夠支援不同的編譯器,例如 MCUXpresso、Keil 或 IAR ..等。
也可以產出 MCUXpresso 專案,讓使用者更便利的開發。
五、參考資料
關於更多 TSS 操作介紹,可於 NXP 下載 eIQ Tool。
官網連結:Link
完成安裝並開啟 eIQ,點選 Time Series。
更多詳細文件可點選 Doucmentation!
評論