说到机器学习,在计算方面,大多数边缘应用程序只执行推理,然而,随着 联邦学习(Federated Learning)等新兴技术的出现,这种情况在未来可能会发生变化。
但就目前而言,在小型微控制器和其他边缘设备上运行机器学习模型已经成为可能,这将带来各种各样有趣的应用。
边缘设备的定义在不同的应用中会有很大的差异,它包括从智能手机到自动驾驶汽车,以及介于两者之间的各种设备。目前,数量最多的边缘设备(也可以连接到网络),很有可能就是智能手机。越来越多的其他设备配备了小型 MCU(microcontroller,微控制器),它们不连接任何网络,用于家庭花园的智能喷水灭火系统等应用。
![22efe737f6fda31efdce61721d2f1b42.png](https://i-blog.csdnimg.cn/blog_migrate/78fb74f2d799e3ec259a7bcffc54825f.jpeg)
各种边缘设备
具体来说,全球智能手机的总数量已达数十亿部。连接的智能设备数量在不断增加,从智能恒温器到门铃,再到送货机器人。这些设备大多靠电池运行(也有像智能助理这样的例外),并连接到 wifi、蓝牙和 / 或移动网络。
在这些设备上进行机器学习时,通常会将设备传感器的数据发送回云端进行推理,该过程具有以下特点:
- 消耗更多的能量(通过有线或无线网络移动数据会消耗能量)。
- 导致应用程序受到较高延迟的影响。
- 由于数据传输和云计算的成本,导致费用更高。
- 需要额外的工作来处理数据隐私和安全问题。
这些高层次的优势使得机器学习模型嵌入到设备上变得至关重要,不过,这也带来了更多的数据隐私和安全问题。
说到机器学习,在计算方面,大多数边缘应用程序只执行推理,然而,随着连邦学习(Federated Learning)等新兴技术的出现,这种情况在未来可能会发生变化。
但就目前而言,在小型微控制器和其他边缘设备上运行机器学习模型已经成为可能,这将带来各种各样有趣的应用。请继续阅读本文,了解如何开始为边缘设备开发机器学习应用程序。
边缘架构
由于边缘产品的类型不同,它们的架构也不尽相同。目前使用的不同架构可以分为 5~6 类,如下图所示:
![afd70471eb77eb25036114a8cb49b7c2.png](https://i-blog.csdnimg.cn/blog_migrate/02b2cf45799853e9b2742125b1868c25.jpeg)
边缘应用架构
基于 ARM Cortex-A 架构的处理器赋能了今天几乎所有的智能手机,而基于 Cortex-M 的微控制器则用于键盘、智能手表、安全摄像头以及我们周围的大量其他产品。
基于 x86 的笔记本计算机、上网本等也有数以百万计的人使用,它们还用于 ATM 和各种其他产品。一些智能手机还搭载了高通(Qualcomm)和华为等公司开