邊緣AI的低延遲和隱私保護特性使其在處理生物相關資訊時更具優勢。從智慧手錶的身體活動辨識到農作物疾病診斷,邊緣AI正逐步改變我們與周遭環境互動的方式。本文以野生動物監測為例,說明如何利用預訓練模型和遷移學習快速建構影像識別系統,並透過邊緣裝置佈署實作即時分析。同時,考量到AI倫理的重要性,文章也探討資料偏差對模型公平性的影響,提醒開發者在追求效能的同時,也應重視資料的代表性和潛在的歧視風險。
邊緣AI在理解人類與生物中的應用
生物世界複雜多變,能夠即時理解並反應至關重要。此類別涵蓋了以人類為導向的技術,如健身追蹤手錶和教育玩具,以及監測自然、農業和微觀世界的系統。
人類相關的邊緣AI應使用案例項
| 應用場景 | 主要感測器 |
|---|---|
| 當作業員缺乏保護裝備時發出警示 | 視覺 |
| 透過人類手勢控制視訊遊戲 | 視覺、加速度計、雷達 |
| 識別加護病房病患健康惡化並通知醫療人員 | 生物訊號、醫療裝置 |
| 譴責竊賊闖入家中並通知當局 | 視覺、音訊、加速度計、磁性感測器 |
| 使用智慧手錶中的感測器分類別身體活動 | 加速度計、GPS、心率 |
| 識別使用者的語音指令並控制家電 | 音訊 |
| 統計巴士站等候人數 | 視覺 |
| 當駕駛員在駕駛途中打瞌睡時發出警告 | 視覺 |
人類相關應用的關鍵效益
此類別的應用充分利用了BLERP模型的各個方面,其中隱私考量尤為重要。許多技術上可行的應用在伺服器端AI上難以被社會接受,但當功能轉移到裝置端時,情況就會有所不同。
以數位個人助理(如Apple的Siri或Google的Google Assistant)為例,它們透過裝置端模型不斷監聽喚醒詞,僅在偵測到喚醒詞後才將音訊傳輸到雲端。如果沒有裝置端元件,助理就需要不斷將音訊傳輸給服務提供商,這與大多數人對隱私的期望不相容。
生物相關的邊緣AI應使用案例項
| 應用場景 | 主要感測器 |
|---|---|
| 當野生動物出現在遠端相機視野中時通知研究人員 | 視覺、音訊 |
| 在沒有手機訊號的偏遠農村地區診斷作物疾病 | 視覺、揮發性有機化合物感測器 |
| 識別海生哺乳動物的聲音以追蹤其移動和行為 | 聲學 |
| 當大象接近村莊時警告村民以避免人象衝突 | 熱成像、視覺 |
| 使用智慧項圈分類別農場動物的行為以瞭解其健康狀況 | 加速度計 |
| 透過監控和控制裝有感測器的廚房裝置來烹飪食物至最佳狀態 | 視覺、溫度、揮發性有機化合物感測器 |
利用邊緣AI追蹤稀有野生動物
相機陷阱是一種特殊的攝影機,設計用於監控野生動物。它具有堅固、防水的外殼,高容量電池和運動感測器。安裝在小徑上,它會在偵測到運動時自動拍攝照片。
研究人員將相機陷阱安裝在偏遠地區,並放置數月。當他們傳回時,他們會下載照片並利用它們更好地瞭解目標物種。然而,大多數拍攝的照片並不包含目標物種,而是由非目標物種或隨機運動觸發。
程式碼範例:利用邊緣AI進行野生動物識別
import tensorflow as tf
from tensorflow.keras.applications import MobileNetV2
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.mobilenet_v2 import preprocess_input, decode_predictions
import numpy as np
# 載入預訓練的MobileNetV2模型
model = MobileNetV2(weights='imagenet')
# 定義函式以載入和預處理圖片
def load_and_preprocess_image(img_path):
img = image.load_img(img_path, target_size=(224, 224))
img_array = image.img_to_array(img)
img_array = np.expand_dims(img_array, axis=0)
img_array = preprocess_input(img_array)
return img_array
# 定義函式以預測圖片中的物種
def predict_species(img_path):
img_array = load_and_preprocess_image(img_path)
predictions = model.predict(img_array)
decoded_predictions = decode_predictions(predictions, top=3)[0]
return decoded_predictions
# 使用範例
img_path = 'path/to/your/image.jpg'
predictions = predict_species(img_path)
for (i, (imagenetID, label, prob)) in enumerate(predictions):
print(f"{i+1}. {label}: {prob * 100}%")
內容解密:
- 載入預訓練模型:我們使用TensorFlow和Keras載入了預訓練的MobileNetV2模型,該模型在ImageNet資料集上訓練,能夠識別多種物體。
- 圖片預處理:
load_and_preprocess_image函式負責載入圖片並將其調整為模型所需的輸入尺寸(224x224畫素),然後進行預處理。 - 預測:
predict_species函式使用預處理後的圖片進行預測,並傳回前三個最可能的分類別結果。 - 結果解讀:我們列印出預測結果,包括物種標籤和相應的機率。
圖表示例:邊緣AI在野生動物監測中的流程
@startuml
skinparam backgroundColor #FEFEFE
skinparam componentStyle rectangle
title 邊緣AI於人類生物應使用案例項探討
package "邊緣 AI 生物應用" {
package "人類應用" {
component [活動識別] as activity
component [語音助理] as voice
component [駕駛監測] as drive
}
package "野生動物監測" {
component [相機陷阱] as trap
component [物種識別] as species
component [行為追蹤] as behavior
}
package "技術實現" {
component [MobileNetV2] as mobile
component [遷移學習] as transfer
component [邊緣佈署] as edge
}
}
trap --> species : 即時分析
mobile --> transfer : 預訓練模型
transfer --> edge : 輕量化佈署
note bottom of activity
隱私保護是
邊緣 AI 關鍵優勢
end note
collect --> clean : 原始資料
clean --> feature : 乾淨資料
feature --> select : 特徵向量
select --> tune : 基礎模型
tune --> cv : 最佳參數
cv --> eval : 訓練模型
eval --> deploy : 驗證模型
deploy --> monitor : 生產模型
note right of feature
特徵工程包含:
- 特徵選擇
- 特徵轉換
- 降維處理
end note
note right of eval
評估指標:
- 準確率/召回率
- F1 Score
- AUC-ROC
end note
@enduml圖表翻譯: 此圖示展示了利用邊緣AI進行野生動物監測的流程。首先,相機陷阱安裝完成後偵測到運動,便會拍攝照片。接著,邊緣AI對照片進行分析,以判斷是否為目標物種。如果是,則儲存或傳輸照片,並通知研究人員;如果不是,則丟棄照片。
邊緣AI的應用與變革
邊緣AI在現實世界中的威力
在沒有邊緣AI的情況下,研究人員需要親自前往收集相機陷阱中的照片,這個過程可能需要數月的時間。而有了邊緣AI和低功耗無線電連線後,便可以立即分析照片並獲得有用的資訊,無需等待。
優點分析
- 經濟效益:避免了前往實地的行程,節省了大量的資金;同時也減少了昂貴衛星無線電的不必要使用。
- 可靠性:如果能夠丟棄無用的照片,記憶卡的儲存空間就能使用更久。
- 隱私保護:邊緣AI相機可以丟棄小徑上人類的照片,保護其他小徑使用者的隱私,例如當地居民或徒步旅行者。
轉換訊號:邊緣AI的新領域
對電腦來說,我們的世界是由訊號組成的,即一系列感測器讀數,每個讀數都描述了一個情況或環境的一小部分。之前的應用類別大多專注於解釋這些訊號並做出相應的反應。來自一個或多個感測器的資料被整合,並構建出一個簡單的輸出,這個輸出要麼便於人類理解,要麼可以用作自動化系統的控制訊號。
轉換訊號的應使用案例項
| 使用案例 | 訊號型別 |
|---|---|
| 過濾背景噪音以提高手機通話品質 | 音訊 |
| 從智慧手機相機拍攝的照片中去除噪點 | 視覺 |
| 為練習中的音樂家生成伴奏音樂 | 音訊 |
| 在遠端工作會議中模糊影片流的背景 | 視覺 |
| 從文字生成逼真的人類語音 | 音訊 |
| 使用智慧手機相機將一種書面語言翻譯成另一種 | 視覺、文字 |
| 將低解析度音訊升取樣以使其聽起來更好 | 音訊 |
| 使用深度學習壓縮影片,以便透過低頻寬連線傳輸 | 影片 |
| 為視障人士建立視覺場景的語音表示 | 音訊 |
| 將口語對話轉錄為文字以方便記筆記 | 音訊 |
| 使用廉價感測器的資料模擬昂貴感測器的輸出 | 時間序列 |
轉換訊號的關鍵優勢
由於數位訊號是隨著時間表達的,該領域的應用往往受益於邊緣AI的低延遲特性。頻寬也特別重要,因為需要存取原始訊號;傳輸轉換後的訊號通常需要相同甚至更多的頻寬。
探討:遠端工作會議中的背景模糊
隨著遠端工作和視訊會議的興起,員工不得不習慣他們以前私人的家庭空間被廣播給同事。為了幫助維護一些隱私,許多視訊會議工具現在支援模糊影片流的背景,同時保持影片主題的完整性。
這些工具依賴於一種名為分割的技術,該技術使用深度學習模型來識別影片流中屬於某一類別或另一類別的畫素。在這種情況下,模型被訓練來區分人和他們的背景景觀。輸入是來自相機的原始影片流。輸出是具有相同解析度的影片流,但背景畫素被模糊在一起,使其難以看清有什麼。
為什麼邊緣AI在此場景中至關重要?
- 頻寬:如果能在高解析度的原始影片流上進行轉換,而不是在可能包含視覺偽影的壓縮、低解析度版本上進行轉換,則效果最佳。通常無法傳輸高解析度影片,因此必須在裝置上進行轉換。
- 延遲:在遠端伺服器上執行轉換可能會增加額外的延遲,而不是直接將影片流傳送給對等方。在裝置上執行轉換可以消除這個潛在的額外步驟。
- 經濟效益:在傳送影片的裝置上執行所需的計算比在雲端執行更便宜,因為服務提供商不必為此付費。
- 可靠性:使用雲端伺服器作為中間人,影片流管道更加複雜,出錯的機率更高。透過在裝置上處理,管道更簡單,可能不太容易失敗。
- 隱私:當資料在裝置上轉換時,使用者可以保證沒有人會看到原始影片。
虛擬感測器:邊緣AI的另一個有趣應用
在某些情況下,工程或成本限制可能會阻止您為裝置配備所有您想要的感測器。例如,也許您的設計會受益於一個特別準確的感測器,但該感測器對於生產使用來說太昂貴了。
為了繞過這個問題,可以建立一個虛擬感測器——一種人薪水料流,提供幾乎與真實訊號一樣好的訊號。為此,邊緣AI演算法可能會處理其他訊號(例如,它可以結合來自幾個更便宜感測器的讀數),並嘗試根據它們包含的資訊重建所需感測器的訊號。
例如,在單目深度估計中,模型被訓練來從簡單的影像感測器估計物體的距離。這通常需要更昂貴的解決方案,例如立體相機或根據雷射的距離感測器。
負責任地構建應用程式
本章的第一部分介紹了邊緣AI的一些最有趣的潛在應用,下一個章節將提供一個框架,用於分解問題並決定它們是否適合邊緣AI來解決。
但正如我們在“負責任、道德和有效的AI”中所聽到的,任何專案都必須進行分析,以確保它不會造成比好處更多的傷害。在接下來的部分中,我們將討論負責任設計的重要性,並瞭解一些可能導致邊緣AI應用程式造成更多傷害而非好處的陷阱。
負責的設計與AI倫理
在開發技術產品的每一步,都必須確保其設計和使用的責任感。這不是一個簡單的勾選流程,而是需要嚴格審視技術產品可能帶來的後果。設計不良的技術產品可能會對使用者、企業和開發者造成毀滅性的影響。
一個典型的例子是Uber的自動駕駛汽車部門。該公司曾經大舉投資於自動駕駛技術的開發,僱傭了行業內的頂尖人才,並投入了數十億美元。然而,在將系統用於實際道路測試時,由於安全程式的缺陷和軟體的失效,導致了一名行人死亡的悲劇。這一災難性事件最終導致Uber的自動駕駛專案被關閉,數百名員工被裁員,以及自動駕駛部門被廉價出售給另一家企業。
如果能夠做好自動駕駛汽車的開發,它本來可以帶來更安全的道路和更低的排放,似乎是一個崇高的使命。然而,邊緣AI的複雜環境可能導致難以預料的潛在陷阱。當這些風險被納入考慮時,一個初衷良好的技術專案可能會變成一個致命的雷區。
在Uber的案例中,其自動駕駛汽車存在機器學習系統常見的失敗模式:無法理解在其訓練資料集中未曾出現的情況。根據國家運輸安全委員會的報告,Uber的自動駕駛汽車缺乏“將物體識別為行人的能力,除非該物體靠近人行橫道”。
導致如此災難性失敗的因素有很多。對於開發者來說,在公共道路上測試自動駕駛汽車,卻未測試其處理最常見操作條件的能力,顯示出無能和疏忽。在Uber的案例中,這直接導致了一名人類的死亡和公司部門的失敗。
我們可以假設,Uber自動駕駛軟體背後的團隊是由聰明、能幹的人組成的——他們被招募為行業內的佼佼者。那麼,為什麼這些能幹的人在構建和佈署技術時會忽略明顯的問題呢?
不幸的是,構建良好的技術是很困難的,而且很難用本質上只能反映部分考慮的技術來解決複雜的問題。除了基本的技術挑戰之外,作為專業人士,您有責任瞭解您的技術的侷限性,嚴格審視您的流程,無情地評估您的工作,並願意在專案似乎沒有朝正確方向發展時終止它。一款無意中對人們造成傷害的產品就是一個糟糕的產品,無論設計它的團隊多麼優秀。
內容解密:
本段主要闡述了負責設計和AI倫理的重要性。開發者在開發技術產品時必須審視其設計和使用的責任感,避免因設計不良而對使用者、企業和開發者造成嚴重後果。文中以Uber自動駕駛汽車部門的失敗案例為例,說明瞭機器學習系統可能存在的缺陷,以及開發者需要對技術侷限性有清晰的認識,並嚴格審視自己的工作,以避免類別似悲劇的發生。
在商業環境中,您可能會面臨組織慣性的阻礙,這種慣性更關心產品的上線,而不是確保產品的安全。但您應該記住,最終,如果您忽視您的專業責任,您的生計、聲譽和自由都將受到影響。更糟糕的是,您可能會製造出一個毀掉他人生命的產品,並為此後悔終生。
負責設計的重要性
負責設計對於構建有效的產品至關重要。為了確保它得到應有的重視,本文作者邀請了代夫特理工大學網路物理智慧實驗室的博士研究員Wiebke(Toussaint)Hutiri撰寫了以下部分。Wiebke在應用機器學習和邊緣計算的交叉領域進行跨學科研究,重點關注為物聯網設計值得信賴的機器學習系統。
內容解密:
本小節強調了負責設計在產品開發中的重要性,並介紹了Wiebke(Toussaint)Hutiri的工作,她在應用機器學習和邊緣計算領域進行研究,專注於為物聯網設計可信賴的機器學習系統。
如前所述,有害的AI失敗案例已經使AI倫理成為大多數將AI整合到產品中的公司的重要考慮因素。對於開發者來說,倫理很重要,但往往很難知道什麼是倫理以及如何將其付諸實踐。審視支撐產品開發過程的價值觀(如下方的側邊欄所示)是將倫理與邊緣AI開發以實用方式聯絡起來的途徑。以價值觀為基礎,下一步是實踐負責設計。
設計中的價值觀
內容解密:
本小節標題「設計中的價值觀」強調了在產品設計過程中考慮價值觀的重要性。下面的內容將闡述價值觀在產品設計中的作用。
產品不能脫離其使用的背景。這意味著,只有當產品對其設計所要執行的任務有用時,它才是好的。當然,產品可以被重新利用於預期之外的替代用途,這些用途超出了最初設計的範圍。然而,對於開發者來說,指望不可預測的重新利用是一種非常危險的做法,而不是做好工程設計。
實際上,產品很少只需要有用即可。實用性只是使用者對產品期望的最低門檻。根據不同的使用背景,產品還需要安全使用、具有壽命、製造和營運成本低,並且在整個生產、使用和生命週期結束時避免產生有害廢物。這些只是一些非功能性需求(即不直接影響技術效能的需求),它們與技術效能一樣對產品成功至關重要。
開發者的工作很困難,因為很多時候多個需求無法同時滿足,並且需要在不同需求之間進行權衡。導航和優先考慮這些權衡是工程設計的核心內容。個人通常根據自己的價值觀來導航這些權衡。價值觀,如可持續性、民主、安全、隱私或平等,是指導你做出人生決策(例如,如果隱私是你核心價值之一,你可能會很積極地學習關於邊緣AI的知識,因為你不想讓你的個人資料被第三方分享)的原則。
內容解密:
本段闡述了在產品設計中需要考慮多個因素,不僅僅是實用性,還包括安全性、壽命、成本等非功能性需求。開發者需要在這些需求之間進行權衡,而這種權衡往往根據個人的價值觀。因此,瞭解並優先考慮這些價值觀對於成功設計至關重要。
自然地,開發者會將他們的價值觀帶入邊緣AI設計過程。但是,這樣做有一個很大的警告。價值觀是個人化的,並且因人和文化而異。因此,你不能僅僅依靠你自己或一群具有相同人生觀的開發者團隊的決策經驗,就能創造出滿足多元化使用者需求的成功產品。有一個達成共識的過程,關於哪些價值觀應該指導你的設計決策,以及如何指導,這一點很重要,並且應該是你的開發流程的一部分。
內容解密:
本段強調了在產品設計中需要考慮多元化的價值觀,以滿足不同使用者的需求。同時,也指出了達成共識的重要性,以確保產品能夠符合多元化的需求。
負責任的邊緣AI設計:資料的核心重要性
在設計負責任的產品時,開發者需要了解他們使用的「建構」材料的極限並掌握他們的工具。此外,他們需要衡量和評估他們的產品是否符合他們設定的功能性和非功能性需求。在機器學習(ML)領域,這與過往開發的硬體或軟體應用程式有著本質上的不同。在ML中,資料既是你的「磚塊」,也是你的「溫度計」。這對邊緣AI有著獨特的影響。
資料:你的「磚塊」與「溫度計」
資料是你的「磚塊」:對於邊緣AI應用中的機器學習模型,訓練資料是你構建模型的基礎。資料的品質直接影響產品的品質。簡單來說,如果某個特徵不在訓練資料中,你就無法預測它。如果某個特徵在訓練資料中代表性不足,你就無法可靠地預測它。如果某個特徵在訓練資料中過度代表,你的模型可能會更傾向於預測它,而不是其他特徵。在考慮代表性時,不僅要關注子群體的代表性,還要關注目標標籤在不同子群體中的分佈。同時,也要檢查不同子群體中目標標籤的品質,因為錯誤標籤的訓練樣本會影響模型的品質。
資料是你的「溫度計」:訓練資料是你的「磚塊」,而評估資料則是衡量模型效能的「溫度計」。使用不能代表實際應用場景的評估資料集,就像使用未校準的溫度計來測量溫度一樣。擁有高品質的評估資料非常重要。在統計學中,小樣本需要特別處理。常用的評估ML模型的指標假設有足夠的樣本代表性。對於評估資料來說,所有類別都需要在不同標籤中得到充分代表,這樣你的評估才具有統計學意義。如果某個類別沒有在所有目標標籤上進行評估,那麼模型的極限就無從得知。
使用資料構建和評估模型的影響
使用資料來構建和評估模型有很多影響。例如,資料是歷史性的,代表過去而非未來。資料只代表某一時間點的快照,而世界是在不斷變化的。資料是特定於收集地點和被測量實體的。所有這些都意味著資料只是樣本,永遠不可能是完整的。不完整的資料是AI偏差和歧視的主要原因,這已經對人們造成了傷害並引發了醜聞。
我們將在第7章探討資料集,從頭開始解釋所有這些概念。
負責任設計中的重要概念
以下是機器學習公平性中與負責任設計非常相關的一些關鍵術語:
偏差(Bias)
偏差最一般的含義是指一種傾斜或偏頗的觀點。在演算法系統(如AI)中,偏差也描述了一個系統系統性地產生偏袒某些群體或類別,而對其他群體或類別有偏見的輸出結果。偏差不一定是指對人的偏見。除非你的應用程式針對特定群體或類別,否則偏差通常不是好事。
歧視(Discrimination)
歧視是指根據保護或敏感屬性對個人或群體進行不同對待的決策過程結果。法律對哪些屬性在哪些應用中受到保護提供了正式定義。敏感屬性也可以根據社群或社會認為值得保護以確保平等的原則進行非正式定義。
公平性(Fairness)
公平性是最難定義的概念,因為不存在普遍適用的公平性定義。相反,公平性高度依賴於應用的背景、失敗可能帶來的風險和危害,以及利益相關者的價值觀。人們經常將公平性與其他價值觀如公平、平等和包容性一起考量。偏差可能導致不公平,許多人認為歧視是不公平的。
緩解偏差、避免歧視和評估潛在不公平
要緩解偏差、避免歧視並評估潛在的不公平,你需要了解你的設計將被使用的背景:
- 誰將使用你的設計,他們將如何使用它?
- 你的設計填補了什麼空白?
- 你的設計將在什麼環境條件下運作?
- 是否有對手試圖破壞你的產品運作?
- 如果你的設計沒有按預期工作,可能會出什麼問題?
打個比喻,你是在一個下雨200天的城市裡用未燒製的泥磚建造邊緣AI?還是你已經仔細考慮了背景,並收集了允許你建造適合環境結構的訓練資料?你的評估資料是一件損壞的裝置,還是一個精心校準的溫度計?
總而言之,一個負責任的開發者應該具備使用工具將材料塑造成符合利益相關者期望的形式的能力,並且符合所有受該專案影響的人所認同的價值觀。
開始進行負責任的設計很容易。瞭解你的資料極限,瞭解你的模型極限,與將使用你產品的人交談。如果你只能從本文中記住一件事,那就是:對於那些開發負責任邊緣AI的人來說,KUDOs(瞭解你的資料,顯然)是非常重要的。
—Wiebke (Toussaint) Hutiri, 代爾夫特理工大學
內容解密:
這篇文章強調了在開發邊緣AI時,資料的重要性和如何負責任地設計AI系統。主要概念包括偏差、歧視和公平性,以及如何透過瞭解資料和模型的侷限性來構建更負責任的AI系統。開發者需要考慮他們的設計將被使用的背景,並與將使用產品的人交談,以確保產品符合利益相關者的期望和價值觀。