本文总结于西工大音频语音与语言处理实验室(ASLP@NPU)负责人-谢磊教授
在深蓝学院的公开课——智能语音技术的新进展与发展趋势—NPU-ASLP视角。
大家好!感谢深蓝学院的邀请!我代表西工大音频语音与语言处理研究组向各位汇报一下我们实验室在智能语音技术方面的一些进展,基于实验室多位同学研究工作的总结。
针对人类语音的研究是一门典型的交叉学科,涉及声学、听觉、信号处理、语音语言学、生理学、认知科学、统计学、机器学习等众多领域。语音处理主要针对人类的语音作为研究载体,除此之外,对声音的研究非常广泛,比如环境声、音乐等,统称为听觉(音频)信息处理。如果把做和声音相关研究的人员加在一起,会是一个特别庞大的群体,个人感觉规模不会少于CV领域。
关于今天的主题——智能语音交互,主要是人和机器通过语音作为媒介进行自然交互的形式,从语音交互圆环(speech circle)这张图看,涉及到的核心技术主要包括四个方面,首先通过语音识别(ASR)转成文字,如果语音信号质量不好的话,前端会有一个语音增强模块;然后是口语语言理解,接下来是对话管理和口语语言生成,而最终通过文语转换(TTS)生成语音回馈给用户。
智能语音技术的范畴
回顾语音识别的发展,在2000年之前,语音识别的错误率有明显的改善,而在2000年到2010年期间,我们做的很多努力很难再去进一步降低识别的错误率。在大概2010年后,在深度学习的推动下,利用大数据、机器学习和大算力这“三驾马车”,语音识别的识别准确度再一次明显提升,错误率再一次下降,并且在一部分数据集上实现了媲美人类语音识别的精度。
语音识别是智能语音范畴内的一个典型任务,除此之外,智能语音的任务还包括语音编码、语音增强、关键词检出、声纹识别等一系列任务,而智能语音技术能够服务的方向主要包括三方面,一是自然人机交互,二是自然人人交互,还有就是内容分析与挖掘,垂直落地的应用非常多,场景广泛,价值巨大。
智能语音涉及的具体方向众多,而接下来我将围绕着我们实验室重点关注的三个方向——语音增强、语音识别和语音合成来展开介绍。
关于语音增强,这是一个非常经典的研究课题,它的基本目的是减少噪声干扰,提高语音质量。在麦克风拾音时,会遇到语音随距离增加而造成的衰减、信道畸变、房间混响、声学回声,各种噪声干扰和人声干扰等众多问题。传统的基于统计信号处理的语音增强可以提供良好的平稳噪声抑制能力,而以数据驱动的深度学习方法则将非平稳的噪声的抑制成为了可能。
关于深度学习在语音增强中的应用大致可以分为三个阶段,开始的研究工作主要围绕基础的Masking和Regression范式,当时的网络的结构比较简单,主要针对幅度谱建模,损失函数主要是MSE。
在第二阶段,研究者们展开了更大胆的尝试,这体现在网络结构的多样化,包括CRN,Tasnet,生成对抗网络(GAN)的使用和最近的Transfomer结构;而建模也从时频域延伸到直接在时域建模;损失函数更更多样化,包括MSE、SI-SNR和PESQ等形式。
而在现阶段,AI降噪开始落地应用,包括TWS耳机、在线会议系统等场景,在线会议和直播后台等应用中,可能都已经有了AI语音增强网络的嵌入,技术方面还出现了复数形式的网络和各种更为精细化设计的网络结构。此外,还有利用声纹先验信息的个性化语音增强或称之为目标说话人提取。
基于DCCRN复数神经网络的语音增强
关于语音增强,我们实验室的同学在去年的Interspeech上发表了Deep Complex Convolution Recurrent Network(DCCRN)这个工作,DCCRN采用经典的U-Net结构,在CRN的基础上综合了复数卷积以及LSTM瞬态建模的优势。
它在模型复杂度和低延时(40ms)的要求下,具有高性能降噪能力。在去年的Interspeech深度噪声抑制竞赛(DNS)的实时赛道中,取得了第一名的成绩,这篇论文当前在google scholar上的引用已经达到了100次。基于深度学习语音增强的一个问题在于需要做降噪量和语谱保真上的折中。
在今年,我们在DCCRN的基础上又提出了同时兼顾听感与降噪的复数增强网络DCCRN ,在具有高降噪量的同时,提升语音的保真度。它的贡献主要包括,一个基于”可学习”的子带划分与合并,减少模型大小和计算复杂度;二是实现了频域和时域序列同时建模;三是通过“卷积通道”获取编码器每层输出的更丰富的信息;四是以信噪比估计作为辅助任务,降噪的同时提升听感;五是在后处理中去除残留噪声。
DCCRN :兼顾语音保真与降噪量的复数增强网络
人们对于语音通话的体验要求越来越高,比如更高采样率、甚至具有空间方位感的沉浸式开会体验。近期在DCCRN的基础上,为了处理超带宽的语音数据,我们还提出了超带宽语音增强模型S-DCCRN,用于增强32KHz采样率的带噪语音。它的主要贡献包括:
1.首先利用子带DCCRN精细化学习高低频信息,然后全带DCCRN结合高低频信息,起到平滑衔接作用;
2.同时,通过网络学习动态调整不同频带能量;
3.在和16K降噪模型保持相同的较低频率分辨率的同时,通过复数特征编码从谱上获取更多的信息。
自去年推出DCCRN以来,目前已经在这个上面有很多扩展性的工作,包括我们自己的DCCRN ,S-DCCRN,以及同时做去混、降噪和分离的DesNet,阿里、NTNU等单位也做了多通道上的扩展,值得注意的是近期微软把DCCRN用于个性化语音增强即目标说话人增强,推出了pDCCRN方案。除了DCCRN系列,近期我们也推出了Uformer,基于复数和实数Unet和卷积核膨胀双路Conformer,具有更为强大的能力。
接下来我们展开关于深度学习语音增强发展的相关讨论。目前,虽然基于AI的降噪已经有一定的应用,但是在很多场合,采用的还是基于信号处理的方案,而“AI降噪”在实际落地的时候,出于对于资源的考虑,很多精细设计的模型无法发挥优势。如何将信号处理和深度学习有机的结合在一起也是值得深度探索的。
此外,语音增强除了给人听外,另一个重要目的是为了更好的服务于包括语音识别在内的下游任务,而现状却是深度学习语音增强给语音识别带来的提升有限,甚至有些情况可能是副作用,这是因为语音识别通过多场景训练策略已经考虑到了噪声的影响,同时端到端语音识别模型的能力很强,深度学习语音增强处理过的语谱语音识别模型却没有见过。
我们可以尝试在训练过程中,把增强后的数据和原始数据同时加入,进行联合训练,甚至前后端联合建模。但是在实际使用中,我们往往希望完全解耦前后端,不希望联合训练。此外,更细致、全面和快捷的数据仿真方案也可能会提升模型训练后的效果。与此同时,而视觉、声纹等先验信息的有效利用也是提升语音增强模型效果的重要途径,近期我们也看到了这个方向上非常多有益的探索甚至开始落地。
WeNet语音识别工具包
关于语音识别,端对端的方案在这两年得到了更广泛的认可,大家可以关注下我们在解决领域适配或专有名词识别不佳的Cascade RNNT方案以及简化Conformer计算复杂度的方案。此外,我们发布的WeNet作为一个轻量级端到端语音识别全栈解决方案,功能不断丰富,包括对于语言模型的支持、端点检测、时间戳对齐、以及预训练模型的支持等等。众多学术界和工业界的同行们也在围绕它展开更多的扩展。
语音识别虽然已经在各个应用领域落地,但是仍然不能说是一个完全解决了的问题,因为实际应用场景面临各种挑战,总结而言挑战主要包括鲁棒性、低资源和复杂场景三个方面。
鲁棒性的典型问题包括口音方言、语种混杂或多语种、领域适配等;低资源是指系统部署的资源有限和标注数据缺乏的场景,前者典型的是AIoT场景下各种端侧设备部署对模型大小、算力的限制,而标注数据缺乏也是限制语音识别走向各个垂域和语种的关键因素,因为垂域太多了,缺乏标注数据的小语种太多了;语音识别在部署时面临的场景可能非常复杂,例如多人会议、自然对话等场景,各类复杂噪声干扰等。为了解决这些问题,无监督自学习、前后端一体化、语音语义一体化提供了可能。
接下来分享的是我们在端侧部署指令识别上的相关工作。在端侧部署进行指令识别时,遇到的最大的问题之一就是指令混淆的问题,比如控制空调的“二十一度”可能误识别成“十一度”,两个指令发音上很接近,语速一快可能就识别错了。
对此,我们近期提出了最小序列混淆错误准则(Minimize sequential confusion error(MSCE) training)用于指令识别模型的判别式训练。MSCE通过增加指令间区分度,来缓解混淆词错误。虽然语音任务本身是序列标注任务,但是指令词之间可以认为是单个分类任务,对于分类任务,可以使用MCE准则进行区分性训练,增大类间区分性。
此外,使用CTC准则作为序列到类别的桥梁,在此基础上增加指令间的区分性。感兴趣的同学可以关注我们后续发布的论文。实验表明,MSCE在空调指令识别任务上有14--18%相对混淆错误的降低。第二个工作是关于多说话人的语音识别,我们提出了基于说话人条件链的非自回归多说话人语音识别方案,迭代式地预测每个说话人的输出,通过说话人条件链建模每个输出之间依赖性, 每次迭代使用 Conformer-CTC 进行非自回归并行解码 ,该方案可以处理不同混合说话人混合数目的语音。
在对话语音识别中,有效利用上下文信息是非常直观的想法。我们尝试了进行跨句注意力机制建模,通过在Transfomer中引入残差注意力编码器和条件注意力解码器,引入额外的历史信息,从而在HKUST、Switchboard等数据集中实现了更好的识别效果。
还有一个工作的思路是通过语义去“反哺”语音,通过考虑对话局部连贯性、角色偏好、说话人轮转等对话语音的独特性,学习对话中的特征信息,在多个代表数据集上的结果也说明了这一方案的有效性。
接下来给大家分享的是我们牵头开源的几个数据集。第一个是AISHELL-4,它是用于语音增强、分离、识别和说话人日志的中文会议场景语料库,有120小时左右的时长。
另一个是AiMeeting 120小时会议语音数据集。这两个都是真实会议场景录制的多通道语音数据,特别适合会议场景的相关研究。基于这两个语料库,我们还在ICASSP2022上发起了M2MeT会议场景语音挑战赛,包括说话人日志和多说话人语音识别两个任务,同时提供了对应的基线系统。
还有一个就是新近开源的WenetSpeech数据集,它是全球最大的多领域中文语音识别数据集,通过从网络上爬取内容非常丰富的中文语音数据,进行自动化标注和置信度筛选,最终获得了超过1万小时的高质量标注数据,利用该数据和WeNet工具包训练的端到端语音识别模型在SpeechIO的leaderboard上获得了业界SOTA的识别性能。
WenetSpeech:全球最大多领域中文语音识别数据集
最后来汇报一下我们在语音合成领域的一些探索。目前基于序列到序列模型和神经声码器的方案已经获得了广泛引用,甚至在一些限定领域获得了媲美真人语音的效果,然而当前离真正“复刻”人类语音还有很长的路要走。
比如篇章合成、表现力和可控性、低质数据建模、少样本和单样本音色克隆、完全端到端建模、高表现力歌唱合成以及如何把说话和唱歌统一建模做到一个统一的发音模型等。在这些方面,我们实验室近期典型的探索介绍如下。可控对话TTS——实现拟人化的对话语音合成,甚至可以控制合成口语对话的讲话流利程度。
MsEmoTTS是我们近期提出的一个多层级的情感语音合成方案,可以在一个模型框架里实现情感迁移、预测和控制。我们的“单人千面”方案,在每个发音人只有一种风格录音的条件下,实现了有效的风格解耦与交叉,例如朗读风格的发音人可以读唐诗、做客服。
最后,我们在VITS端到端TTS的基础上,做出了多方面的改进,进而又提出了一个端到端歌唱合成方案VISinger。另外,我们也将联合网易伏羲等多家单位在Wenet开源社区开源一个中文歌唱合成数据库,包括一个专业歌手100首左右的中文流行歌曲和高质量的标注,敬请关注。
基于端到端深度学习的语音合成:挑战性问题