全神经设备端语音识别器

谷歌开发者 2019-04-16 11:06

文 / Johan Schalkwyk,Google 语音团队研究员


2012 年,研究表明,语音识别技术可借助深度学习显著提升准确度,很多产品因此开始采用这项技术,例如 Google 语音搜索。 这是该领域变革的开端:此后,每年都会有新的架构出现,不断提升语音识别质量,其中包括深度神经网络 (DNN)、递归神经网络(RNN)、长短期记忆网络 (LSTM)、卷积网络 (CNN) 等。在此期间,延迟问题仍然是人们关注的焦点,毕竟能够快速响应请求的自动助手会让用户感觉更有帮助。 

我们很高兴地宣布推出端到端的全神经设备端语音识别器,为 Gboard 的语音输入功能提供支持。在我们近期的论文《用于移动设备的流式端到端语音识别》中,我们展示了使用 RNN 变换器 (RNN-T) 技术训练的模型。该模型非常紧凑,可放入手机中。这意味着语音识别不再有网络延迟或声音断断续续的问题 — 全新识别器始终可供使用,即使在离线状态下也是如此。该模型在字符级运行,因此只要您开始讲话,模型就会逐个字符地输出单词,就像有人实时打出您讲话的内容一样,完全符合您对键盘听写系统的期望。


此图,比较在识别相同的语音句子时,服务器端语音识别器(左侧面板)和全新设备端识别器(右侧面板)的输出效果。来源:Akshay Kannan 和 Elnaz Sarbar



历史回顾

在过去,语音识别系统是由多个组件构成,其中包括将音频片段(通常为 10 毫秒帧)映射到音素的声学模型、将音素连接起来形成单词的发音模型,以及表达可能的给定短语的语言模型。在早期系统中,这些组件保持独立优化。 

大约在 2014 年,研究人员开始重点训练单一神经网络,以直接将输入音频波形映射到输出语句。这种序列到序列的方法通过在给定音频特征序列的情况下生成单词或字素来学习模型,进而促使 “基于注意力” 和 “倾听 — 注意 — 拼写” 模型得到发展。虽然这些模型在准确度方面前景广阔,但其通常是要检查整个输入序列,并且不支持在输入时流式输出内容,而这正是实时语音转录的必要特征。  

与此同时,当时的生成识别器已借助名为连接时序分类 (CTC) 的自主技术,将延迟时间减半。事实证明,这是 RNN-T 架构创建(此最新版本中采用的架构)过程中的重要一步,可将其视为 CTC 技术的泛化。 



递归神经网络变换器

RNN-T 是一种不采用注意力机制的序列到序列模型。与大多数通常需要处理整个输入序列(我们案例中的波形)以生成输出(语句)的序列到序列模型不同,RNN-T 连续处理输入样本,并流式生成输出符号,而这种属性非常适用于语音听写。在我们的实现中,输出符号即字母表中的字符。RNN-T 识别器在您讲话时逐个输出字符,并在合适的位置加上空格。在此过程中,识别器使用反馈环路将模型预测的符号馈送回模型中,以预测接下来的符号,如下图所示。


RNN-T 示意图,其中输入音频样本为 x,预测符号为 y。反馈环路通过预测网络以 yu-1的形式,将预测符号(Softmax 层的输出)馈送回模型,以确保预测是基于截至目前的音频样本和过去的输出。预测网络和编码器网络是 LSTM RNN,联合模型是前馈网络(相关论文 https://www.isca-speech.org/archive/Interspeech_2017/pdfs/0233.PDF)。预测网络包含 2 层 2048 个单元,以及一个 640 维的投影层。编码器网络包含 8 个此类层。图像来源:Chris Thornton  

  

高效训练此类模型已经非常困难,而随着 新训练技术(该技术进一步将错词率降低 5%)的开发,要完成训练就需要更密集的计算。为应对该问题,我们开发出并行实现方法。如此一来,RNN-T 损失函数即可在 Google 的高性能 Cloud TPU v2 硬件上大批量地高效运行。这使训练速度提升大约 3 倍。 

注:新训练技术 链接

https://arxiv.org/pdf/1712.01818.pdf



离线识别

在传统语音识别引擎中,我们将上述声学、发音及语言模型 “组合” 成一个庞大的搜索图,该图的边缘标记语音单位及其概率。在将语音波形呈现给识别器时,“解码器” 会根据输入信号在此图中搜索最有可能的路径,然后读取该路径采用的单词序列。通常,解码器假设基础模型具有无限状态变换器 (FST) 表征。尽管采用了精密的解码技术,但搜索图的范围仍然很大,就我们的生成模型而言,其大小将近 2GB。由于无法轻易将其放在手机上托管,因此这种方法必须在线连接才能正常工作。 

为了提升语音识别的实用性,我们直接在设备端托管新模型,竭力避免通信网络产生的延迟和固有的不可靠性。正因如此,我们的端到端方法免去了在大型解码器图中进行搜索的需要。而解码过程包含通过单一神经网络进行定向搜索。我们训练的 RNN-T 可提供与基于服务器的传统模型相同的准确率,但大小只有 450MB,能够从本质上更智能地利用参数和更密集地封装信息。然而,即便是针对现在的智能手机而言,450MB 的大小也很大,而且通过此大型网络来传播信号可能会很慢。 

我们使用在 2016 年开发的参数量化和混合核技术进一步缩减模型大小,然后借助 TensorFlow Lite 库中的模型优化工具箱公开发布该模型。模型优化技术为经过训练的浮点模型提供 4 倍压缩能力和 4 倍运行时加速,使 RNN-T 在单核上的运行速度超过实时语音。完成压缩后,最终的模型大小只有 80MB。

我们的全新全神经设备端 Gboard 语音识别器最初仅面向所有使用美式英语的 Pixel 手机发布。鉴于行业趋势,并且随着专用硬件与改进算法的融合,我们希望在本文中展示的技术很快可以应用到更多的语言和更广泛的应用领域。 



致谢

感谢 Raziel Alvarez、Michiel Bacchiani、Tom Bagby、Françoise Beaufays、Deepti Bhatia、Shuo-yiin Chang、Zhifeng Chen、Chung-Chen Chiu、Yanzhang He、Alex Gruenstein、Anjuli Kannan、Bo Li、Wei Li、Qiao Liang、Ian McGraw、Patrick Nguyen、Ruoming Pang、Rohit Prabhavalkar、Golan Pundak、Kanishka Rao、David Rybach、Tara Sainath、Haşim Sak、June Yuan Shangguan、Matt Shannon、Mohammadinamul Sheik、Khe Chai Sim、Gabor Simko、Trevor Strohman、Mirkó Visontai、Ron Weiss、Yonghui Wu、Ding Zhao、Dan Zivkovic 和 Yu Zhang。



更多 AI 相关阅读:

  • 激活地图集:深入探索图像分类的神经网络

  • Gboard 基于 RNN 的手写识别

  • 利用磁共振成像数据估测脑年龄




谷歌开发者 Google 中国官方账号。汇集 Android, Flutter, Chrome OS, AI 等开发技术,以及 Google Play 平台出海相关信息。
评论
热门推荐
相关推荐
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦