手机将图片缩小至50k,手机如何缩小照片到50k

首页 > 经验 > 作者:YD1662022-11-03 06:27:49

运行深度神经网络对计算能力、能耗及磁盘空间要求甚高,智能手机的计算资源十分有限,需要多种优化才能高效运行深度学习应用。本文介绍了如何在移动设备的各种指标之间取得平衡,在避免大幅度降低准确性的前提下构造更加轻便的神经网络,使得在移动设备上快速、准确地运行神经网络成为可能。

手机将图片缩小至50k,手机如何缩小照片到50k(1)

电脑拥有大容量硬盘和强大的 CPU 与 GPU,但智能手机没有。为了弥补这些硬件上的不足,智能手机需要一些特殊手段才能高效地运行深度学习应用。

手机将图片缩小至50k,手机如何缩小照片到50k(2)

智能手机有办法与这些强大的服务器集群竞争吗?还是完全没有希望?

引言

深度学习是一种功能十分多样和强大的技术,但是运行神经网络对计算能力、能耗及磁盘空间要求甚高。这对于在具有大型硬盘和多个 GPU 的服务器上运行的云应用来说一般不是问题。

不幸的是,在移动设备上运行神经网络并非易事。事实上,尽管智能手机的功能越来越强大,它们的计算能力、电池寿命及可用的磁盘空间依然十分有限,特别是那些非常依赖轻便性的应用。把应用做得轻便可以加快下载速度,减少更新,并且延长电池寿命,而这些都是用户迫切需要的。

为了执行图像分类、人像模式摄影、文本预测以及其他几十项任务,智能手机需要使用特殊方法来快速、准确地运行神经网络,且不占用过多内存空间。

在这篇文章中,我们将会了解一些最有效的、能让神经网络在手机上实时运行的技术。

能使神经网络更小更快的技术

基本上来讲,我们只对三个指标感兴趣:模型的准确率、速度、在手机中占用的内存。天下没有免费的午餐,因此我们不得不在这些指标之间作出一些权衡。

对于大部分技术来说,我们一边要关注指标,一边还要寻找一个叫做「饱和点」(saturation point)的东西。达到这个点之后,利用其他指标的损失实现某个指标的增益将不再可行。在到达饱和点前保持优化值,可以在两个指标上取得最佳结果。

手机将图片缩小至50k,手机如何缩小照片到50k(3)

在这个例子中,我们可以在不增加误差的情况下显著减少代价昂贵的运算。但是,在超过饱和点之后,误差的严重程度高到不可接受。

记住这个方法,让我们开始吧!

1. 避免全连接层

全连接层是神经网络中最常见的部分,它们通常能发挥很大作用。然而,由于每一个神经元都和前一层的所有神经元相连接,因此它们需要存储和更新大量参数,这对速度和磁盘空间都很不利。

卷积层是利用输入(通常是图像)中局部一致性的层。每一个神经元不再与前一层的所有神经元相连。这有助于网络在保持高度准确性的同时减少连接/权重的数量。

手机将图片缩小至50k,手机如何缩小照片到50k(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.