拿到一批新的行业音频数据,第一反应往往是直接丢进模型里跑 微调 (Fine-tuning)。结果训练集准确率飙升到 98%,一上真实环境测试,字错率(WER)反而比基线模型还高。这就是典型的过拟合:模型死记硬背了训练数据的噪声和特定口音,却没学会通用的语音规律。
很多团队在语音识别项目中,容易忽视数据本身的“脏”程度。如果训练数据里充斥着大量背景噪音、重叠说话人或者标注错误的文本,模型会迅速捕捉这些错误特征。
建议先做一轮人工抽检。不需要全量检查,随机抽取 5% 的数据,听一遍音频,对照转录文本。如果发现超过 10% 的标注存在明显偏差,别急着训练,先修数据。干净的小数据集,往往胜过嘈杂的大数据集。
微调不是从头训练。预训练模型已经具备了强大的特征提取能力,我们需要的是“轻触”而非“重锤”。
学习率设置过大,会破坏预训练权重中已有的通用知识。通常建议将学习率设置为预训练阶段的 1/10 甚至 1/100。同时,密切监控验证集损失(Validation Loss)。
一旦验证集损失不再下降甚至开始反弹,立即停止训练。 不要迷信固定的 Epoch 数量,早停(Early Stopping)是最廉价且有效的防过拟合手段。

如果数据量实在有限,可以通过数据增强来模拟真实场景的多样性。但不要只做简单的音量调整,那太单一了。
这些操作迫使模型关注语音的核心语义特征,而不是依赖某些特定的频率片段或时长模式。
对于参数量巨大的模型(如 Whisper 大型版),全参数微调风险极高。可以尝试冻结编码器(Encoder)的大部分层级,只微调解码器(Decoder)或最后几层。
这样既保留了模型对通用语音信号的理解能力,又让它适应新领域的词汇和发音习惯。这是一种折衷方案,但在算力有限或数据稀缺的场景下,往往能取得更稳健的效果。
最后,别只看训练集的数字。找个没参与训练的真实用户录音,跑一次推理。如果那个结果你能接受,才算真正避开了陷阱。
