返回文章列表

邊緣AI開發挑戰與實際應用

邊緣AI(Edge

機器學習 嵌入式系統

邊緣AI技術的核心概念在於將AI模型佈署到資源受限的終端裝置上,以實作低延遲、高隱私和離線運算。這需要對模型進行壓縮和最佳化,並考量有限的連線能力和硬體多樣性。文章將探討這些挑戰,並提供程式碼範例說明如何使用 TensorFlow Lite 進行模型壓縮,以適應邊緣裝置的硬體限制。同時,文章也將探討如何在有限的資料更新條件下持續改進模型,以及如何應對不同硬體平台的開發工具和介面差異。

邊緣AI開發的挑戰與技術需求

邊緣AI(Edge AI)是指將人工智慧(AI)技術佈署在終端裝置上,如微控制器、嵌入式系統等,以實作即時資料處理和分析。相較於傳統的雲端AI,邊緣AI具有更低的延遲、更好的隱私保護和更強的離線處理能力。然而,邊緣AI的開發也面臨著多項挑戰。

模型壓縮與最佳化

邊緣裝置通常具有有限的處理能力和儲存空間,因此需要對AI模型進行壓縮和最佳化,以適應這些裝置的硬體限制。模型壓縮技術可以減少模型的尺寸和計算量,但也可能影響模型的準確度。因此,開發者需要在模型的尺寸、計算效率和準確度之間進行權衡。

程式碼實作:模型壓縮範例

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# 定義原始模型
model = Sequential([
    Dense(64, activation='relu', input_shape=(784,)),
    Dense(32, activation='relu'),
    Dense(10, activation='softmax')
])

# 編譯模型
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

# 訓練模型
model.fit(X_train, y_train, epochs=10)

# 使用TensorFlow Lite轉換器進行模型壓縮
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()

# 儲存壓縮後的模型
with open("model.tflite", "wb") as f:
    f.write(tflite_model)

內容解密:

  1. 模型定義:首先定義了一個簡單的神經網路模型,包含輸入層、隱藏層和輸出層。
  2. 模型編譯:編譯模型時指定了最佳化器、損失函式和評估指標。
  3. 模型訓練:使用訓練資料對模型進行訓練。
  4. 模型轉換:使用TensorFlow Lite轉換器將訓練好的Keras模型轉換為TensorFlow Lite格式,以減少模型大小並最佳化推理效能。
  5. 儲存模型:將轉換後的模型儲存到檔案中,以便在邊緣裝置上佈署。

從反饋中學習的限制

邊緣AI應用通常需要在有限的連線條件下執行,這使得從裝置收集新的訓練資料變得困難。因此,如何在有限的資料更新條件下持續改進模型,是一個重要的挑戰。

計算資源的多樣性

邊緣裝置涵蓋了從小型8位微控制器到複雜的系統單晶片(SoC)等多種硬體平台,每種裝置都有其特定的開發工具和介面。這種多樣性增加了開發和佈署邊緣AI應用的複雜度。

“足夠好”的目標

與傳統AI追求最佳效能不同,邊緣AI需要在效能和資源限制之間找到平衡。開發者需要接受“足夠好”的效能,並專注於在給定的硬體約束下最大化應用價值。

工具和最佳實踐的演進

作為一個新興領域,邊緣AI的開發工具和最佳實踐仍在不斷演進。開發者需要關注最新的技術發展和社群實踐,以最佳化他們的應用。

邊緣AI在現實世界中的應用

在前一章中,我們瞭解了邊緣AI的基本概念及其理論上的優勢。現在,我們將探討這些理論如何在現實世界中得到應用。首先,我們將檢視目前已經投入使用的實際產品。接著,我們將探討邊緣AI產品的主要應用領域。最後,我們將進一步瞭解成功開發產品所需的倫理考量。

邊緣AI的常見應用案例

正如我們在前一章中所學到的,邊緣AI對於擁有豐富感測器資料但缺乏運算資源或連線性的裝置尤其具有價值。幸運的是,這些條件幾乎無處不在。

在現代城市中,我們似乎永遠都不會離電源插座或無線接入點太遠。但是,即使在高頻寬網路連線和可靠電源可用的情況下,限制裝置的通訊和功耗仍然具有巨大的優勢。正如我們在「理解邊緣AI的優勢」中所看到的,對便攜性、可靠性、隱私和成本等理想特性的追求,可以推動產品開發朝著最小化連線性和能源使用的裝置設計方向發展。

儘管我們的全球網路看似無處不在,但地球上仍有許多地區受到連線性和電源的限制。在撰寫本文時,地球上50%的陸地相對未被人類開發。只有地球表面的一小部分具有蜂窩或無線覆寫,且數十億人無法獲得可靠的電力。

然而,除了那些明顯的偏遠地區之外,我們最發達的地區中也有許多隱藏的角落屬於這一類別。在我們的現代工業供應鏈中,有許多地方無法為嵌入式裝置提供硬線直流電源,因此高效、電池供電的裝置是完美的選擇(參見圖2-1)。

圖 2-1. 地球上有許多地方需要電池供電

圖表翻譯: 圖2-1展示了地球上許多需要電池供電的地區,這些地區通常缺乏穩定的電力供應,因此高效、低功耗的裝置成為了最佳解決方案。

與此同時,感測器正變得越來越便宜、越來越複雜、越來越節能。通常,即使是簡單的嵌入式裝置也配備了高度先進的感測器,但由於將資料傳輸到遠端進行處理存在挑戰,這些感測器的能力仍未被充分利用。例如,假設有一款基本的健身穿戴裝置使用加速度計來計算步數。即使是這個簡單的裝置也可能配備了一個靈敏的多軸加速度計,具有非常高的取樣率,能夠記錄最細微的動作。除非裝置的軟體能夠解釋這些資料,否則大部分資料將被丟棄:將原始資料傳送到其他裝置進行處理將過於耗能。

綠地與棕地專案

上述條件為佈署邊緣AI提供了幾乎無窮無盡的機會。在實際操作中,將這些機會分為兩類別可能會有所幫助:綠地和棕地。這些術語借鑒自城市規劃。綠地專案是指在尚未開發、仍是一片綠色草地的場地上進行的專案。棕地專案則是在已經開發並可能存在一些現有遺留基礎設施的場地上進行的專案。

在邊緣AI領域,綠地專案是指從零開始共同設計硬體和軟體的專案。由於沒有現有的硬體,綠地專案可以利用最新的運算和感測創新——我們將在本章後面瞭解更多相關內容。開發人員有更大的自由度來設計針對他們所針對的使用案例的最佳解決方案。例如,現代手機被設計為包含專用的低功耗數位訊號處理硬體,以便它們能夠持續監聽喚醒詞(例如「OK, Google」或「Hey, Siri」),而不會耗盡電池。硬體是根據特定的喚醒詞檢測演算法進行選擇的。

綠地專案的優勢

綠地專案允許開發人員從頭開始設計系統,充分利用最新的技術進步。這種方法可以實作最佳的效能、功耗和成本效益。

# 示例程式碼:簡單的喚醒詞檢測
import numpy as np

def detect_wake_word(audio_data, threshold=0.5):
    # 對音訊資料進行預處理
    processed_data = preprocess_audio(audio_data)
    
    # 使用模型進行預測
    prediction = model.predict(processed_data)
    
    # 如果預測結果超過閾值,則傳回True
    if prediction > threshold:
        return True
    else:
        return False

#### 內容解密:
1. `detect_wake_word`函式接收音訊資料和閾值作為輸入
2. `preprocess_audio`函式對音訊資料進行預處理例如降噪歸一化等
3. `model.predict`使用訓練好的模型對預處理後的資料進行預測
4. 如果預測結果超過設定的閾值則函式傳回True表示檢測到喚醒詞

棕地專案則是在現有硬體和基礎設施上進行的專案,需要開發人員在現有條件下進行最佳化。這種情況下,開發人員需要面對現有硬體的限制,並嘗試在這些限制下實作最佳效能。

邊緣AI的實際應用案例

邊緣AI(Edge AI)技術已經在多個領域展現出其強大的應用潛力,從森林火災預防到保護第一線救援人員,再到了解野生動物的行為,邊緣AI正以多樣化的方式改變著我們的世界。以下將介紹三個真實世界的系統,它們是如何利用邊緣AI技術來解決實際問題的。

利用電力線故障檢測預防森林火災

在歐洲的古老森林中,電力線橫跨廣闊的荒野地區,裝置故障可能引燃植被並導致野火。Izoelektro的RAM-1裝置利用邊緣AI技術來幫助解決這個問題(圖2-2)。該裝置透過一系列感測器監測每個電塔的狀況,包括溫度、傾斜度和電壓,並使用深度學習分類別模型(第4章)來識別可能正在發展的故障。技術人員可以在故障發生前存取電塔並進行維修,從而避免火災的發生。

內容分析:

RAM-1裝置之所以成為邊緣AI的完美應用案例,主要有兩個原因。首先,在荒野地區連線性有限,將原始感測器資料從數千個偏遠電塔實時傳輸的成本過高。相反,在源頭解釋感測器資料並僅在預測到故障時傳輸資料(每月最多約250千位元組)的解決方案更為優雅。其次,雖然RAM-1安裝在電塔上,但它實際上使用電池供電,這確保了即使電力線路出現故障也能繼續工作,並降低了安裝成本和複雜性。

BLERP模型分析:
  • 頻寬(Bandwidth):在RAM-1佈署的偏遠地區連線性有限。
  • 延遲(Latency):必須立即識別故障,而不是等待定期資料傳輸。
  • 經濟(Economics):避免不必要的通訊節省資金,並使裝置能夠使用電池供電,降低安裝成本。
  • 可靠性(Reliability):使用電池供電提高了可靠性。
  • 隱私(Privacy):對此應用場景不是主要考慮因素。

透過智慧型穿戴裝置保護第一線救援人員

消防員的工作性質使他們經常暴露在高溫環境中,極端的熱條件可能對他們的長期健康造成重大影響。SlateSafety的BioTrac Band是一種專為消防員等在極端條件下工作的人員設計的穿戴式裝置(圖2-3)。它提供了一個早期預警系統,可以幫助提醒個人和團隊注意可能導致熱應激和過度勞累的情況。

內容分析:

BioTrac Band使用嵌入式機器學習模型和啟發式演算法分析來自多個感測器的資料,包括佩戴者的身體訊號,並預測何時可能會發生傷害。在極端環境中,透過在裝置上分析資料,即使在緊急情況下連線性受限或不可用時,該裝置仍能繼續運作並警告佩戴者。

BLERP模型分析:
  • 頻寬(Bandwidth):消防員工作的極端環境中連線性有限。
  • 延遲(Latency):健康問題具有時間緊迫性,必須立即識別。
  • 經濟(Economics):傳輸原始感測器資料需要昂貴的高頻寬連線。
  • 可靠性(Reliability):即使連線斷開,裝置仍能繼續警告消防員潛在風險,並且可以使用小電池長時間運作。
  • 隱私(Privacy):原始生物訊號資料可以保留在裝置上,只傳輸關鍵資訊。

利用智慧項圈瞭解大象行為

隨著野生大象的棲息地受到越來越大的壓力,它們與人類的接觸越來越頻繁。這些互動往往對動物造成不良後果,盜獵或與農民和其他人的衝突經常導致傷害和死亡。為了減少這些事件的發生,保育工作者和科學家試圖更多地瞭解大象的行為以及導致危險遭遇的條件。

ElephantEdge是一個開源專案,旨在建立一個跟蹤項圈,以幫助研究人員瞭解大象的行為(圖2-4)。該項圈圍繞在大象的頸部,透過嵌入式感測器和機器學習模型的組合提供對動物位置、健康狀況和活動的洞察。這些資料可用於科學研究,也可用於提醒人類注意動物的存在,從而避免衝突。

內容分析:

由於裝置安裝在野生大象身上,更換電池是一項艱巨的任務。邊緣AI技術透過最小化裝置消耗的能量來提供幫助。該配備機器學習功能的項圈能夠傳輸有關動物活動的高階資訊,而不是傳輸大量的原始感測器資料。

程式碼例項與內容解密:
# 大象行為分析範例程式碼
def analyze_elephant_behavior(sensor_data):
    # 使用機器學習模型分析感測器資料
    model = load_machine_learning_model()
    behavior = model.predict(sensor_data)
    return behavior

def transmit_data(behavior):
    # 根據大象行為傳輸相關資訊
    if behavior in ['walking', 'eating', 'drinking']:
        # 傳輸高階資訊
        transmit_high_level_info(behavior)
    else:
        # 處理其他行為
        handle_other_behaviors(behavior)

# 載入機器學習模型
def load_machine_learning_model():
    # 假設模型已經訓練好並儲存
    model = load('elephant_behavior_model.pkl')
    return model

# 傳輸高階資訊
def transmit_high_level_info(behavior):
    # 實作傳輸邏輯
    print(f"傳輸大象行為:{behavior}")

# 處理其他行為
def handle_other_behaviors(behavior):
    # 實作處理邏輯
    print(f"處理其他大象行為:{behavior}")

#### 內容解密:
此程式碼範例展示瞭如何利用機器學習模型分析大象行為並傳輸相關資訊首先透過`analyze_elephant_behavior`函式使用機器學習模型預測大象的行為然後根據預測的行為透過`transmit_data`函式決定是否傳輸高階資訊或其他處理邏輯這種方法有效地減少了需要傳輸的資料量節省了能量

邊緣AI在物件追蹤中的應用

在現代社會中,從龐大的貨櫃船到單一的稻穀,我們的文明都依賴於物體從一個地方到另一個地方的移動。這種移動可能發生在倉函式庫的受控環境中,也可能發生在極端的環境條件下,如天氣系統在地球表面的運動。追蹤和解釋物體的狀態,無論是人工還是自然的,都是邊緣AI的一個關鍵應用領域。智慧感測器可以幫助將物理世界的狀態編碼為電腦可以理解的形式,從而使我們能夠更好地協調我們的活動。

使用邊緣AI追蹤物件的案例

使用案例主要感測器
使用智慧包裝監控貨運,以檢測運輸過程中的損壞加速度計、振動、GPS、溫度、濕度
使用嵌入式相機計算商店貨架上的產品數量,以便在缺貨前補貨視覺
分析海洋中的塑膠廢物運動,以便清理視覺
識別和追蹤海洋中的障礙物,以幫助船舶避免碰撞雷達
使用地球物理感測器定位埋藏的自然資源電磁、聲學

探討:使用智慧包裝監控貨運

製造的產品在運送到客戶手中之前經常需要行經數千英里,但它們並不總是能完好無損地抵達。運輸過程中的損壞會讓企業損失金錢,但當一批貨物在長途運輸後到達時已經損壞,並不總是能輕易查明原因。

利用邊緣AI,物流公司可以將裝置附著在高價值的貨物上,這些裝置能夠識別昂貴物品何時面臨損壞風險。例如,如果裝置配備了加速度計,它可以使用機器學習模型來區分正常的碰撞和顛簸與可能導致損壞的特定型別的粗魯處理。任何粗魯處理事件都可以被記錄下來,同時記錄時間戳和GPS位置。

這些日誌可以定期上傳,只要裝置能夠獲得無線連線。抵達後,如果有任何損壞,公司可以分析日誌以發現損壞發生的時間和地點,從而找到並修復問題的原因。

為什麼這是邊緣AI的良好使用案例?

讓我們從BLERP的角度來思考:

  • 頻寬:要檢測突然的碰撞,加速度計資料必須是高頻率的。這使得從低功率無線電台傳輸資料變得困難,因為它們通常是低頻寬的。透過在裝置上處理資料,我們可以大大降低頻寬需求。
  • 延遲:對於這個使用案例來說不是一個主要考慮因素。
  • 經濟性:無線傳輸資料是昂貴的,尤其是當裝置可能在世界任何地方。使用邊緣AI有助於節省資料和降低成本。
  • 可靠性:運輸中的貨物不太可能有可靠的連線,因此裝置即使在超出範圍時也能繼續記錄非常重要。如果我們不必儲存原始資料,我們可以在少量的記憶體中記錄所有有趣的事件。
  • 隱私:對於這個使用案例來說不是一個主要考慮因素。

邊緣AI在物件追蹤中的優勢

邊緣AI能夠在裝置上進行資料分析和處理,從而減少了對中央伺服器的依賴,提高了資料處理的速度和效率。這使得邊緣AI在物件追蹤領域具有廣泛的應用前景。

@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333

title 邊緣AI在物件追蹤中的優勢

rectangle "加速度計資料" as node1
rectangle "檢測損壞風險" as node2
rectangle "儲存資料" as node3
rectangle "定期上傳" as node4

node1 --> node2
node2 --> node3
node3 --> node4

@enduml

圖表翻譯: 此圖示展示了智慧包裝如何利用邊緣AI技術檢測運輸過程中的損壞風險,並將相關資料記錄和儲存,最終定期上傳至伺服器。

圖表說明

此圖表呈現了智慧包裝使用邊緣AI進行損壞檢測的流程。首先,智慧包裝透過加速度計收集資料,然後利用邊緣AI進行處理和分析,以檢測可能的損壞風險。檢測到的事件會被記錄並儲存在本地,最後定期透過無線傳輸上傳至伺服器。這個過程有效地減少了資料傳輸量,提高了運輸過程中的監控效率。

邊緣AI在物件追蹤與系統監控的關鍵效益

邊緣AI(Edge AI)技術在物件追蹤與複雜系統監控領域展現出卓越的優勢。透過結合低成本感測器與機會性連線,邊緣AI能夠提供高解析度的可視性,填補供應鏈中的監控缺口。

物件追蹤的關鍵效益

物件追蹤充分利用了邊緣AI在連線性和成本效益方面的優勢。透過低成本的邊緣AI感測器,可以實作對供應鏈中原本因成本過高而無法監控的環節進行高解析度監控。例如,利用相機監控商店貨架庫存的系統可以採用邊緣AI技術,在離線狀態下運作,既保護了員工隱私,又為商店團隊提供了實用的輔助工具。

內容解密:

物件追蹤系統的核心優勢在於其能夠在不依賴持續網路連線的情況下運作。這種離線作業模式不僅降低了成本,還提高了資料的安全性與隱私保護。系統能夠在本地端進行資料處理與分析,減少了對雲端服務的依賴,從而提升了整體運作效率。

理解與控制複雜系統

現代社會建立在數百萬個複雜且相互連線的系統之上,從生產線到交通網路、氣候控制到智慧家居裝置。這些系統的穩定運作與經濟福祉密切相關。邊緣AI在監控、控制和維護這些複雜系統方面具有廣泛的應用機會。

表2-2:邊緣AI在理解和控制系統中的應用案例

應用場景關鍵感測器
監控油井維護需求,避免停機並減少洩漏加速度計、振動、負載、溫度、音訊、視覺等
自主駕駛聯合收割機,幫助農民快速收穫視覺、GPS
理解並調整高速公路交通流量,使用可變速度限制保持車流順暢視覺、磁力計
使用感測器回饋控制機械工具加速度計、振動、負載
識別生產線上的瑕疵品,提高品質控制並快速識別問題視覺
使用機器人吸塵器清潔地毯,為家庭主人節省時間視覺、接近感測、觸控、電流

內容解密:

這些應用案例展示了邊緣AI在不同領域的廣泛應用,從工業自動化到智慧家居。關鍵感測器如視覺、加速度計和溫度感測器在這些系統中扮演著至關重要的角色,提供即時的資料以支援邊緣AI的決策。

預測性維護在油井中的應用深度剖析

工業裝置的突然故障可能導致巨大的經濟損失和環境危害。預測性維護透過識別系統何時開始出現故障跡象,從而在故障發生前採取措施。油井是一個極其複雜的機械繫統,執行在極端的條件下。使用邊緣AI裝備的感測器可以監控油井的關鍵部件,測量振動、溫度和噪音等引數,學習每個部分「正常」的狀態,建立一個名義操作的模型。如果條件開始偏離正常狀態,系統可以提醒維護團隊進一步調查。

使用BLERP模型分析:

  • 頻寬(Bandwidth):大多數油井依賴衛星連線,將數千個鑽井元件的大量感測器資料串流傳輸到雲端具有挑戰性。

內容解密:

BLERP模型提供了一個評估邊緣AI適用性的框架。在油井預測性維護的案例中,頻寬限制是一個關鍵考量因素。由於衛星連線的限制,將大量感測器資料傳輸到雲端進行處理是不可行的。因此,邊緣AI透過在本地端進行資料處理和分析,有效地解決了頻寬限制的問題,提高了系統的實時回應能力。