Google直接在手机布署机器学习模型,脱机也能使用语音输入文本

Google最新的语音识别技术,能直接在设备上放置机器学习模型,让语音转文本识别功能脱机作业,以解决网络限制造成的服务延迟,而且该语音识别模型还能依照用户语音,逐字输入字符,就像是用键盘输入文本的情况一样。

从2014年开始,语音转录文本多使用串行到串行的方法,研究人员开始训练单一神经网络,将输入的音频波形,直接映射到输出的句子,这种串行到串行的方法,是将给定一系列音频特征,生成一系列单词或是拼音系统中最小单位字位(Grapheme)。虽然这种模型大幅提升准确性,但是系统必须分析完整个串行后,才能一并输出结果,因此系统无法边听边输出文本,而Google认为这是即时语音转录的必要功能。

Google新的语音识别技术,采用RNN换能器(Recurrent Neural Network Transducers,RNN-T)训练的模型,这与之前串行对串行的生成模型不同,RNN-T可以连续处理输入的样本,并且串流输出字符,是一个非常适合适于听写的技术。在Google的实例中,模型输出的字符为子母表的字符,RNN-T识别器会逐个输出字符,并在适当的地方加上空格。 Google表示,要有效地训练这样的模型非常困难,但是他们现在可以让单词错误率低于5%。

而且为了提高语音识别的用处,Google在设备放上新模型,直接在设备上进行语音识别分析,以避免网络的延迟和不可靠性。传统语音识别服务的性能,部分取决于用户设备的网络链接状况,语音识别服务必须要将用户的语音或是从中萃取的数据,从手机端传输到服务器进行分析,再将得到的结果送回手机。

Google解释,在传统的语音识别引擎中,声学(Acoustic)、发音以及语言模型构成了一个巨大的搜索图,当语音识别器接受到音频波形,便会在搜索图中找出最相似路径,并读取该路径上的字符串行。传统的搜索图容量非常大,尽管应用了复杂的编码器,生产用模型大小依然接近2GB,而这样的大小无法放在移动设备上,因此必须要依赖链接,靠服务器分析后回传结果。

不过,现在Google的端到端方法不需要在大型的搜索图上搜索,Google训练的RNN-T模型只有450MB,就能提供与传统服务器模型相同的精准度,但是即便是450MB,对移动设备来说仍然太过庞大,Google在2016年开发了模型参数量化以及混合核心技术,再加上TensorFlow Lite函数库中的模型优化工具,大幅缩减模型容量。

模型参数化拥有比起训练的浮点数模型高4倍的压缩率,执行速度快4倍,Google最终压缩的模型只有80MB,因此可以放在手机上,提供脱机语音识别服务。目前Gboard语音识别器仅能在Pixel手机上,使用美国英文。