联邦学习与弱监督在语音识别中的应用
自动语音识别(ASR)模型是语音助手的核心组件,它们越来越多地部署在边缘设备上,以实现更快的响应(无需云端处理)和在连接中断时持续服务。
但ASR模型需要定期更新,以适应新词汇和名称的出现。如果所有本地收集的数据都保留在设备上,更新全局模型就需要联邦学习——设备在本地计算更新,仅向云端传输梯度或模型权重调整。
联邦学习中的一个核心问题是如何标注本地存储的数据,以便用于更新本地模型。我们提出了一种解决方案:一方面使用自监督(用一个版本的模型为另一个版本标注数据)和数据增强;另一方面使用基于隐式用户反馈(如重新表述请求)和跨多轮对话确定的自然语言理解语义的噪声弱监督信号。
实验方法
为了测试我们的方法,我们模拟了一个联邦学习设置,其中数百台设备使用不共享的数据更新其本地模型。这些更新与云端服务器的更新聚合,云端服务器通过历史数据进行回放训练,以防止ASR模型回归。
在缺乏真实转录等强监督信号的情况下,这些创新使得在新用例上的词错误率相对改善了10%以上,同时在其他测试集上的性能下降最小。
噪声学生方法
半监督学习通常使用大型、强大的教师模型为更小、更高效的学生模型标注训练数据。在边缘设备上,由于计算、通信和内存限制,大型教师模型可能不实用。
因此,我们考虑了所谓的噪声学生或迭代伪标签范式,其中本地ASR模型充当自身的教师模型。模型为本地存储的音频标注后,我们丢弃置信度过高(不会教给模型新知识)或过低(可能错误)的样本。获得强伪标签样本池后,我们通过添加噪声和背景语音等元素来增强样本,旨在提高训练模型的鲁棒性。
弱监督与强化学习
我们使用弱监督来防止错误反馈循环,即模型被训练预测错误的自标签。用户通常在多轮会话中与对话代理交互,后续交互可以表明请求是否被正确处理。取消或重复请求表明用户不满意,用户也可能被提示提供显式反馈信号。
特别是,我们使用强化学习来更新本地模型。在强化学习中,模型反复与环境交互,尝试学习最大化某个奖励函数的策略。
我们使用基于(1)隐式反馈和(2)设备端自然语言理解模型推断的语义的合成分数来模拟奖励。我们可以通过计算语义成本指标(例如,NLU模型标记的命名实体也出现在ASR假设中的比例)将NLU模型推断的语义转换为反馈分数。
为了利用这种噪声反馈,我们使用自学习损失和增强的强化学习损失的组合来更新模型。由于反馈分数不能直接用于更新ASR模型,我们使用一个成本函数来最大化预测具有高奖励分数的假设的概率。
实验结果
在我们的实验中,我们使用了3,000个训练轮次的数据,涉及400台设备,这些设备使用自标签和弱监督来计算梯度或模型更新。云端协调器将这些更新与云端服务器上40个伪设备生成的更新相结合,这些伪设备使用历史转录数据计算模型更新。
我们在包含新数据的测试集上看到了超过10%的改进——即当前时间段比过去流行五倍的词汇或短语的语句。云端伪设备执行回放训练,防止在更新模型时对旧数据的灾难性遗忘。