你為什麼需要「嵌入式」AI?

作者 : Ariel Hershkovitz,CEVA軟體開發工具客戶解決方案資深經理

本文將以臉部辨識方案為例,說明AI如何能比傳統人機介面和密碼更容易使用、更智慧、更強韌,更別提現在人人都在趕搭這股風潮。

將人工智慧(AI)導入嵌入式應用的吸引力顯而易見;例如利用臉部辨識(face-id)來核准對製造廠房機械設備的控制權限。人臉辨識、語音控制、異常偵測…有了AI,就有如此多的可能性。

本文將以臉部辨識方案為例,說明AI如何能比傳統人機介面和密碼更容易使用、更智慧、更強韌,更別提現在人人都在趕搭這股風潮。AI的運作原理看似神奇,它所能做的已經快速成為大眾最基本的期待,沒有人會對還在使用過時技術的產品有興趣。

挑戰

產品製造商面臨的一個問題是,基於AI的產品開發與標準嵌入式產品開發大不相同;至少在核心功能層面,產品開發不是寫軟體,而是得像在學校教小朋友那樣,訓練一個神經網路來識別影像等圖形,然後將之最佳化以導入空間有限的嵌入式裝置,來滿足產品外觀尺寸和功耗的要求。

神經網路雖非常規的程式碼,但其本身以及運算仍需消耗記憶體和電力。身為嵌入式系統開發者的你,一定了解得盡量滿足這些要求的重要性,這我們下次再談;這裡先讓我們初步了解一下神經網路的基礎知識。

基礎

筆者不想對神經網路進行詳盡冗長的解釋,只想讓讀者們了解,要讓應用程式順利運作得怎麼做。神經網路在概念上是一系列的「神經元」(neuron)層,每個神經元從上一個神經元層或輸入的資料中讀取兩個(或多個)輸入,然後以經過訓練的權重(weights)進行運算並向前回饋結果。根據這些權重,一個神經元層會偵測特徵,並隨著資料在各個神經元層之間移動不段進展,最終在輸出端識別複雜影像。

第一個巧妙之處在於網路設計──需要考量層數、各層之間的連結及其他因素──也就是核心神經網路演算法;第二個巧妙之處是訓練──這是一個過程,期間有大量經過標記應該辨識什麼的大量影像饋入網路,這些運作會產生識別所需權重。

有雄心壯志的人,可以利用像是TensorFlow等標準框架從頭打造自己的神經網路,也可以選擇像是OpenFace這樣的臉部辨識專屬開放源碼資料庫。你可以打造所有這些,並且導入能在筆記型電腦上執行的應用程式,這對於想要利用臉部辨識系統的客戶來說十分便利。現在,你可以利用經認證的不同姿態臉部資料測試集來訓練你的網路。

為何不在雲端進行?

有一些在線上提供線上人臉辨識的服務──不需要在裝置上安裝繁雜的AI功能,只要拍照、上傳到雲端,應用程式傳回確認訊息後,你的產品即可批准下一步。

但是,所有被核准的人員都得將自己的照片和其他身份憑證儲存在雲端,這對安全性和個人隱私性來說不是件好事,而且每當員工要使用任何一台設備,都要費點功夫將影像傳輸到雲端;更糟糕的是,如果發生網路斷線的狀況,除非等待網路恢復正常,任何人都無法進行身份驗證。

直接在終端裝置上進行正確的身份驗證,不但可保障個人隱私和安全性,節省功耗,即使網路連線中斷,作業也不會中斷。

本文由CEVA供稿;責編:Judith Cheng

(參考原文 :Mastering embedded AI,By Ariel Hershkovitz)

 

 

 

加入LINE@,最新消息一手掌握!

發表評論