手机端部署的超分机器学习模型-MobiSR

背景

超分(Super-Resolution),本文简称为SR,指的是通过深度学习模型让低分辨率的图像变成高分辨率。超分这个概念其实由来已久,今天主要介绍下端侧超分,重点讲的是手机端的超分。主要是参考了《MobiSR: Efficient On-Device Super-Resolution through Heterogeneous Mobile Processors》这篇文章。

超分模型的理论基础,这件事为什么能做其实很关键。CNN模型如下图可以构建出一套数学模型,使得在以PSNR、SSIM等指标作为评估的时候,构建出输入低分辨率图片并产出高分辨率图片的一个通路,这使得超分这个概念在逻辑上是成立的。

手机端部署的超分机器学习模型-MobiSR_第1张图片

端侧部署模型的收益

既然SR可以做成一个模型的预测过程,一定是受限于计算资源的,为什么一定要做到端侧。

收益主要是几点:

  • 1.时延性,端侧时延会很低,近乎于0
  • 2.数据隐私性,应用不用把数据上传到服务器,而直接在端侧做预测
  • 3.计算资源的节约,把云端服务器的成本转嫁到计算力越来越突出的手机端

在端侧部署模型,主要解决的问题有两个:

  • 模型的尺寸,不会有APP允许一个超大规模的模型的嵌入
  • 模型inference的资源限制,端侧不像服务侧那样有充分的资源,所以如何保证端侧模型的运行效率是个挑战

如何解决端侧模型的问题

解决方案就是减少模型的计算复杂度并且充分利用端侧的资源。在减少计算复杂度方面,可以在端侧模型多用一些轻量的残差网络模块(lightweight residual blocks)。

 

手机端部署的超分机器学习模型-MobiSR_第2张图片

另外一个模式就是将channels分割,是得总的模型参数不变的情况下学习更多的内容,如下图:

手机端部署的超分机器学习模型-MobiSR_第3张图片

详细方案可以看以下这篇论文《SplitSR:An End-to-End Approach to Super-Resolution on Mobile Devices》。

 

另外如何更有效的利用手机侧的资源也是提升端侧模型性能的方案。一个比较简单的思路是提升手机端GPU和DSP的利用率,因为相比于CPU计算资源,GPU和DSP的计算资源更为宝贵,一个做法就是将简单的工作尽可能交给CPU去执行,将复杂的计算逻辑交给GPU和DSP去执行。

手机端部署的超分机器学习模型-MobiSR_第4张图片

你可能感兴趣的:(机器学习,人工智能,AIEdge,端侧模型)