5G时代,为什么主流大厂纷纷布局这项技术?

云栖号资讯小哥 2019-12-08

大数据 算法 互联网 人工智能 布局 Image 分布式系统 神经网络

导读:深度学习技术已经在互联网的诸多方向产生影响,每天科技新闻中关于深度学习和神经网络的讨论越来越多。深度学习技术在近两年飞速发展,各种互联网产品都争相应用深度学习技术,产品对深度学习的引入也将进一步影响人们的生活。
而移动技术如芯片技术爆发式进化以及5G通信技术的到来,让移动平台成为机器学习技术落地的最佳实践平台,是工业界应用最看重的场景,各大厂商再次逐鹿于此。本文将带你了解深度学习与移动平台智能。

image

01 深度学习与移动平台的关系

目前的机器学习应用主要分为三个大方向:传统机器学习模型、深度学习模型和非深度学习的新模型。

在解决少量样本的简单问题时传统机器学习算法依然是不可或缺的利器,因为在这些场景中学习目标和样本的关系往往比较简单,如果使用深度学习容易出现过拟合等现象,而且深度学习的很多概念和理论基础依然来自于传统的机器学习模型,因此传统机器学习依然具有很强的生命力。嗯,没错这是辩证的,没有绝对的好坏。

但是,目前在许多主流应用方向,比如图像、文字、语音之类的模式识别和生成任务中,在拥有大量样本的情况下,深度学习模型的确比传统机器学习模型效果优秀很多,毕竟面对这些复杂的任务,人类想要去发现极佳的特征是一个非常困难的事情。

而且大部分传统机器学习模型很难处理复杂的非线性任务,使得传统机器学习算法很难和深度学习竞争。这也是深度学习带来的贡献,毕竟原来传统机器学习无法落地的场景在深度学习面前已经可以成为现实了!

面对这些复杂任务深度学习是目前最好的解决方案。但好用不代表就完全没有问题,事物总是存在两面性,因此作为知识体系的完整性补充,我们有必要把深度学习的问题也提出来供大家了解。

深度学习的原理决定了其训练产生的模型自身是无法解释且证明的。深度学习最强大的地方在于自动学习特征,但问题是这些深度学习寻找出的特征都是人类无法解释清楚的,这就使得模型本身的可解释性、模型的泛化能力存在潜在问题,往往简单粗暴的增加样本会大幅改善模型质量。
而早前就出现的概率图模型和现在兴起的可解释学习都有望从根本上解决上述问题,是下一个前沿发展方向。
image

但无论如何,深度学习目前在工业应用领域深度学习的确是不可替代的,而作为应用工程师最关心的肯定是这些有实用价值的技术和方法。
在移动互联网时代的后半程和物联网、5G时代的大潮下,人们对于移动端机器学习的需求已经越来越强烈,这也就是为什么我们要在移动智能的场景下探讨深度学习的原理、算法、解决方案和优化问题。
深度神经网络在工业界机器学习领域是一种行之有效的解决问题的工具,因此大家都在想如何能将深度学习更有效地利用到计算能力和存储能力更为有限的移动平台中。在算法工程师的努力下,现在移动智能已经无法离开深度学习。

02 移动平台的发展与实践

这是一个移动平台机器学习技术风起云涌的时代,由各个拥有丰富技术积累的大型企业牵头研发的移动端机器学习框架,推动了这一领域的迅速成长。

Google:推出TensorFlow Lite

Facebook:推出PyTorch Mobile

苹果:推出Core ML以及A系列仿生芯片

腾讯:推出NCNN

百度:mobile-deep-learning(MDL)的全部代码以及脚本(基于CNN)
image

我们可以看到,主流大厂纷纷布局移动端机器学习已经是十分明显的趋势,移动平台更新迭代快,不仅相应的软件技术日新月异,相应的SoC也迅速进化,而专门处理机器学习计算的神经单元也早已崭露头角。

与此同时,庞大且活跃的用户量也让各个大厂加速布局移动端机器学习落地。因此,软件的快速迭代、专有硬件的快速进化再加上庞大且活跃的用户群让移动平台机器学习形成了良性发展,越来越多的产品在移动端落地,产生巨大价值的同时开辟了广阔的市场。
把可穿戴设备以及边缘计算设备纳入移动平台的范畴,我们还能看到潜在的应用和实践。面向消费级产品的芯片已不再拘泥于中央处理器这个场景,越来越多的专有芯片已登陆各种可穿戴设备。

可以预想的是,在不久的将来通过这些移动平台专有芯片实现人工智能技术也不是太过遥远的事情。此外,边缘计算设备结合新的通信技术,让互联网的疆域进一步得到扩展,如何让边缘计算设备提供人工智能计算解决方案是一个极为吸引人和令人激动的问题。通过移动端机器学习技术让实时人工智能计算无处不在,已不再是纯粹的设想。

虽说移动端机器学习和传统服务器端的机器学习会有一些差异,但是必须要注意的是毕竟这依然属于机器学习的范畴,只不过我们希望能够在移动端能够更高效地执行我们训练的模型,以满足显示生活中对机器学习应用的性能需求,因此我们依然需要关注机器学习的基础知识、生态环境、工具链以及如何训练我们的模型。

image

03 应用场景与流派

互联网行业在移动端应用神经网络的案例已经越来越多。与深度学习紧密联系在一起的图像技术同样在业界广泛应用。传统计算机视觉和深度学习的结合使图像技术得以快速发展。

我们来聊一聊深度学习在移动端主要有哪些应用场景。比较常见的如分辨出一张图片中的物体是什么,也就是分类问题。

场景举例:使用TensorFlow Lite作为前向引擎预测移动设备摄像头捕捉的画面的具体类别,或者识别出一张照片中的人物、物品与场景,并在照片上自动进行标注。对于拥有大量照片的用户来说,这样的功能十分有用,而且很多时候就是依赖于离线机器学习,比如iOS相册当中的自动识别功能等。

目前的流派主要有两种:

其一,依赖于网络连接和API请求执行深度神经网络,客户端负责将所需的数据喂给API调用,并将API调用返回的数据显示在客户端的界面上。在移动端深度学习普及之前,绝大部分的移动平台App 都使用了这种服务端计算+本地展示的方式实现机器学习应用。

优点是开发移动端相对简单,缺点是实时性不高,且无法在网络环境不好的情况下服务。

其二,完全离线运行深度神经网络。相较于第一种方式,优点显而易见,那就是**模型完全离线运行,预测实时计算,可以在保证运行速度的同时提供流畅体验。如果我们能保证移动端高效运行神经网络,可以使用户感觉不到加载和运算的过程。
**
我们举个简单例子,如iPhone当中的相册就会自动为你做好基于人脸识别的分类,而这个运算是不依赖于实时联网功能的。除此之外,还有很多图像识别的案例也是无需连接远端服务器就可以实现的实时预测。

image

由于深度学习需要大量数据(这会导致计算能力的降低),所以大部分深度学习都是云计算。通过移动端深度学习框架的推出,将不需要在云端拥有一大批的服务器,可以利用现成的移动设备上的数据来训练模型,并逐步改善用户体验,不需要等待被调整的模型与云端之间往返。所有培训数据都将保留在用户的移动设备上,而不必单独更新存储在云端。

这对技术提出了很高的要求,需要对硬件、性能、神经网络模型的大小做严格限制,让它在计算能力有限的智能手机上,独立工作。移动端已然成为机器学习、深度学习技术的最佳实践场,同时也是工业界应用最看重的场景,把深度学习实际应用到解决实际问题中,而不是实验室里去做个benchmark成为了重中之重。

那么我们怎样才能让实验室中的模型应用到解决实际问题中?如何行之有效地开发移动端机器学习应用?如何进行系统的机器学习理论梳理并付诸实践?这些问题的提出成为了笔者撰写《移动平台深度神经网络实战:原理、架构与优化》一书的初衷。有兴趣的读者可以了解一下。

关于作者:卢誉声,Autodesk数据平台和计算平台资深工程师,负责平台架构研发工作。工作内容涵盖大规模分布式系统的服务器后端、前端以及SDK的设计与研发,在数据处理、实时计算、分布式系统设计与实现、性能调优、高可用性和自动化等方面积累了丰富的经验。擅长C/C++、JavaScript开发,此外对Scala、Java以及移动平台等也有一定研究。

原文发布时间:2019-12-06
本文作者:卢誉声
本文来自云栖社区合作伙伴“大数据DT”,了解相关信息可以关注“大数据DT

登录 后评论
下一篇
云栖号资讯小编
1849人浏览
2020-03-31
相关推荐
物联网推进数字经济未来
1066人浏览
2017-07-03 14:25:00
0
1
0
4196