手机端部署的超分机器学习模型-MobiSR
背景
超分(Super-Resolution),本文簡稱為SR,指的是通過深度學習模型讓低分辨率的圖像變成高分辨率。超分這個概念其實由來已久,今天主要介紹下端側超分,重點講的是手機端的超分。主要是參考了《MobiSR: Efficient On-Device Super-Resolution through Heterogeneous Mobile Processors》這篇文章。
超分模型的理論基礎,這件事為什么能做其實很關鍵。CNN模型如下圖可以構建出一套數學模型,使得在以PSNR、SSIM等指標作為評估的時候,構建出輸入低分辨率圖片并產出高分辨率圖片的一個通路,這使得超分這個概念在邏輯上是成立的。
端側部署模型的收益
既然SR可以做成一個模型的預測過程,一定是受限于計算資源的,為什么一定要做到端側。
收益主要是幾點:
- 1.時延性,端側時延會很低,近乎于0
- 2.數據隱私性,應用不用把數據上傳到服務器,而直接在端側做預測
- 3.計算資源的節約,把云端服務器的成本轉嫁到計算力越來越突出的手機端
在端側部署模型,主要解決的問題有兩個:
- 模型的尺寸,不會有APP允許一個超大規模的模型的嵌入
- 模型inference的資源限制,端側不像服務側那樣有充分的資源,所以如何保證端側模型的運行效率是個挑戰
如何解決端側模型的問題
解決方案就是減少模型的計算復雜度并且充分利用端側的資源。在減少計算復雜度方面,可以在端側模型多用一些輕量的殘差網絡模塊(lightweight residual blocks)。
?
另外一個模式就是將channels分割,是得總的模型參數不變的情況下學習更多的內容,如下圖:
詳細方案可以看以下這篇論文《SplitSR:An End-to-End Approach to Super-Resolution on Mobile Devices》。
?
另外如何更有效的利用手機側的資源也是提升端側模型性能的方案。一個比較簡單的思路是提升手機端GPU和DSP的利用率,因為相比于CPU計算資源,GPU和DSP的計算資源更為寶貴,一個做法就是將簡單的工作盡可能交給CPU去執行,將復雜的計算邏輯交給GPU和DSP去執行。
總結
以上是生活随笔為你收集整理的手机端部署的超分机器学习模型-MobiSR的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二张图白话广告RTA技术
- 下一篇: MNN通用端侧深度学习预测框架介绍