公司动态
163、TinyML模型训练最佳实践:开源数据集与基准
TinyML模型训练最佳实践:开源数据集与基准昨晚调试一个关键词唤醒模型,在STM32F4上跑推理,准确率死活上不去。折腾到凌晨两点,最后发现是训练时用的数据集采样率和目标硬件不匹配——16kHz的音频被重采样成8kHz喂给模型,而我的麦克风阵列输出就是16kHz。这种低级错误,说出来都丢人。今天这篇笔记,就聊聊TinyML训练中那些“看起来简单、做起来全是坑”的数据集选择和基准测试问题。不是教科书,是我踩过的坑和填坑记录。开源数据集:别被“公开”两个字骗了很多人觉得开源数据集拿来就能用,这是TinyML训练中最危险的认知。我见过一个团队用ImageNet训练的图像分类模型,压缩后部署到Cortex-M4上,推理结果全是噪声——因为ImageNet的图片分辨率最低也有224x224,而他们的摄像头模组输出只有48x48。选数据集的第一原则:匹配目标传感器的物理特性。做关键词唤醒,别用LibriSpeech这种干净语音数据集。LibriSpeech的录音环境是专业录音棚,信噪比40dB以上。你的产品在客厅里用,背景有空调声、电视声、小孩哭闹声。用LibriSpeech训练出来的模型,在真实环境中准确率直接腰斩。推荐几个我实际验证过的TinyML专用数据集:Google Speech Commands V2:35个单词,1秒片段,16kHz采样。这是TinyML语音领域的“Hello World”,但注意它包含的背景噪声类别只有6种,实际部署时建议自己采集环境噪声做数据增