158、TinyML模型训练最佳实践:持续学习

发布时间:2026/8/1 4:55:34
158、TinyML模型训练最佳实践:持续学习 TinyML模型训练最佳实践:持续学习昨晚调试一块STM32U5上的手势识别模型,发现部署三周后准确率从92%掉到了78%。用户新增了几个自定义手势,模型开始把“滑动”误判成“点击”。这不是过拟合,是典型的“灾难性遗忘”——新知识覆盖了旧知识,而TinyML设备又不能像云端那样随时全量重训。这个问题在嵌入式ML领域太常见了。今天聊聊持续学习(Continual Learning)在TinyML场景下的落地实践,不是理论堆砌,是踩过坑后的血泪经验。为什么TinyML的持续学习比云端更难云端做持续学习,你有GPU集群、无限存储、随时可以回放历史数据。嵌入式设备呢?Flash可能就2MB,RAM 256KB,没有文件系统,甚至没有操作系统。更致命的是——你不能让用户等待模型重训。我见过一个团队在Cortex-M4上跑全量重训,每次15分钟,电池直接崩了。用户反馈:“这设备用着用着就卡死了。”这不是持续学习,这是持续崩溃。TinyML的持续学习核心矛盾在于:模型需要适应新数据,但资源不允许保留所有旧数据。解决方案不是硬扛,是策略性妥协。弹性权重巩固:给重要参数上“锁”先解决灾难性遗忘。EWC(Elastic Weight Consolidation)在学术界被吹上天,但在嵌入式上直接跑会炸——计算Fisher信息矩阵需要反向传播,对MCU来说太奢侈。我的做法是离线计算+在线冻结。在训练阶段,用PC计算每个参数对旧任务的重要性