更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front) 软件工程可以很有趣,特别是当你和志同道合的人朝着一个共同目标努力的时候。自从我们启动 uTensor 项目(一种微程序控制器(MCU)人工智能框架)以来,很多人都问我们:为什么要在 MCU 上使用边缘计算呢?难道云和应用程序处理器还不足以构建物联网系统吗?这的确是一个令人深思的问题。我将在本文尝试解释我们项目的初衷,希望能够让读者们发现,它们也是很有趣的。
Mbed 开发板一览表(来源:https://os./platforms/) MCU 是成本非常低的微型计算设备。它们经常出现在 IoT 边缘设备的核心。每年有 150 亿片 MCU 出货,这些芯片无处不在。它们的低能耗意味着可以在纽扣电池上运行数月而无需散热器。它们的简单性有助于降低系统的总体成本。
MCU 的计算能力在过去的几十年里一直在增长。然而,在大多数的物联网应用中,它们只是将数据从传感器转移到云。通常 MCU 的时钟频率为几百 MHz,并封装有数百 KB 的 RAM。考虑到时钟速度和内存容量,转发数据是一件易如反掌的事。事实上,大多时候 MCU 都处于空闲状态。让我们来说明一下: 典型 IoT 应用的 MCU 占用时间与空闲时间的示意图 上图所示为 MCU 的计算预算。绿色区域显示 MCU 繁忙时,可以包括:
蓝色区域代表闲置的、未开发的潜力。想象一下,在现实世界中部署了数以百万计的此类设备,它们都是大量未被利用的计算能力。 如果我们能利用这种力量呢?在边缘设备上我们能做得更多吗?事实证明,人工智能用在边缘设备非常合适。让我们看看一些可以在边缘设备应用人工智能的方法: 投影到 MNIST 基准数据集的 3D 空间(通过 PCA)。(来源:https://www./figure/Projection-into-a-3D-space-via-PCA-of-the-MNIST-benchmark-dataset-This-data-set_fig3_261567034) 简单的图像分类、手势识别、声音检测和运动分析,都可以在边缘设备上完成。由于只传输最终的结果,因此我们可以最大限度减少延迟,提高隐私性并节省物联网系统中的带宽。左图显示了投影空间中的经典手写数字数据集 MNIST。 超级传感器的图例,包括加速计、麦克风、磁力计等。(来源:https://www./s/607837/this-mega-sensor-makes-the-whole-room-smart/) 利用机器学习和其他信号处理算法,不同的现成传感器可以组合成一个合成传感器。这种类型的传感器能够探测复杂的事件。与基于相机的系统相比,这些传感器的成本更低、更节能。 访问此 URL:https:///2017/05/11/google-funded-super-sensor-project-brings-iot-powers-to-dumb-appliances/ 可以找到超级传感器的一个很好的例子。 联合学习的一个实例(来源:https://research./2017/04/federated-learning-collaborative.html) 设备可以在现场部署后进行持续改进。Google 的 Gboard 使用了一种称为联合学习(federated learning)的技术,它涉及到每个设备收集数据并进行个别改进。这些单独的改进集中在一个中心服务上,然后每个设备都被更新到合并的结果。 可以对神经网络进行分区,这样就可以在设备上对某些层进行评估,并在云中对其余的层进行评估。这样做可以平衡工作负载和延迟。网络的初始层可以被视为特征抽象函数。当信息通过网络传播时,它们会抽象为高级特征。这些高级特性比原始数据占用的空间要小得多,从而使它们更容易通过网络传输。IoT 通信技术,如 Lora 和 NB-IoT 的有效载荷大小非常有限。特征提取有助于在有限的有效负载中打包最相关的信息。 IoT 的 Lora 网络设置的一个实例(来源:https://blog./lora-and-2g-in-one-module/) |
|