蘋果團隊首發文,揭露讓 iPhone 支援深度學習演算法面臨的諸多挑戰

36

蘋果 Vision 框架的發表,意味著開發者可在 App 使用深度學習演算法和許多其他電腦視覺技術。那麼,支援這創造性革新的背後,蘋果團隊面臨哪些挑戰?日前蘋果在官網發文,首次揭露這些資訊。整理詳情如下。

蘋果在 iOS 10 開始使用深度學習技術。隨著 Vision 框架發表,開發者可在 App 使用深度學習技術和許多其他電腦視覺演算法。蘋果開發 Vision 框架時,為了保護使用者隱私,讓演算法高效執行,面臨巨大的挑戰。下面介紹這些挑戰。

蘋果首先透過 CIDetector 類在 Core Image 框架發表了人臉檢測公用 API。蘋果內部應用程式也使用這個 API,例如 Photo。CIDetector 最早版本使用的是一種利用 Viola-Jones 的檢測演算法,基於傳統電腦視覺技術的進步,CIDetector 持續改進。

隨著深度學習出現以及電腦視覺問題上的應用,這些頂尖技術在人臉檢測的精準性取得前所未有的巨大進步。為了利用這些技術帶來的轉變,蘋果徹底重新思考方法。

與傳統電腦視覺相比,深度學習學到的模型需要更大的記憶體、更大的儲存空間和更多計算資源。

雖然手機發展到現在,已具備各種各樣的功能,但傳統高階手機並不是適合訓練深度學習視覺模型的平台。大多數行業透過雲端 API 提供深度學習解決方案解決這個問題。在那種雲端解決方案中,圖像發送到雲端伺服器,然後再利用深度學習來推理、檢測人臉。

雲端的服務通常使用性能強大的桌面級 GPU,具大量可用記憶體。當碰到非常大的網路模型,或可能要配置大型模型時,都可在伺服器端運行,這能保證用戶端(可能是行動電話)可在雲端(在本地無法執行)運行大型的深度學習架構。

蘋果 iCloud 照片庫是一個基於雲端的圖片和影像儲存解決方案。不過,由於蘋果之前承諾,絕不侵犯用戶隱私,所以他們不能利用 iCloud 伺服器進行電腦視覺計算。所有發送到 iCloud 照片庫的照片和影片在發送到雲端儲存之前就在裝置上編碼,且只能透過註冊過的 iCloud 帳戶裝置解密。因此,為了帶來深度學習的電腦視覺解決方案,必須直接在 iPhone 執行深度學習演算法的挑戰。

除了這一點,蘋果還面臨諸多挑戰。

  • 深度學習模型需要裝配到作業系統,占用本來就很稀少的 NAND 儲存空間。
  • 此外,它還需要載入 RAM,使 GPU / CPU 的計算時間大大延長。
  • 與雲端服務不同,雲端資源可分配,用來單獨解決視覺問題;想在裝置進行計算,則需要在與其他正執行的應用程式共用系統資源。
  • 最後,計算必須夠高效,能在相當短的時間內處理大型圖片庫,並且讓手機電量不會消耗過快,手機也不能產生明顯發熱。

 

(本文由 雷鋒網 授權轉載;首圖來源:Flickr/matt buchanan CC BY 2.0)