查看原文
其他

App 开发穷途末路?

Karl Utermohlen CSDN 2019-03-31

自去年起,有关“人口红利、用户流量逐渐消退,移动互联网整体开始向产业互联网转型”的结论就不绝于耳,而在此趋势之下,不少曾身处移动互联网红利顶端的开发者也开始了恐慌,纷纷发出移动开发已穷途末路的感叹。

然事实是否真的如此?其实未必,毕竟现在的移动终端设备仍是主流,且随着物联网领域的崛起,移动设备所处的地位将会越来与重要。在此之际,倘若传统移动开发者固步自封,那么结局必然如上文所恐慌的那般。因此,当前的开发者所需要做的是,紧随技术潮流,结合最新的人工智能、VR/AR、区块链等技术,对现有的技能进行升级。在这篇文章中,本文作者将分享下一波移动 App 将由机器学习提供动力的 4 个原因。

作者 | Karl Utermohlen,技术作家专注于 AI、ML 和网络安全

译者 | 虎说

责编 | 屠敏

出品 | CSDN(ID:CSDNNews)

以下为译文:

移动开发者可以从机器学习所能提供的革命性变化中获益良多,这是因为该技术已经能够支持移动应用程序,比如:允许更流畅的用户体验,让移动应用程序拥有更强大的功能:例如提供准确的基于位置的建议或即时检测植物疾病。

移动应用机器学习的快速发展已经成为对经典机器学习所面临的许多问题的解释。事实上,不详之事就要发生。未来的移动应用需要更快的处理速度和更低的延迟。

你可能想知道为什么 AI-first 移动应用程序不能简单地在云中进行在线推断?首先,云计算技术依赖于中央节点(想象一个拥有大量存储空间和计算能力的海量数据中心)。而这种集中式中央处理方式无法处理创建平滑的ML驱动的移动体验所需的处理速度。因为整个过程必须在此集中式数据中心处理数据,然后将数据发送回设备。这个过程需要时间和金钱,并且很难保证数据隐私。

在概述了移动机器学习的这些核心优势之后,让我们更详细地探讨为什么作为移动应用程序开发人员,你需要留意你的移动应用 ML 革命。


较低的延迟


移动 App 开发人员都知道,高延迟是应用程序的丧钟,无论应用程序的功能有多强大或其背后的公司品牌声誉如何好。比如,Android 设备过去曾遇到过许多视频应用的延迟问题,从而导致观看音频和视频不同步的体验。同样,具有高延迟的社交媒体应用程序可能会导致非常令人沮丧的用户体验。

正是由于这些延迟问题,在设备上执行机器学习变得越来越重要。因为社交媒体图像过滤器和基于位置的用餐建议等等这些应用程序功能需要低延迟才能提供最佳结果。

如前所述,云计算方式处理时间可能很慢,最终,开发人员需要接近零延迟才能使 ML 功能在其移动应用中正常运行。设备上的机器学习通过其数据处理能力为接近零延迟铺平了道路。

实时低延迟的示例:Heartbeat App中实时视频的样式传输结果。

智能手机制造商和大型科技公司正在逐渐接受这种认识。Apple 一直在这方面处于领先地位,他们使用其 Bionic 系统开发更先进的智能手机芯片,该系统具有完整的神经引擎,可帮助神经网络直接在设备上运行,并具有令人难以置信的速度。

Apple 还将继续推出 Core ML,这是面向移动开发者的机器学习平台;TensorFlow Lite 还增加了对 GPU 的支持,谷歌继续为其自己的 ML 平台 ML Kit 添加预装功能。这些属于移动开发人员的技术可用于开发需要以闪电般速度处理数据,消除延迟和减少错误的应用程序。

这种精确性和无感知的用户体验结合是移动开发人员在创建ML驱动的应用程序时需要考虑的首要因素。为了保证这一点,开发人员需要接受设备上的机器学习。


增加安全性和隐私


边缘计算的另一个巨大优势是不可低估它如何提高其用户的安全性和隐私性。确保应用程序数据的保护和隐私是移动开发人员工作中不可或缺的一部分,特别是考虑到需要满足通用数据保护法规(GDPR),这些新隐私法,这些新的法律肯定会影响移动开发实践。

由于数据不需要发送到服务器或云进行处理,因此网络犯罪分子利用此数据传输中的任何漏洞的机会较少,从而保留了数据的神圣性。这使移动开发人员可以更轻松地满足 GDPR 关于数据安全的规定。

移动设备上的机器学习解决方案也可以分布式提供,就像区块链一样。换句话说,跟针对中央服务器的同一攻击相比,黑客更难通过 DDoS 攻击取下隐藏设备的连接所有网络节点。

此外,Apple 智能手机芯片也有助于提高用户安全性和隐私。同时,它们是 Face ID 的支柱,iPhone 功能依赖于设备上的神经网络,神经网络可以收集用户脸部所有不同方式的数据,以此作为更准确,更安全的识别方法。

现在以及未来的支持 AI 的硬件将为用户提供更安全的智能手机体验,为移动开发人员提供额外的加密层以保护用户的数据。


无需 Internet 连接


除了延迟问题之外,将数据发送到云以进行推理需要有效的 Internet 连接。通常,这在世界上较发达的地区网络链接做的很好。但是那些没有网络信号的地方呢?通过设备上的机器学习,神经网络可以在手机上运行。这允许开发人员在任何给定时间在任何设备上部署该技术,而不管连接性如何。此外,它可以使 ML 功能民主化,因为用户不需要 Internet 连接到他们的应用程序。

医疗保健是一个可以从设备上的机器学习中受益匪浅的行业,因为应用程序开发人员能够创建医疗工具来检查生命体征,甚至可以进行远程机器人手术,而无需任何 Internet 连接。该技术还可以帮助那些可能需要在没有连接的地方访问教室材料的学生,例如公共交通隧道。

移动设备上的机器学习最终将为移动开发人员提供创建应用程序的工具,这些应用程序可以使世界各地的用户受益,无论他们的连接情况如何。即使没有互联网连接,由于新的智能手机功能强大,用户在离线环境中使用应用程序时也不会受到延迟问题的困扰。


降低你的业务成本


移动设备上的机器学习也将为你节省一笔财富,因为你无需向外部提供商支付费用来实施或维护这些解决方案。如前所述,你不需要云或 Internet 来获得此类解决方案。

GPU 和 AI 专用芯片是你可以购买的最昂贵的“云服务”。在设备上运行模型意味着你不需要为这些集群付费,这要归功于当今日益复杂的神经处理单元(NPU)智能手机。

避免移动应用和云数据中心之间繁重的数据处理对于使用设备内机器学习解决方案的企业来说是一个巨大的成本节省。通过这种设备上的推断可以降低带宽需求,最终节省大量的成本。

移动开发人员还可以大大节省开发过程,因为他们不必构建和维护其他云基础架构。相反,他们可以通过较小的工程团队实现更多目标,从而使他们能够更有效地扩展他们的开发团队。


结论


毫无疑问,云计算在 2010 年代一直是数据和计算的福音,但科技行业正以指数速度发展,而设备上的机器学习可能很快成为移动应用和物联网开发的标准。

由于其减少的延迟、增强了安全性,增加了离线功能和降低成本。毫无疑问,该行业的所有主要参与者都对该技术投入了大量资金,这将重新定义移动开发人员如何推动应用程序创建。

如果你有兴趣了解移动机器学习的更多信息,它是如何工作的,以及为什么它在整个移动开发领域中的重要性,这里有一些额外的资源可以帮助你入门:

  • Matthijs Holleman 的博客 Machine,Think!(https://machinethink.net/blog/)这是在 Apple ML 的移动 ML 框架 Core ML 中一堆很棒的教程和其他内容;

  • 边缘人工智能(视频)(需科学上网):https://youtu.be/6R5pjcqBq6Y;

  • 当然,Heartbeat (http://heartbeat.fritz.ai/)在移动开发和机器学习的交叉领域拥有不断增长的资源库。

原文:https://heartbeat.fritz.ai/machine-learning-and-the-future-of-mobile-app-development-13dd2aeda533

本文为 CSDN 翻译,如需转载,请注明来源出处。作者独立观点,不代表 CSDN 立场。

 热 文 推 荐 

☞ 李彦宏回应百度落后:我们擅长技术含量高的

☞ 在大型项目开发上,Python 真是个“烂”语言!

☞ QQ 将实现注销功能;谷歌发现苹果 macOS 内核严重漏洞;特斯拉降价 34 万惹怒中国车主 | 极客头条

☞13 岁编程!少年比尔·盖茨如何成为最成功的自学成才程序员?

☞ 微信翻译出 Bug 上热搜,程序员又背锅?!

☞ 云评测 | 开发者最有用的开源云监控工具有哪些呢? 这7款神器总有一款适合你!

☞ 学生实名举报, “这个女教授不懂区块链”

☞ 中央音乐学院招音乐AI方向博士生,玩一把代码与音符齐飞?

☞ 为啥程序员下班后只关显示器从不关电脑?

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章!

喜欢就点击“好看”吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存