AI趋势,MCU在边缘运算中的运用
2019-05-14
近几年AI的发展「边缘运算」(Edge Computing)越来越热门。随着硬件芯片的性能提升,让以往只能作为「接收」功能的端口也能用于协助运算,使AI运作更有效率;例如自动煞车系统、智能音箱等,都是边缘运算的实际应用。
本文跟大家解析MCU在AI边缘运算中的应用。
MCU,机器学习的另一种选择
在进入边缘运算之前,先来了解一下何谓MCU?
说到机器学习(Machine Learning)时,你会联想到什么呢?是电影中那种巨大且排满主机的舱房吗?但运用这种方式不仅须消耗大量电力,所排放的废热更是惊人,能使数个国家级的游泳池从冷水变成温水!
传统的机器学习需要数量庞大的主机
然而,其实机器学习(Machine Learning)有更节约能源的方式— 也就是利用MCU。
MCU的优缺点比较
MCU(Microcontrollers)具备其他硬件所没有的优点,比如体积小、价格便宜、省电等,这些特性可为附加的系统降低成本。因此,未来若想让AI应用在生活的各层面,MCU无疑是最佳选择。
不过目前市面上的大量运算装置,大多专注于CPU、GPU,或类似超级计算机的云端(Cloud)。但是MCU在效能表现相对低落,因此目前要将MCU应用于AI运算,看来还有困难。
各类硬件运算效能比较
为了使MCU能于生活的各个面向执行AI运算与应用,一些行业专家,结合各种MCU优缺点,开发出开源项目uTensor,也就是想发展一套基于mbed的精简版TensorFlow框架,实现MCU边缘运算的目标,目前已做出手写识别的Demo。
边缘,现实与虚拟的交界
首先来定义Edge,所谓的「边缘」,其实是虚拟与现实世界的交界边缘(Edge)。从物联网(IoT)到MCU全都属于数字的范围,而数字接触不到的地方,则是现实世界。目前在现实世界中,还有许多信息无法被上传到数字的虚拟世界,因此两者之间的接缝,就是「边缘」。
但问题来了:该如何将现实世界中数量庞大的信息连接到物联网呢?必须部署好几万个感测节点(sensor node)才能达成;但是,并不是每个人、每个环境都具备WiFi、4G/5G等通讯协议支持,那么该如何做?
有行业人士认为,LPWAN的LoRa就是最佳选择。如同下图所示意的发讯塔,如果放在城市大楼的顶端,那么网络的覆盖率达到一、二十公里绝不是问题,虽然比特率(birate)不高,距离越长递减越严重,但长距离覆盖与功耗极低的特性,相当适合拿来进行IoT的传输。
LoRa的发讯特性
那么,另外还有那些适合边缘运算的通讯协议呢?需要从以下两点来检视:首先电力与带宽是首要考虑,再来是传输距离长短。因为边缘运算的理想状态,就是能依靠电池或太阳能供电;带宽则选择长距离、低功耗的LPWAN,在这样的选择下所画出的扇形图(如下图),即为边缘运算可运用的通讯区块。
通讯协议之电力与带宽比较
问题是,此区块中的传输效能不佳,像是音频、视频等类型的数据不可能上传到云端进行运算,因此该如何设计边缘运算,还需要经过仔细的思考推敲。
透过编码与译码,执行边缘运算
目前有一种解决方案是透过人工神经网络(Neural Network)将原有的信息编码(encode)、压缩,缩小其容量,使其能于LPWAN环境下传输到云端,再进行译码(decode)。
因为若将编码、译码分散在MCU装置与云端上分别处理,MCU本身就不需要处理或传输过于庞大的数据;另一个好处是,解碼的云端透过迁移学习(Transfer Learning)替换较为容易,透过同样的装置,便能在云端变换出不同的应用。
迁移学习的运作示意图
小结
回顾上文可以发现,即使科技发展不断追求效能与硬件的表现,但未来最需要的关键词仍然是「永续」;即使超级计算机的运算能力再杰出,若不能有效地普及于日常生活之中,其发展性依然会受到局限。
反观MCU与边缘运算,虽然于现阶段都还存在限制,但随着技术的持续发展,相信在此领域中存在很大空间。