“为了全人类更好地交流”:通用语音识别

发布时间:2023-04-24 07:00

摘要

语音识别往往是人机交互的初始步骤,是将人类的自然语言转化为计算机可以读取的内容,一般就是人类也可以理解的文本,当然也允许其他的形式。传统的语音识别和语音合成一样,涉及到语言学、声学、数字信号处理等多门科学技术,是一项复杂的系统性工程。而人工智能的发展也大大提升了语音识别的准确性和易开发性,使得这项诞生已经半个世纪的技术在实际中得到了普遍的认可和广泛的应用。这次我们将将随着技术的进化发展,领略当前通用语音模型的进化高度。

背景介绍

在上一篇关于语音的系列文章“‘安静!吵到我用Hey, Github了’:AI语音识别的进展”中我们看到,结合深度学习技术的端到端的语音识别克服了传统方法中的语音与文本的强制对齐问题,也避免了传统方法对于声学模型和语言模型的依赖,依靠当前算力与数据集的优势大大提升了语音识别的精度与速度,使得语音识别的应用达到了前所未有的广泛程度。这里我们介绍了传统方法的演进和端到端方法的总体架构,但事实上端到端方法的演进和变化也异常丰富,这里我们首先会以一些典型例子介绍其中的具体实现。然后值得注意的是,在语音AI演化基础之上,跨多语言的通用语音模型也开始崭露头角,反映了未来这一领域的发展趋势。

 

端到端语音识别模型

如上篇文章所述,一个典型的端到端的语音识别模型通常含有如下主要结构,包括前端特征提取器,CTC分支和attention分支。其中前端特征提取器通常由全连接和含有大于1的stride的卷积层组成,用于降低之后attention层的计算开销。CTC分支则接收attention编码器的输出特征作为输入。它通过模型中引入空文字字符,在使用由全连接层等构成的网络输出文字预测后进行删除空文字字符和合并连续出现的相同字符等规整操作,最终产生合理长度的文字预测。

 

CTC分支对于文字的预测缺少上下文的关联信息,而Attention分支则解决了这一问题。它以文本作为输入,同时接收解码器输出的特征用于cross-attention操作。推理时先给Attention分支输入一个起始符,通过起始符产生第一个字符输出,再不断将新的输出输入回Attention分支,迭代产生文本。训练时为了还原这一迭代过程,需要在分支内进行self-attention操作时对于attention matrix添加下三角矩阵mask,使得每个输入的字符只能与之前已经产生的字符做attention计算,而不能与未来的字符发生关联,保证了和推理的逻辑的一致性。

 

      

端到端语音识别模型的演化

在Transformer结构出现之前, RNN/LSTM和CNN是语音识别的几种主流研究方向。循环神经网络(Recurrent Neural Network, RNN)是一只通过隐藏层的节点连接来捕捉序列型数据的动态信息的神经网络。但由于网络的结构限制,它更适用于捕捉不太长的序列的前后关联信息,对于更长的序列则有较大的局限性。

 

长短时记忆网络(Long Short Term Memory, LSTM)是基于RNN网络的一种改进,适用于对于更长的序列信息的前后关联捕捉。其实现方法本质是在RNN网络中加入了一个对于序列的新输入信息进行判断的处理单元,这个单元内部则包含了输入门、遗忘门和输出门,当新的信息进入LSTM网络后会先使用该单元判断其是否有用,只有当其符合要求才会保留,这样就大大提升了网络处理更长序列的有效性,而不是对于历史信息不加判断地进行单一的累加。

 

相比于RNN类结构的神经网络,卷积神经网络(CNN)天然具有捕获局部特征的能力,因此也可以用在语音识别任务上。但也正因为CNN的局部感受野的限制,使得它只能在局部范围内对语音和文本进行建模,而缺少了RNN的全局建模能力。基于这一点出发,诞生了ContextNet[1],它引入了一种squeeze-and-excitation(挤压和激发)的机制,如图1所示。它在进行卷积后的音频序列中加入上方的squeeze-and-excitation模块,通过模块中的平均池化层获得了一个具有序列全局信息的一维向量,再经过bottleneck网络和激活层后与原输入点对点的相乘,使得此时进行完卷积计算的序列得以在其中的每个序列位置上都包含了全局信息。

图1. 为了捕获全局信息的squeeze-and-excitation(挤压和激发)机制[1]

图片来源:https://arxiv.org/pdf/2005.03191.pdf

 

后来Transformer结构异军突起,在语音识别领域谷歌在2020年构建并推出了conformer[2]模型,它作为端到端语音识别模型中的encoder部分,其基本思想是可以结合transformer和convolution两种网络结构,其中transformer用于捕获基于内容的全局交互行为,而convolution则注重局部特征的捕获。这两种特征信息对于语音或者文本类信息来说都是具有重要意义的,因此conformer模型推出后获得了很大成功。

 

Conformer模型及其特点

基于上面的讨论,conformer将卷积模块和transformer的自注意力模块进行了融合。其融合的方式其实是受到了Lite transformer[3]的启发,使用了一种三明治结构,如图2中右侧的conformer Block结构图所示。

 

图2. Conformer模型结构[2]

图片来源:https://arxiv.org/pdf/2005.08100.pdf

 

它实际上是将多头注意力模块与卷积模块都夹在了前后两个前馈神经网络模块中,并且在所有的模块之间引入了残差机制,帮助优化深度网络的训练。而这些模块中不仅仅是简单的单层算子,还包含了更多的优化机制,比如卷积模块就包含了序列在通道维度和序列上分别做的点对点一维卷积和深度可分离卷积两种,如图3所示。采用这两种不同的卷积方式其实是将通道维度上的混合单独采用1x1的卷积核来完成,再加以不含通道混合的深度可分离卷积,可以避免大尺寸卷积核伴随通道上的混合,并且可以在卷积核尺寸相同的情况下大大减少参数量并达到接近的效果。这两种卷积算子以一种合并穿插其他算子如Glu激活层、BatchNorm、Swish激活层等的方式构建完成了一个卷积子模块。

 

图3. Conformer中的卷积子模块[2]

图片来源:https://arxiv.org/pdf/2005.08100.pdf

 

相比于基于CNN的模型QuartzNet、基于CNN-RNN-Transducer的模型ContextNet以及基于LSTM和Transformer的模型, 在不另加语言模型辅助的情况下,Conformer在各参数量规模下都取得了SOTA的结果,加上语言模型准确度则有进一步的提高。的确,结合卷积与Transformer的做法取得了不错的结果。

表1. Conformer的测试性能表[2]

图片来源:https://arxiv.org/pdf/2005.08100.pdf

 

Conformer的新发展:谷歌通用语音模型USM

而在最近,Google发布了其20亿参数通用语音模型USM(Universal Speech Model),其最大特点是可以支持100多种语言的自动语音识别,不仅囊括了常用的的语种,更是将诸如阿塞拜疆语、阿萨姆语等小众语言也包含其中,并且可以实现自动检测。这也是谷歌的1000种口语AI支持计划的重要组成部分,通过这一大的计划谷歌希望不仅能够帮助主流语言的使用者,同时也帮助数十亿的小语种使用者能更好地享用AI技术带来的便捷,而这里重要的一步就是让AI能够对如此繁多的语言进行精准的识别,尤其是一些语种的使用人数甚至不足两千万,这些小语种严重缺乏完善的数据集。

 

另外从模型角度来说,怎样使模型能够扩充到如此多的语种上也是一个重大的挑战,不同的语言有不同的语调和本地化的特色,不是通过对初始模型简单扩充数据集就可以做到的。

 

首先为了解决数据的问题,Google采用的主要方法是使用大量的非标签数据来训练模型的encoder部分,然后在较小的标签数据集上对该部分进行微调。主要的数据集包含:

       1)非标签音频数据集YT-NTL-U (来自youtube网站的1200万小时的语音数据,包含超过300种语言) 和Pub-U (42万小时的语音数据,包含51种语言)

       2)非标签文本数据集Web-NTL(大型多语种文本语料库,包含超过280亿的句子,超过1140种语言)

       3)标签音频文本对应数据集YT-SUP+(9万小时的多语种标签音频文本数据,包含73种语言) and Pub-S (1万小时英文为主的标签音频文本数据)

 

模型方面,主体仍然使用了Conformer,但是这次的参数量提升到了20亿。为了训练这么大的一个语音识别模型,首先在大量的无标签语音数据集上使用BEST-RQ预训练方法对Conformer模型主干进行预训练,使其预先具有多种语言的初始知识。第二步则是在预训练的基础上对模型进行多种目标的进一步训练,这些目标包含无标签语音数据训练,形式匹配训练,监督的语音识别和时延建模损失训练,还有使用RNN-T解码器在非标签文本数据集上进行的文本重建训练。第三步则是在语音识别(ASR)和语音翻译(AST)任务上微调conformer预训练模型。过程如图4所示。

 

图4. USM的训练方法[4]

图片来源:https://lib-arxiv-017.serverfarm.cornell.edu/pdf/2303.01037

图5. USM的多语言效果[4]

图片来源:https://lib-arxiv-017.serverfarm.cornell.edu/pdf/2303.01037

 

从效果图(图5)上看,左图体现了模型对于多语言任务在语言多样性上的扩充能力,可以看到在多种多语言数据集上,USM模型比之前的SOTA模型在错误率上降低了将近一半。中间图和右图是USM分别在语音识别任务和语音翻译任务上对比OpenAI的语音大模型Whisper的结果。

 

Google的USM模型表明训练一个具有优秀的多语音支持能力的语音处理系统是可行的,并且Google已经将其用在了Youtube的自动字幕生成上。另一方面不可回避的是,USM对于小语种的建模能力与大的语种相比仍有不可忽视的差距。

 

结合深度学习技术的端到端的语音识别克服了传统方法中的语音与文本的强制对齐问题,也避免了传统方法对于声学模型和语言模型的依赖,依靠当前算力与数据集的优势大大提升了语音识别的精度与速度,使得语音识别的应用达到了前所未有的广泛程度。我们介绍了几种典型的基于深度学习技术的端到端语音识别模型,也看到了在目前的多语言大数据的规模基础上多语言识别大模型可以实现的方法和高度。语音识别这一领域目前已经深刻地渗透进我们的日常生活中,之后随着这一领域的更加成熟化和多功能化的发展,它一定会是未来人工智能世界的重要组成部分。

 

参考文献

[1] W. Han, Z. Zhang, Y. Zhang, J. Yu, C.-C. Chiu, J. Qin, A. Gulati, R. Pang, and Y. Wu, “Contextnet: Improving convolutional neural networks for automatic speech recognition with global context,” arXiv preprint arXiv:2005.03191, 2020.

[2] A. Gulati, J. Qin, C.-C. Chiu, N. Parmar, Y. Zhang, J. Yu, W. Han, S. Wang, Z. Zhang, Y. Wu et al., “Conformer: Convolution-augmented transformer for speech recognition,” arXiv preprint arXiv:2005.08100, 2020

[3] Z. Wu, Z. Liu, J. Lin, Y. Lin, and S. Han, “Lite transformer with long-short range attention,” arXiv preprint arXiv:2004.11886, 2020.

[4] Y. Zhang, W. Han, et. al., “Google USM: Scaling Automatic Speech Recognition Beyond 100 Languages,” arXiv preprint arXiv:2303.01037

 

 

 

上一个: 通用AI模型的未来:深度强化学习(deep reinforcement learning)

下一个: 人人有“丹”炼—大模型低成本微调技术

近期文章

AI 智能体:应用前景与对算力需求的影响

人工智能技术的迅猛发展,尤其是 AI 智能体这一核心部分。本文讨论了AI智能体的定义、应用前景和其对算力需求的影响。

2023-11-13

查看更多