深度学习在iPhone 7P上比8P更快?

2017 年 11 月 13 日 移动开发前线 薛命灯 译
作者|Akira Sosa
译者|薛命灯
编辑|覃云
2017 年,在移动应用的深度学习方面取得了一些重大进展。2017 年 4 月,谷歌发布了轻量级神经网络 MobileNets。2017 年 6 月,苹果公司发布了 Core ML,支持在移动设备上运行机器学习模型。除此之外,最近发布的一些高端设备配备了 GPU,它们运行机器学习甚至比 MacBook Pro 还要快。

深度学习已经无处不在。在这篇文章里,我将会介绍深度学习在现实世界中的应用情况,并见识一下它们的速度到底有多快。

  MobileNets 应用

我们最近开发了一种新的深度神经网络,叫作 MobileUNet,用于解决语义切分问题。它的设计及其简单,它在 U-Net 中使用了 MobileNets。这里只列出其中关键的点,更多细节可以参考它的 GitHub 仓库。

  • 它由编码器和解码器组成。

  • 编码器使用了 MobileNets,缺少用于分类的全连接层。

  • 解码器使用卷积转置进行升采样(upsample)。

U-Net 架构

在开发该项目时,我们主要关心它的推理速度。我们知道深度神经网络在 GPU 上跑得更快一些,但如果运行在移动设备上会怎样呢?

这也就是为什么我们使用了 MobileNets。

  • 它使用深度卷积块(depthwise conv block)来加快推理速度。

  • 它具有更高的准确性和推理速度比率。

  • 它提供了一些参数用于在准确性和速度之间做出权衡。

我们可以得到较为理想的结果,如下图所示。

  速度与准确性

在介绍 MobileUNet 的性能之前,我想先澄清几个一般性的概念。

是否所有的卷积(如 Conv2D、DepthwiseConv2D 和 Conv2DTranspose)在不同的处理器上都有相同的速度表现?

答案是否定的。在不同的处理器上,有些操作会很快,有些会很慢。CPU 和 GPU 之间的区别是很容易区分出来的,即使是不同的 GPU 之间也存在优化差异。

下图展示了普通的卷积块和深度卷积块之间的差别。

深度卷积块和普通卷积块在 CPU 上的表现差别很大,但在 GPU 上的差别却小了很多。

因此,如果你想要发布基于移动设备的深度学习应用,最好先在主流的设备上做一下测试。接下来,我要分享一下 MobileUNet 的各种指标。

我们主要使用了以下几个设备:

  • iPhone 6 Plus

  • iPhone 7 Plus

  • iPhone 8 Plus

  • Sony Xperia XZ(骁龙 820)

MobileNets 提供了一个叫作 alpha 的参数用于控制速度和准确性之间的比率,所以我们也在 MobileUNet 里使用了这个参数。我们选择了 4 个 alpha 值(1、0.75、0.5 和 0.25)和 4 种尺寸的图像(224、192、160、128)。

下图是速度对比。

让人感到惊讶的是,速度最快的并不是 iPhone 8 Plus,而是 iPhone 7 Plus。iPhone 7 Plus 真的很快,在实时应用方面完全没有问题。iPhone 6 Plus 和骁龙 820 就没那么快了,特别是当 alpha 值很大的时候就更慢了。

下图是准确性对比。

在 alpha 达到 0.25 时,准确性开始急速下降。准确性随着 alpha 的值和图像尺寸呈线性下降。所以,我们不使用 alpha 0.25 这个值。

下图展示了在骁龙 820 上运行的速度和准确性。

如果速度对于我们来说很重要,那么就可以考虑左上角那个,尺寸为 128,准确性为 0.875 IoU,alpha 值为 0.5。如果更看重准确性,那么可以选择尺寸为 192、alpha 值为 0.5 的那个。

当然,我们也可以为不同的设备使用不同的模型,但这样会增加复杂性。

现在让我们来看看为什么 iPhone 7 Plus 会比 iPhone 8 Plus 更快。

之前已经说过,速度取决于每个处理器。iPhone 7 Plus 的 GPU 比 iPhone 8 Plus 的 GPU 更加契合我们的神经网络,为此我做了一个实验。

我们将 MobileUNet 的编码器和解码器分为不同的部分,并测试它们的性能。

很明显,解码器部分是 iPhone 8 Plus 的瓶颈所在。我们在解码器中使用了 Conv2DTranspose,iPhone 7 Plus 的 GPU 针对 Conv2DTranspose 进行过优化,而 iPhone 8 Plus 则没有。

用于基准测试的脚本放在了 Gist 上。

  • Benchmark TensorFlow model in Android

  • Benchmark Core ML model in iOS

  结论

在移动设备上使用深度学习已经成为一种趋势,在不久的将来,深度学习的应用会越来越方便。

但不是所有的设备都配备了高端 GPU,所以进行性能调优是很有必要的。因为不同的处理器具有不同的特点,所以一定要使用真实的设备进行性能测试。

性能测试本身并不难,甚至不需要使用训练过的模型,我们完全可以使用未训练的模型找出性能的瓶颈。

我们完全可以使用未训练的模型找出性能的瓶颈。

  原文链接

https://medium.com/vitalify-asia/real-time-deep-learning-in-mobile-application-25cf601a8976

  延伸阅读
第一印象:CoreML 与 coremltools抢先体验
TensorFlow Lite:为移动而生
在iOS平台上使用TensorFlow教程(上)
在iOS平台上使用TensorFlow教程(下)
  移动开发前线

「移动开发前线」是 InfoQ 旗下关注移动开发技术的垂直社群。投稿请发邮件到 editors@cn.infoq.com,注明“移动开发前线投稿”。

  活动推荐

2017 年,到底都有哪些 AI 落地案例呢?机器学习、深度学习、NLP、图像识别等技术又该如何用来解决业务问题?2018 年 1 月 11-14 日,AICon 全球人工智能技术大会上,一些大牛将首次分享 AI 在金融、电商、教育、外卖、搜索推荐、人脸识别、自动驾驶、语音交互等领域的最新落地案例,应该能学到不少东西。目前大会 8 折报名倒计时,更多精彩可点击阅读原文详细了解。



登录查看更多
0

相关内容

ETS:European Test Symposium。 Explanation:欧洲测试研讨会。 Publisher:IEEE。 SIT: http://dblp.uni-trier.de/db/conf/ets/
【干货书】高级应用深度学习,294页pdf
专知会员服务
151+阅读 · 2020年6月20日
最新《经济学中的强化学习》2020大综述,42页pdf128篇文献
【新加坡国立大学】深度学习时代数据库:挑战与机会
专知会员服务
33+阅读 · 2020年3月6日
【综述】自动驾驶领域中的强化学习,附18页论文下载
专知会员服务
172+阅读 · 2020年2月8日
深度神经网络模型压缩与加速综述
专知会员服务
128+阅读 · 2019年10月12日
复旦大学邱锡鹏老师《神经网络与深度学习》书册最新版
神经网络与深度学习,复旦大学邱锡鹏老师
专知会员服务
117+阅读 · 2019年9月24日
DL | 语义分割综述
机器学习算法与Python学习
58+阅读 · 2019年3月13日
基于手机系统的实时目标检测
计算机视觉战队
8+阅读 · 2018年12月5日
深度学习之视频图像压缩
论智
13+阅读 · 2018年6月15日
一场深度学习引发的图像压缩革命
极市平台
7+阅读 · 2018年3月30日
深度相机应用全面梳理:多点开花,定点爆破
计算机视觉life
6+阅读 · 2017年12月13日
斯坦福:「目标检测」深度学习全面指南
人工智能学家
8+阅读 · 2017年10月11日
CNN 模型压缩与加速算法综述
机器学习研究会
16+阅读 · 2017年8月25日
S4Net: Single Stage Salient-Instance Segmentation
Arxiv
10+阅读 · 2019年4月10日
Generalization and Regularization in DQN
Arxiv
6+阅读 · 2019年1月30日
Logically-Constrained Reinforcement Learning
Arxiv
3+阅读 · 2018年12月6日
Arxiv
6+阅读 · 2018年10月3日
W-net: Bridged U-net for 2D Medical Image Segmentation
Arxiv
19+阅读 · 2018年7月12日
Arxiv
8+阅读 · 2018年5月15日
Arxiv
6+阅读 · 2018年1月11日
VIP会员
相关VIP内容
【干货书】高级应用深度学习,294页pdf
专知会员服务
151+阅读 · 2020年6月20日
最新《经济学中的强化学习》2020大综述,42页pdf128篇文献
【新加坡国立大学】深度学习时代数据库:挑战与机会
专知会员服务
33+阅读 · 2020年3月6日
【综述】自动驾驶领域中的强化学习,附18页论文下载
专知会员服务
172+阅读 · 2020年2月8日
深度神经网络模型压缩与加速综述
专知会员服务
128+阅读 · 2019年10月12日
复旦大学邱锡鹏老师《神经网络与深度学习》书册最新版
神经网络与深度学习,复旦大学邱锡鹏老师
专知会员服务
117+阅读 · 2019年9月24日
相关资讯
DL | 语义分割综述
机器学习算法与Python学习
58+阅读 · 2019年3月13日
基于手机系统的实时目标检测
计算机视觉战队
8+阅读 · 2018年12月5日
深度学习之视频图像压缩
论智
13+阅读 · 2018年6月15日
一场深度学习引发的图像压缩革命
极市平台
7+阅读 · 2018年3月30日
深度相机应用全面梳理:多点开花,定点爆破
计算机视觉life
6+阅读 · 2017年12月13日
斯坦福:「目标检测」深度学习全面指南
人工智能学家
8+阅读 · 2017年10月11日
CNN 模型压缩与加速算法综述
机器学习研究会
16+阅读 · 2017年8月25日
相关论文
S4Net: Single Stage Salient-Instance Segmentation
Arxiv
10+阅读 · 2019年4月10日
Generalization and Regularization in DQN
Arxiv
6+阅读 · 2019年1月30日
Logically-Constrained Reinforcement Learning
Arxiv
3+阅读 · 2018年12月6日
Arxiv
6+阅读 · 2018年10月3日
W-net: Bridged U-net for 2D Medical Image Segmentation
Arxiv
19+阅读 · 2018年7月12日
Arxiv
8+阅读 · 2018年5月15日
Arxiv
6+阅读 · 2018年1月11日
Top
微信扫码咨询专知VIP会员