人工智能算法如何有效地运行在嵌入式智能终端(即边缘计算)是近年研究的热点,本文从嵌入式人工智能技术研究的意义以及所面临的问题入手,并从硬件平台、算法设计以及算法部署三个方面展开,阐述嵌入式人工智能技术开发的思路,最后通过一个应用实例说明此开发过程。 随着“AIoT(人工智能物联网)=AI(人工智能)+IoT(物联网)”的发展,若把算法都部署在云平台上进行,会给网络通信带来不小的压力,并且会面临数据传输的延迟性以及安全性等问题,因此并不是所有的智能终端都需要利用云平台来运行,因此如何在智能终端上直接运行算法的边缘计算应运而生。 边缘计算相对于云平台有如下优势:(1)实时性高,不需要传输数据从而减少反应延迟;(2)可靠性高,即使网络断开也能正常工作;(3)安全性高,避免隐私数据被上传;(4)部署灵活,可在各种终端灵活部署;(5)更加节能,嵌入式系统低功耗特性以及减少了传输过程的能耗等;(6)网络流量低,有效抑制了网络拥塞;(7)类人化,人就是作为独立的智能体生存在社会网络中。
当然边缘计算不是为了代替云计算,而是作为云计算的一个补充。 据IDC预测,到2020年将有超过500亿的终端与设备联网,而有50%的物联网网络将面临网络带宽的限制,40%的数据需要在网络边缘分析、处理与储存。边缘计算市场规模将超万亿,成为与云计算平分秋色的新兴市场 [1] 。因此吸引越来越多的公司加入到边缘计算开发当中。 边缘计算就是在嵌入式平台上能有效地运行各种智能算法,从而使终端具有类似人一样的智能。智能算法大致可以归为三类:(1)认知环境,其中包括物体识别、目标检测、语义分割和特征提取功能,涉及了模式识别、机器学习和深度学习等技术;(2)显示场景,其中包括复原算法、三维点云展示和场景生成,涉及了最优化、虚拟现实、深度学习GAN网络等技术;(3)控制机构,其中包括智能控制,涉及了强化学习、神经网络控制等技术。但是边缘计算环境下嵌入式平台的运算能力弱,因此如何能有效的运行各种智能算法是一个很挑战的问题。 随着人们对人工智能越来越深入的研究,边缘计算也有了一系列发展的机会:(1)目前通用的计算机体系硬件体系结构并不符合人脑的结构构成,所以计算效能还有很大的提升潜力,因此这为边缘计算平台提供了弯道超车的可能性;(2)当前的智能算法还有很大改进的空间,例如通过深度学习训练出的特征往往优于人们传统认识的特征(例如边缘和角点特征等),因此这为边缘计算在算法改进上提供了很大空间;(3)边缘计算平台即嵌入式系统往往是实现某种特定的应用,因此可以根据需求对算法进行各种简化,并且可提出合适的部署方案。 结合边缘计算所面临的挑战和机会,本文从硬件架构、算法设计和算法部署三个方面展开边缘计算的开发和应用。
|