在微控制器上使用机器学习:减少内存和CPU使用以节省功耗和成本

# 人工智能与机器学习在微控制器中的应用总结

## 主要观点

Eirik Midttun 在[NDC TechTown](https://ndctechtown.com/)的演讲中强调了人工智能(AI)和机器学习(ML)在解析复杂传感器数据(如振动、语音和视觉)中的实用性。然而,在微控制器上应用机器学习面临的主要挑战是计算能力的限制和成本相关的要求。

## 关键信息

### 挑战
- **计算能力与成本限制**:微控制器的设计受到计算能力和成本的制约,尤其是在电池供电的设备中,CPU使用和内存使用直接影响到能耗和成本。
- **跨领域合作**:开发解决方案需要数据科学家、ML工程师和嵌入式软件工程师的合作,但这些领域之间的协作效率有待提高。

### 应用实例
- **异常检测**:通过监测台扇的加速度计数据,ML可以用于检测操作中的异常。与传统信号处理相比,神经网络和机器学习在这些任务中表现更优,能够更快、更好地开发解决方案。
- **工具与框架**:[TensorFlow](https://www.tensorflow.org/)是一个用于强大计算机的深度学习框架,而[RTLite](https://ai.google.dev/edge/litert)(前身为TensorFlow Lite)可以将训练好的ML模型转换为适合微控制器的实现。

### 能耗问题
- **生成式AI的能耗**:生成式AI的能耗问题日益受到关注,尤其是在电池供电设备中。训练小型ML模型的能耗远低于ChatGPT等大型模型,且运行推理所需的能量非常少。
- **能耗主要来源**:在微控制器领域,无线通信和CPU是能耗的主要来源。ML计算密集型任务会影响CPU利用率,但运行推理所需的能量通常少于无线数据传输。

### 未来展望
- **技术进步**:CPU在技术进步的推动下,能耗将显著降低。现代半导体工艺节点的使用将提高处理器时钟速度,减少执行时间和电能消耗。
- **专用硬件加速器**:类似于计算机中的GPU,专为受限设备设计的硬件加速器将有助于AI的发展。

## 重要细节

### 具体应用
- **数据采集与分析**:设备以100Hz的频率从加速度计收集传感器数据,通过频谱分析处理后,由边缘优化的神经网络对输入数据进行分类。使用k-means算法分析分类结果以检测异常。
- **系统集成**:台扇的继电器设置允许系统在检测到异常时切断电源。

### 学习经验
- **数据的重要性**:Midttun强调了数据在提供良好解决方案中的重要性。为了提高推理结果,关键在于训练数据的质量,数据科学领域的工作是实现成功的关键。

### 市场现状
- **成熟解决方案**:市场上已有使用ML的微控制器产品,这些解决方案成熟且微控制器高效,足以在电池上运行算法。随着微控制器效率的提高,探索AI和ML的潜力正逢其时。
阅读 19
0 条评论