ASR 纠错会越改越错,Voice Memory 用一个文本文件学会「按住不改」

Voice Memory for Agentic Speech Recognition

Chao-Han Huck Yang, Zih-Ching Chen, Piotr Zelasko, Zhehuai Chen, Jagadeesh Balam, Boris Ginsburg

cs.CL, cs.AI, cs.SD, eess.AS

2026-07-29

给 ASR 纠错加一份人可读的领域记忆(memory.md),推理时逐句决定改还是不改,只有严格提分才更新、全程不动权重。十个领域加权 WER 从 8.36% 降到 7.52%,过度纠错率从 64% 降到 35%。

这篇在解决什么

语音识别(ASR)已经进入低错误率区间,干净语音 WER 不到 2%。但解码器仍会犯领域相关的系统性错误,传统做法是用生成式错误纠正(GER):把 n-best 候选丢给大模型重写。

问题出在低错误率场景。这时候真正的问题不是「模型能不能改对」,而是「该不该动这一句」。强 LLM 倾向过度纠正,把本来就对的 token 也改了,比如把 "home is" 改成 "home's",按自己的习惯统一数字和拼写。结果静态 GER 在低提升空间领域反而把 WER 抬到了比不编辑的 1-best 还高。

方法

Voice Memory 是一套纯推理方案,核心是把「纠正技能」存进一份人可读的文本文件 memory.md,而不是写进权重。它叫 listener-thinker 架构,脱胎于经典的 ASR-LM 级联。

两个角色只通过 memory 这份文件耦合,权重一个都不动,所以学到的技能可审计、可跨纠错器家族迁移。优化器全程是前向传播,没有梯度、没有权重更新。对比微调或 LoRA,它要的数据少两个量级(约 10² 句对 10³ 到 10⁴ 句),产物不到 10KB,还能回退。

结果

主实验在 HyPoradise 的十个领域,用一个开放纠错器(Qwen3-30B-A3B):

指标数值
加权 WER(纠错前)8.36%
加权 WER(Voice Memory)7.52%(加 3 个示例 7.47%)
过度纠错率 HER(金融新闻)64% → 35%
ATIS 航空指令8.40% → 3.40%
CHiME-4 远场12.69% → 10.46%

关键是没有一个领域退化到低于它的 1-best 基线,增益集中在可恢复空间最大的地方:1-best WER 越高的领域提升越大,可恢复信息比 ρ 和 1-best WER 的相关性达到 r=+0.90。

记忆还能跨纠错器家族迁移。换上另一个冻结纠错器(Claude-4.6-Sonnet),同一份记忆照样能用;在 ATIS 上,自生成的记忆甚至超过了 n-best oracle(ρ=1.28)。

为什么重要

这篇的核心结论一句话能讲清:在这里,更好的 agent 就是一份更好的文本文件。它把领域适配从「改权重」变成了「改一份人能看懂的规则文档」,于是变得可审计、可迁移、可回退,推理路径上零新增参数、零额外延迟。

对做 ASR 落地的团队,这意味着领域定制不再需要重训或挂 LoRA,针对每个业务领域维护一份 memory.md 就行,新领域上线是分钟级而不是小时级。

局限与存疑

主分析只在一个纠错器(MiniMax-M3)上做(附录用 Qwen3-30B-A3B 复现)。ρ 和 benign-mass 这两个指标依赖所用句子编码器(all-MiniLM-L6-v2,4-bit)。残差 WER 不等于残差提升空间,在 LibriSpeech-Clean 上 42.9% 的残差错误其实是可原谅的(词外人名、拼写变体)。自生成记忆在重数字格式化的 WSJ 上会吃亏(数据饥饿),在 LibriSpeech 下限处无东西可学。

还有一处逻辑张力:作者把「不退化任何领域」当卖点,但增益最小的几个领域(如 td3、lsclean)ρ 已经接近 0 甚至为负,说明这套机制在低提升空间领域基本是靠「按住不动」在撑场面,而不是真的在纠错。

术语

原文与代码

相关论文

全部论文解读