目錄表
置頂
邊緣運算
邊緣 AI 與機器學習
機器學習訓練方法
嵌入式 ML
ML 軟體
TensorFlow
TensorFlow Lite
PyTorch 和 ExecuTorch
邊緣 AI 和 ML 硬體
需求
NPU
TPU
Edge Impulse
利用 AI 進行感測
具有機器學習功能的視覺感測器
具有機器學習功能的運動感測器
邊緣 AI
邊緣運算顧名思義,會在資料來源附近進行運算,而非在雲端運算 (即在資料中心中進行異地運算)。 像智慧家庭助理 (Alexa 或 Siri) 這類工具就有內建邊緣 AI。 當您說「Hey Alexa」時,邊緣 AI 就會識別該短語並喚醒智慧家庭助理。
邊緣運算
對運算服務的需求與日俱增下,遠離大規模集中式資料中心的舉動看似令人驚訝。 但是,在靠近資料來源的地方進行運算可以減少隱私上的擔憂。 網路邊緣,以前是指週邊裝置和終端機的領域,現在泛稱具有進階處理能力的地方。
許多即時性的活動都在推升對邊緣運算的需求。 這些應用可能已經在您身邊出現。
- 智慧家庭助理 (如 Alexa、Google 和 Siri) 會使用「喚醒詞」偵測功能作為邊緣運算的一種形式。 在此情況下,邊緣運算有所必要,因為裝置必須迅速回應並維護使用者的隱私。
- 先進駕駛輔助系統 (ADAS) 的重點包括在駕駛偏離車道時發出提醒等功能,因此不能等待與雲端的來回處理,也無法承擔網路回應延遲的風險。
- 患者監測 (如血糖監測儀) 需在患者附近運作, 因此只能將資料傳送到患者的智慧型手機 (或本地裝置),如此一來,就可降低受保護健康資料暴露到網際網路的任何機會。
- 預測性維護模型可對工業馬達的振動量進行異常偵測,藉此偵測馬達何時會故障。 可能會觸發警報 (並在偵測到異常後傳送到雲端),但在其餘時間,軟體會分析邊緣端的資料 (進而減少網路擁塞)。
邊緣運算和雲端運算有什麼區別? 查看答案
雲端運算通常是指位於資料中心的一套服務 (通常離受處理資料的產生處相當遠)。 雲端運算工作負載會在搭載中央處理器 (CPU) 或圖形處理器 (GPU) 的伺服器上處理。
邊緣運算是指貼近資料產生處的運算服務。 邊緣運算工作負載通常會在微控制器或單板電腦 (SBC) 上處理。

使用 Efinix 的 Quantum 架構 FPGA,實作低功率、高效能的邊緣運算
使用 Efinix 的 Quantum 架構 FPGA,在 AI、ML 和影像處理的邊緣運算實作中達到更高的功率-效能-面積。

Install Home Assistant and Set Up a Cost-Effective Smart Home Hub
Let’s take a look at the installation and setup process of Home Assistant on a cost and power-effective x86 single-board computer (SBC)
邊緣 AI 與機器學習
從最廣泛的定義來看,人工智慧 (AI) 和機器學習 (ML) 就是利用電腦演算法和統計模型,無需藉助直接明確的指令,就可提升任務績效。 透過這個能力,開發人員就不需要定義每個動作,這與傳統程式設計需要明確定義的情況有所不同,能達到自我改進和適應性,因此幾乎在各式應用中都可加以運用,從網際網路內容推薦、語音辨識到醫療科學和自動駕駛車等都包括在內。
日常生活中越來越多系統現在都有一定程度的 ML 互動,瞭解這個世界是工程師和開發人員窺探使用者互動的未來時相當關鍵的要素之一。
人工智慧 (AI) 是一門龐大的學問,尤其是機器學習 (ML),更是邊緣端最具潛力的領域之一。 機器學習是一套依據統計演算法進行模式匹配的程序。
神經網路的運用在機器學習中是常見的訓練方法之一。 下圖指出此類模型中的節點和權重。
深度學習是一種專門的機器學習類型,在神經網路中有幾個隱藏的層面。
什麼是機器學習模型? 查看答案
機器學習模型是一套經過設定的軟體程式,可依據在訓練資料中找到的模式,對輸入資料進行辨識與分類。 透過訓練資料,ML 模型可以擷取資料中發現的模式,然後利用這些模式來預測未來的結果並微調出更精確的模型。
機器學習訓練方法
要獲得有效的 ML 模型,就要進行訓練。 有幾種不同的學習方法可用於訓練模型。
- 監督式:這種訓練是以樣本資料的標籤與標記為基礎,其輸出是已知值,並可檢查是否正確,就像有位導師在一旁指導工作一樣。 這種類型的訓練通常用於分類工作或資料迴歸等應用。 監督式訓練相當有用且非常準確,但很大程度上取決於標記的資料集,且有可能無法處理新的輸入。
- 非監督式:非監督式訓練不使用具有明確輸出的已標籤訓練資料,而是利用學習演算法在未經標籤的資料集中,對資料叢集進行研究、分析和尋找。 通常,非監督式訓練會用於需要研究大型資料集,並找出資料點之間關係的應用。
- 半監督式 - 監督式和非監督式訓練的混合。 訓練資料集含有已標記和未標籤的資料。 雖然半監督式訓練可處理的輸入資料比其他訓練方法更多元,但比起監督式或非監督式訓練來說更加複雜,而且未經標籤的資料品質可能會影響最終模型的準確性。
- 基於人類回饋的強化學習 (RLHF):這種訓練類型需要使用可明確定義的動作,還要搭配績效指標,以及可評分和改善的結果。 定義規則集和可以採取的行動後,強化訓練就可不斷反覆迭代,以評估不同的行動方針,以達成目標條件。
嵌入式 ML
嵌入式 ML 屬於機器學習的一個子集,專注於運行以下條件的模型:
- 低延遲 (無需等待伺服器或處理網路延遲即可連結到伺服器)
- 低頻寬 (不透過網路回傳高解析度資料)
- 低功耗 (僅消耗 mW 而非 W)
嵌入式 ML 模型無須仰賴大型資料處理硬體 (如伺服器或個人電腦),就可部署到小型低功耗裝置 (如微控制器、FPGA 和 DSP)。
要訓練嵌入式 ML 應用的模型,可在伺服器或電腦上執行。 在此過程中,所有的資料都會輸入,然後產生模型。
嵌入式 ML 模型產生後,就可在嵌入式系統中運行。 嵌入式 ML 中的常見應用包括對喚醒詞的識別和啟動、人員或物體的辨識,以及依據感測器的資料流發現異常。
邊緣 AI (或嵌入式 ML) 有什麼優點? 查看答案
- 低延遲:無需等待遠端伺服器或網路延遲
- 低數據頻寬:不會透過網路傳送或回傳大量高解析度資料
- 隱私:利用預先篩選的感測器輸出,在邊緣裝置上進行決策,資料不需透過網際網路傳播
- 低功耗:嵌入式 ML 消耗的電力僅有數毫瓦,而非幾瓦,因此非常適合電池供電的行動裝置
- 資料佔用空間小:嵌入式 ML 預期安裝在小容量的快閃記憶體中,大約只需幾十 KB
- 經濟且低成本的裝置:嵌入式 ML 可以在 32 位元 MCU 上以本機模式執行,整個系統通常不到 50 美元

TI Edge AI - AM6xA 處理器與深度學習加速器及其效率
TI 處理器與深度學習加速器 TI 的 AM6xA(如 AM68Ax 和 AM69Ax)Edge AI 處理器採用異質架構,具有用於深度學習運算的專用加速器。

SAMD21 機器學習(ML)評估套件
SAMD21 機器學習(ML)評估套件 EV18H79:SAMD21 ML 評估套件具有 TDK InvenSense ICM-42688-P 高精密度 6 軸 MEMS ATSAMD21

What is Edge AI? Machine Learning + IoT
The term “Edge AI” might be the new buzzword, much like “Internet of Things” was in 2016/2017. To understand this growing new trend, we need to provide a solid definition of what constitutes “Artificial Intelligence on the Edge.”

TinyML: Getting Started with TensorFlow Lite for Microcontrollers
TensorFlow is a popular open source software library (developed by Google) for performing machine learning tasks. A subset of this library is TensorFlow Lite for Microcontrollers, which allows us to run inference on microcontrollers
ML 軟體
TensorFlow
TensorFlow 是一個免費的開源軟體庫,可用來構建、訓練和部署機器學習模型。 最初由 Google 於 2011 年針對 Google Brain 專案而開發,之後在 2015 年向公眾開放,並於 2019 年發佈更新和當前版本 TensorFlow 2.0。
TensorFlow 是機器學習訓練以及深度神經網路推論領域最熱門且最廣泛使用的框架。 許多開發人員會透過 Python API 函式庫與 TensorFlow 進行互動,但 TensorFlow 也可相容於 Java、JavaScript 和 C++ 程式語言。 更有第三方套裝可增加選項,因此可使用 MATLAB、R、Haskell、Rust 等幾乎各種語言。
TensorFlow Lite
TensorFlow Lite 是 TensorFlow 的一個子集,專為小規模工作而設計。 包括硬體受限和功率受限的裝置,例如嵌入式系統、行動裝置和邊緣運算裝置。 開發人員可以在 TensorFlow 中訓練、建立或修改既有的 ML 模型,然後使用 TensorFlow Lite 將其轉換成更小、更有效率的軟體套裝,就可在行動裝置上運行。
然而,只要 ML 模型部署到微控制器平台後,通常就不會在裝置上進一步訓練,因為在本機上訓練需要耗費大量算力與時間。 這表示模型通常已經完全經過離線式訓練,沒有新的資料來源。 這種限制型作法正好非常適合只要執行單一任務的應用, 但需要對大量資料進行分類。
TensorFlow 和 TensorFlow lite 有什麼區別? 查看答案
TensorFlow 需要更大的運算硬體,並且要搭配完整的通用作業系統 (GPOS)。
TensorFlow Lite 經過最佳化,可在嵌入式系統、行動裝置和邊緣運算裝置上執行 ML 模型。
Raspberry Pi 4 等運行 GPOS 的單板電腦 (SBC) 可以在適當大小的 SBC 上執行完整的 TensorFlow,但請注意,功耗通常遠高於 MCU 或 DSP,通常會消耗 10 至 20 W。
一般來說,模型的訓練會在 TensorFlow 上完成,若要在輕量型嵌入式系統上執行模型,就需要經過轉換,以便在 TensorFlow Lite 上執行。
PyTorch 和 ExecuTorch
為了滿足在本機化硬體平台上執行 ML 模型的日益攀升需求,PyTorch 開發了 ExecuTorch。這是一套完整的端對端軟體工具,可在智慧型手機、穿戴式裝置和嵌入式平台上執行機器學習模型。 ExecuTorch 能夠跟一般 PyTorch 一樣執行相同的工具鏈和 SDK,一路從建模、轉換到部署,也可相容於多種 CPU、NPU 和 DSP 平台。
ExecuTorch 是用 PyTorch 2.0 構建,因此在使用上更友善,並且支援眾多裝置,包括 Android 的智慧型手機應用程式支援。
PyTorch Edge、ExecuTorch 與 PyTorch Mobile 之間的差異何在? 查看答案
PyTorch Edge 是在邊緣端執行 ML 模型的概念。 PyTorch Mobile 是達成這一切的傳統工具組,而 ExecuTorch 是在邊緣端執行 PyTorch 模型的現代工具組。
PyTorch Mobile 是早期為了將 PyTorch 轉移到行動裝置而開發的工具,特別適用於 iOS、Android 和 Linux 架構的行動裝置,但由於在應用初期就需要佔用靜態記憶體,因此採用度有限。 ExecuTorch 則採用動態記憶體,這表示只在需要時才會分配記憶體,這對於記憶體受限的環境來說是關鍵作法。
可以在 PyTorch 上執行我的 TensorFlow 模型嗎 (反之亦然)? 查看答案
雖然 TensorFlow 和 PyTorch 是類似的軟體環境,但彼此之間目前無法直接相容。 由於每個系統使用的訓練方法和模型檔案輸出有所不同,因此要在不同生態系統之間使用相同的模型並不容易。
幸好,有另一個選擇可以讓兩者之間的轉換變容易。 開放式神經網路交換器 (ONNX) 是一套開源的 ML 軟體系統,其中的工具可讓訓練模型檔案在不同的 ML 生態系統之間進行轉換。
ONNX 可當作不同 ML 生態系統之間的中介步驟,能讓開發人員使用多種不同的 ML 訓練方法,並針對眾多方法進行模組最佳化。

Syntiant TinyML 微型機器學習使用什麼軟體
Syntiant TinyML(微型機器學習, Tiny Machine Learning) 開發板是一個用於建立低功耗語音、聲音事件偵測 (AED) 和感測器 ML 應用的平台。

TensorFlow Lite Tutorial Part 1: Wake Word Feature Extraction
Machine Learning (ML) is gaining increasing traction in the tech community, and TensorFlow is one of the most popular framework. Using embedded devices for ML is a subset of TensorFlow, called “TensorFlow Lite” and has been released to run inferences of models on smaller, low power devices like single board computers.

How to Perform Object Detection with TensorFlow Lite on Raspberry Pi
In this tutorial, I’ll walk you through the process of installing TensorFlow Lite on a Raspberry Pi and using it to perform object detection with a pre-trained Single Shot MultiBox Detector (SSD) model.

TensorFlow Lite for Microcontrollers Kit Quickstart
Machine learning has come to the 'edge' - small microcontrollers that can run a very miniature version of TensorFlow Lite to do ML computations. But you don't need super complex hardware to start developing your own TensorFlow models! We've curated a simple kit to dip your toes into machine learning waters.
邊緣 AI 和 ML 硬體
TensorFlow Lite for Microcontrollers 是一個機器學習軟體平台,專為微控制器規模的應用而設計。 因為不需要作業系統,因此 C 或 C++ 函式庫或動態記憶體應用程式能讓 TensorFlow Lite for Microcontrollers 如此精簡,卻比標準程式設計選項更強大。
為何要在微控制器上使用邊緣 AI? 查看答案
微控制器是全球數十億台裝置中微小、靈活、低功耗且低成本的元件。 在不需要完整電腦系統的應用中,微控制器享有優勢。 微控制器在 ML 領域中別具吸引力,因為能以本機方式對傳入的資料進行決策與處理。 在本地處理資料還有另一個好處就是保護最終使用者的隱私。 舉例而言,您可能想知道是否有人正接近您家大門,卻不必將門鈴攝影機的影像資料上傳到雲端。
需求
TensorFlow Lite for Microcontrollers 是以 C++17 程式設計語言開發,需要 32 位元微控制器平台才能運作。
TensorFlow for Microcontrollers 的軟體核心作業可以在 ARM Cortex M 平台上運作,最少僅需 16 KB 記憶體,此外也已移植到常用的 EPS32 平台上。 若您偏好在合適的 Arduino 平台上使用,甚至還有推出 TensorFlow Lite for Microcontrollers 框架用的 Arduino 軟體庫。
TensorFlow Lite for Microcontrollers 有哪些限制? 查看答案
雖然 TensorFlow Lite for Microcontrollers 是強大的機器學習平台,且可在最低的硬體要求下運作,但仍有一些限制會造成開發困難:
- 官方僅針對少數裝置提供支援,通常是高效能的 32 位元平台
- 與 TensorFlow Lite 一樣,都不支援在微控制器上進行裝置訓練。
- 僅支援一小部分基本的 TensorFlow 作業。
- 若要進行記憶體管理,可能需具備低階 C++ 應用程式開發介面 (API)。
其他嵌入式系統
ML 模型可部署在更強大的硬體系統上 (可運行嵌入式 Linux),或部署在 Raspberry Pi 平台等 SBC 平台上,如此一來亦可運行 TensorFlow Lte 平台。
硬體加速器
從晶片層面來看,某些處理器添加了更多專用的算術邏輯,以針對使用的機器學習和神經網路提供數學計算上的助力。
NPU
神經處理單元 (NPU) 屬於專用 IC,可針對神經網路式機器學習和人工智慧的應用加快處理速度。
神經網路是基於人腦的結構,具有許多互連層和節點,稱為神經元,可用於處理和傳遞資訊。
TPU
張量處理單元 (TPU) 是 Google 於 2015 年開發的專用 IC,有助於神經網路式系統進行處理,但與 NPU 不同之處在於,並非透過神經元式系統架構完成,而是利用快速處理矩陣乘法和卷積運算來完成。
TPU 經過深度最佳化,能在低能耗下處理數學矩陣運算,因此非常適合用來訓練採用 TensorFlow 和 ExecuTorch 等運算的 ML 模型。
第一代 TPU 硬體通常只用於資料中心應用,因為有電源和散熱的需求。 但最新一代的 TPU 則專為邊緣應用而設計。
為什麼沒有在邊緣 AI 中更常使用 CPU 和 GPU? 查看答案
傳統的中央處理器 (CPU) 非常適合一般用途的運算,但尚未經過最佳化,以便有效地執行神經網路的所有算術。 圖形處理單元 (GPU) 在機器學習和人工智慧應用上也變得非常實用,然而,龐大的能源消耗成本以及硬體需求,使其在邊緣端的應用受限。
入門級產品

Arduino® Nano 33 BLE Sense Rev2
NINA-B306、nRF52840 Arduino Nano 33 BLE Sense Rev2 含排針座 - ARM® Cortex®-M4F MCU 32-位元 評估板 - 內嵌式
中階產品
進階產品
專業級產品
其他產品

用樹莓派、PyPortal Titano 和 machinechat JEDI One 設定和測試 MQTT 伺服器
描述 此項目使用 machinechat 的 JEDI One 物聯網資料管理軟體在樹莓派4上設定了一個物聯網 MQTT 伺服器(broker)。

為何以及如何使用將 Efinix FPGA 實現人工智慧/機器學習成像 — 第 1 篇:快速入門
使用 Efinix FPGA 和相關的開發板,設計人員可以快速開發和部署人工智慧/機器學習成像應用。
Edge Impulse
Edge Impulse 是基於雲端的整合式開發環境 (IDE),能讓軟體開發人員收集和匯入真實世界的資料,然後構建、訓練和測試 ML 模型,即可在邊緣運算裝置上有效執行。

Edge Impulse 的擅長項目
Edge Impulse 框架可以搭配音訊 (來自麥克風) 到影像 (來自相機),再到感測器資料 (來自振動感測器) 的所有內容運作。 一些額外範例包括:
- 物體識別和影像偵測 (如偵測人員等)
- 透過音訊偵測「喚醒詞」(用於智慧家庭助理)
- 異常偵測 (用於預防性維護)
- 活動/模式識別 (用於簡化流程)
為什麼要使用 Edge Impulse? 查看答案
Edge Impulse 可以減輕 ML 訓練軟體 (目前主要是 TensorFlow) 需要完成的工作負擔量。 Edge Impulse 提供 Web 介面,可在其中標記和上傳模型訓練用的資料。
Edge Impulse 專為從未接觸 ML 訓練軟體的初次使用者或非 ML 領域的開發人員而設計,但因為相容於 TensorFlow Python 框架,因此也可完全擴充,滿足專業使用者的需求。 因為省去建立邊緣 AI 模型時絕大多數的程式碼障礙,因此能更專注在提供正確的資料、訓練正確的模型,而不用操心要執行程式碼所要涵蓋的 Python 函式庫。
雖然大多數開發人員和使用者都享有免費使用權限,但在專案數量上以及各專案可運用的處理能力上皆有所限制。 若是專業開發人員,可聯繫 Edge Impulse 團隊取得報價,付費享受更多功能。

Lego Brick Finder with OpenMV and Edge Impulse
In this tutorial, Shawn shows you how OpenMV and Edge Impulse trained for image recognition can be used to create Lego® brick finder.

Getting Started with the OpenMV Cam: Machine Vision with MicroPython
In this tutorial, Shawn shows you how to get started with the OpenMV H7 camera module, which uses MicroPython to perform a variety of machine vision tasks

Car Parking Detection System Using Edge Impulse
In this example project, we have built an object detection model to detect the number of cars in a parking lot and deploy it on a Raspberry Pi 4.
Nordic Semiconductor 的 Nordic Thingy:53 利用整合式的動作、聲音、光線、環境感測器來協助打造概念驗證和原型。
在此提供 Edge Impulse 相容板件的完整清單:
https://docs.edgeimpulse.com/docs/edge-ai-targets/fully-supported-development-boards
利用 AI 進行感測
儘管執行機器學習模型需要嵌入式系統,但未來會推出更多具備 AI 能力的電子元件產品。 包括 AI 功能感測器,或稱機器學習感測器。
機器學習感測器可以做什麼
雖然在大多數感測器中添加機器學習模型,並不會提升其應用執行效率,但有些類型的感測器,可透過 ML 訓練大幅提升其運作效率。
- 可在相機感測器中開發機器學習模型,就可追蹤畫格中的物體和人員。
- IMU、加速度計和運動感測器可用於偵測活動曲線。
具有機器學習功能的視覺感測器
透過神經網路提供運算演算法,就可在物體和人員進入相機感測器的視野時進行偵測和追蹤。

Getting Started with the OpenMV Cam: Machine Vision with MicroPython
In this tutorial, Shawn shows you how to get started with the OpenMV H7 camera module, which uses MicroPython to perform a variety of machine vision tasks.

Introducing the Arduino Nicla Vision Board for Professional Machine-Vision Applications
This article focuses on the main features and specifications of the Arduino Nicla Vision, a compact industrial-grade board that has the potential to drive professional machine-vision applications.
AI 視覺感測器
具有機器學習功能的運動感測器
具有整合式機器學習平台的運動感測器,能在與感測器共用的封裝中即時追蹤和處理資料,進而降低功耗和處理時間。 這類型感測器絕大多數都有小型的運算邏輯架構決策樹,或具備預先定義濾波器或觸發門檻的能力。 當輸入值達到此位準時,就會執行動作。 其他運動感測器在封裝中內建完整的 DSP 單元,因此無需主 CPU 就可執行多重 ML 演算法,進而節省電力和時間。

Zilog ZMOTION® 系列 偵測產品
Zilog 的 ZMOTION® 系列 偵測、控制和侵入式偵測產品系列為以無源紅外線( PIR ) 為基礎的動作偵測應用提供集成且靈活的解決方案。

使用 ATtiny1627 Curiosity Nano 簡化動作偵測開發
使用 Microchip 的 ATtiny1627 Curiosity Nano 和 PIR 感測器快速探索並開始進行動作偵測。

Cat.Ai – Potentially Genius | DigiKey
n this episode, Tomorrow Lab collaborates Cornel Pizara from Analog Devices to create a product using the MAX78000— a new breed of AI Micro built to enable neural networks to execute at ultra-low power.