谷歌自成立以来一直致力于高效地组织世界上的信息,使人们能够方便地获取信息。这意味着需要确保各种语言的用户都能便捷地获取信息。这一愿景在谷歌助手这样的产品中得到了体现,其中涉及到了多种语言的语音识别技术,这成为了研究人员面临的挑战。
高质量的自动语音识别系统需要大量的音频和文本数据集,尤其是对于深度学习模型而言,所需数据量更为庞大。然而,许多语言并没有足够的数据支持。
因此,如何在数据不足的情况下维持语音识别系统的性能?近年来,知识迁移的研究为这一挑战提供了一种可行的方法。通过将数据丰富的语言上学到的知识迁移到数据匮乏的语言上进行微调,而不需要在新语言上从头开始。这一研究领域逐渐发展为多语言语音识别,旨在开发出能够基于单一模型处理多种语言的系统。
在不久前结束的国际会议Interspeech 2019上,谷歌的研究人员提出了一种基于端到端的大规模多语言识别方法,该方法可以在单一模型中实现多种语言的实时识别。他们使用九种印度地方语言进行了验证,证明这种方法能够有效提升数据不足语言的识别质量,同时也能提高数据丰富的语言的识别效果。
研究人员将重点放在印度的九种主要语言上,主要是考虑到印度语言环境的多样性。印度至少有100万人使用的语言超过30种,而且由于地理和文化的原因,这些语言在发音和词汇方面存在重叠。此外,许多印度人会使用两种甚至三种语言,这使得多语言的使用在对话中十分常见,为训练单一的多语言模型提供了天然的样本。
在这项研究中,科研人员针对九种印度的主要语言构建了多语言模型:印地语、马拉地语、乌尔都语、孟加拉语、泰米尔语、泰卢固语、卡纳达语、马拉雅拉姆语和古吉拉特语。
传统的自动语音识别模型中,声学、发音和语言模块通常是相互独立的,当基于这种方法构建多语言模型时,就会变得非常复杂且难以规模化。而端到端的模型则可以将语音识别中的声学信号、发音和语言元素整合到一个神经网络中,保证了模型可以规模化使用和参数共享。
尽管最近的研究工作已经将端到端模型扩展到多语言上,但这些模型还无法满足实时语音识别的需求,而这正是谷歌助手和语音搜索所需要的。为了应对这一挑战,研究人员选择了循环神经网络转换器(Recurrent Neural Network Transducer, RNN-T)来实现端到端的流式自动语音识别。然而,RNN-T系统每次只能像人类打字一样逐字符输入,不支持多语言。因此,研究人员在此基础上进一步改进,构建了低延迟的多语言语音识别模型。
由于数据分布不均,使用大规模真实数据训练多语言模型非常困难。各种语言的数据分布比例不同,导致训练集中占比较高的语言识别结果更为流畅,从而在模型整体上产生偏差,特别是在端到端模型中更为显著。下图展示了九种不同语言在数据集中的占比情况。
为了应对这一问题,研究人员对原有架构进行了改造。首先,在输入端增加了一个额外的语言识别器,它作为一个独立的信号与音频信息同时输入,以独热编码的形式形成特征向量。这样不仅有助于区分语言,还能结合不同语言的特征向量,从而有效解决数据分布不均的问题。
为了在全局模型中构建具体语言的表示,研究人员通过加入残差适配器模块为每种语言提供额外的参数。适配器模块可以帮助全局模型在每种语言上进行优化,并保持单一全局模型的参数效率,从而提升模型性能。
通过这些改进,该多语言模型的性能超过了单语言识别器,尤其对于数据量较少的语言,性能提升更为显著。
这种流式端到端模型简化了训练和部署过程,适用于语音助手等低延迟应用。未来,研究人员将继续扩大研究范围,不断增加对世界各地用户语言的支持。
若想了解更多详细信息,可以参考论文链接: https://arxiv.org/pdf/1909.05330.pdf
希望以上改写内容符合您的需求。如果您还有其他修改意见或需要进一步调整,请随时告知。