雷锋网按:2020 年 8 月 7 日至 9 日,全球人工智能和机器人峰会(CCF-GAIR 2020)在深圳圆满举行。CCF-GAIR 2020 峰会由中国计算机学会(CCF)主办,雷锋网、香港中文大学(深圳)联合承办,鹏城实验室、深圳市人工智能与机器人研究院协办。
从 2016 年的学产结合,2017 年的产业落地,2018 年的垂直细分,2019 年的人工智能 40 周年,峰会一直致力于打造国内人工智能和机器人领域规模最大、规格最高、跨界最广的学术、工业和投资平台。
8 月 8 日,在由深圳市人工智能学会、CCF 语音对话与听觉专业组协办的「前沿语音技术」专场上,中国科学技术大学电子工程与信息科学系副教授凌震华做了题为《基于表征解耦的非平行语料话者转换》的主题演讲。
凌震华副教授
凌震华副教授主要研究领域包括语音信号处理和自然语言处理。主持与参与多项国家自然科学基金、国家重点研发计划、安徽省语音专项等科研项目,已发表论文 100 余篇,论文累计被引 4000 余次,获国家科技进步奖二等奖和 IEEE 信号处理学会最佳青年作者论文奖。在 Blizzard Challenge 国际语音合成技术评测、Voice Conversion Challenge 国际语音转换技术评测等活动中多次获得测试指标第一名。
凌震华副教授现为电气电子工程师学会(IEEE)高级会员、中国计算机学会语音听觉与对话专业组委员、中国语言学会语音学分会学术委员会委员、全国人机语音通讯学术会议常设机构委员会委员。2014-2018 年曾任 IEEE/ACM TASLP 期刊副编辑。
在演讲中,凌震华副教授主要从语音转换所基于的语料类型出发,介绍了平行语料下实现语音转换的技术演变过程,并由此延伸到非平行语料下的语音转换。
其中在平行语料条件下,传统语音转换基于 GMM (高斯混合模型)实现。 2013 年后深度学习技术被引入语音转换任务,基于产生式训练的深度神经网络(Generative Trained Deep Neural Network, GTDNN)等模型相继被提出。不过无论是 GMM 还是 DNN,都面临源与目标语音帧对齐过程中出现的误差和不合理问题。近年来提出的序列到序列(seq2seq)语音转换方法可以有效改善这一问题,提升转换语音的自然度与相似度。
进一步,凌震华副教授谈到了在非平行语料条件下的语音转换,并表示这种场景普遍存在于实际应用中,也更有难度。基于非平行数据构造平行数据,以及分离语音中的文本与话者表征,是实现非平行语音转换的两条主要技术途径。
随后,凌震华副教授重点介绍了所提出的基于特征解耦的序列到序列语音转换方法,该方法在序列到序列建模框架下实现语音中文本相关内容和话者相关内容的分离,取得了优于传统逐帧处理方法的非平行语音转换质量,接近使用同等规模平行数据的序列到序列语音转换效果。
最后,凌震华副教授表示:
我们在进行语音转换的过程中,序列到序列建模方法在时长调整、长时相关性建模等方面有其优势,但是将该方法从平行数据条件推广到非平行数据条件存在挑战。特征解耦是解决这一问题的有效途径,通过序列到序列框架下的模型结构与损失函数设计可以获取相对独立的文本与话者表征,进一步实现非平行数据条件下的高质量语音转换。
以下是凌震华副教授在 CCF-GAIR 2020 「前沿语音技术」专场中的演讲内容全文,雷锋网对其进行了不改变原意的编辑整理:
谢谢大家,今天我的报告题目是《基于表征解耦的非平行语料话者转换》。
之前各位老师已经介绍了语音技术领域的若干研究任务,如声纹识别、语音分离与增强等。话者转换是一种语音生成的任务,同时这个任务也和说话人的身份信息相关——之前介绍的声纹识别是从语音中识别身份,而话者转换是对语音中身份信息的控制和调整。
我的报告会围绕三个部分进行:
话者转换的任务定义;
平行语料和非平行语料的话者转换方法;
基于表征解耦的非平行语料话者转换方法。
话者转换,又称语音转换,英文名为 Voice Conversion,指的是对源说话人的语音进行处理,使它听起来接近目标发音人,同时保持语音内容不变。
类比于计算机视觉领域的人脸替换工作,如 Deepfake 等,话者转换是对语音信号中的说话人身份信息进行处理,其应用领域包括娱乐化应用和个性化的语音合成等。同时,身份的匿名化、一致化也会使用到话者转换技术。
话者转换技术经过了从规则方法到统计建模的发展历程。现阶段的基于统计建模的话者转换方法,其转换过程通常包括三个主要步骤:
源说话人语音输入后,首先经过声码器从语音信号中抽取声学特征,如梅尔谱、基频等;进一步通过声学模型P(Y|X)进行由源说话人声学特征X到目标说话人声学特征Y的映射;映射得到的声学特征最后通过声码器重构语音信号。
今天我们介绍的内容主要围绕中间的统计声学模型展开。在对于话者转换任务的背景介绍后,下面着重介绍平行语料和非平行语料条件话者转换任务的区别、主要方法,以及我们做过的一些相关工作。
那么什么是平行语料?
在训练阶段,如果源和目标两个说话人朗读过同样的文本,就可以得到他们之间的平行语料。基于平行语料,可以直接建立转换模型描述两个说话人声学特征之间的映射关系。在转换阶段,输入新的源说话人声音,就可以通过转换模型进行目标说话人声学特征的预测。
在深度学习出现之前,在平行语料语音转换中,最经典的方法是基于高斯混合模型(GMM)的方法。
其基本的策略是,两个说话人录制了平行语料后,考虑到两个人的语速、停顿等不一致带来的声学特征序列长度差异,需要先利用动态时间规整(DTW)算法进行序列的对齐,得到等长的 X 序列和 Y 序列。接着,将每个时刻的源说话人声学特征与目标说话人声学特征进行拼接,进一步训练得到两个发音人声学特征的联合概率模型P(X,Y)。
进一步,我们由 P(X,Y) 可以推导出 P(Y|X)。在转换的时候我们就可以把源说话人的声学特征X 送到模型中,将目标发音人声学特征Y预测出来。使用的预测准则包括最小均方误差(MMSE)和最大似然估计(MLE)等。
不过,基于 GMM声学建模的语音转换质量还是不尽如人意。一方面转换的音质不够高,声音听起来有机械感;二是和目标人的相似度不够好。这些都和声学模型的精度不足有关系。
针对以上问题,自2013年开始,深度学习被广泛应用与语音转换的各个技术环节,如特征表示、声学建模、声码器等。今天重点关注的是声学模型,即如何更好的建模P(Y|X)。
现在来介绍我们早期所研究的一种基于深度神经网络(DNN)的语音转换方法,该方法使用的是逐帧转换的DNN声学模型。由于将DNN模型直接用于源说话人声学特征到目标说话人声学特征的映射,并基于传统MMSE准则进行模型参数更新,所取得的性能提升有限。因此,我们设计了一种产生式训练方法,用于训练语音转换DNN 模型参数。其思路是,先训练两个受限玻尔兹曼机(RBM)模型,将 X 和Y分别映射到相对紧凑、高效的二值表征;然后再建立一个双向联想记忆(BAM)模型,描述两个发音人二值表征间的联合概率;最后组合RBM和BAM,形成 DNN 模型,该模型参数不再需要基于MMSE准则的参数更新。实验结果表明,该模型对比 GMM在主观质量上具有明显优势。
不管是前面说到的 GMM 模型还是 DNN 模型,描述的都是帧到帧的映射关系,在模型训练阶段都离不开帧对齐步骤。对齐的过程难免产生一些对齐的误差与不合理的地方,这会影响语音转换的效果。
另外,这样的帧到帧映射模型不能转换时长。而实际情况是有的人说话比较快,有的人说话比较慢,怎么把说话人的语速特点体现出来呢?
后来,我们受到序列到序列神经网络在机器翻译、语音识别、语音合成等领域的应用启发,将序列到序列建模引入话者转换,以改善以上问题。我们的策略是利用结合注意力机制的编码器-解码器模型,直接建立输入源说话人声学特征序列与目标发音人声学特征序列之间的转换关系,中间不需要对齐操作,可以实现对于时长的控制和调整。将序列到序列建模用于话者转换任务,面临序列长度较长、数据量有限等困难。因此我们在模型结构设计上也做了一些针对性的考虑。
这是我们设计的模型结构。模型输入除了从源说话人语音中提取的声学特征序列外,还拼接了利用语音识别声学模型提取的文本相关特征,以协助序列对齐。模型输出就是从目标说话人平行语句中提取的声学特征序列。其中输出与输入序列长度并不一致。
模型采用结合注意力机制的编码器-解码器结构。为了降低序列长度过长对于建模的影响,我们在编码器中使用了金字塔结构的递归神经网络,以保证对齐效果。
以下是实验结果。图中横坐标是真实目标说话人语音的时长,纵坐标是转换后的语音时长。如果语音转换模型有比较好的时长调整效果,那么数据点应该落在对角线上。图中绿色点所示的是传统逐帧转换方法的结果,从中可以看出源与目标发音人之间显著的语速差异。红色点对应的是所提出的序列到序列语音转换方法,可以看出其取得了良好的时长转换效果。
进一步,我们来探讨非平行语料条件下的语音转换。这是一个更有挑战性的任务。由于很多时候我们需要使用已有数据构建话者转换系统,因此非平行数据条件在实际应用中普遍存在。
已有的非平行语料语音转换大体上有两个思路:
基于非平行数据构造平行数据。构造方法包括语音合成、帧挑选等。CycleGAN神经网络模型也可以归入此类方法。
分离语音中的文本与话者表征。包括利用语音识别器提取音素后验概率(PPG)的方法,以及基于自编码器与变分自编码器的方法等。
以Voice Conversion Challenge 2018 (VCC2018) 国际话者转换评测为例。其包括两个任务,主任务是平行数据条件,辅任务是非平行数据条件。我们针对此次评测,设计实现了基于PPG的语音转换方法。该方法利用语音识别模型从源话者语音中提取瓶颈特征作为话者无关的文本内容表征,同时利用目标说话人数据建立文本内容表征到声学特征的映射模型。由于该映射模型针对每个目标说话人分别建立,因此不需要平行语料就可以实现。
在VCC2018评测结果中,我们提交的参测系统在两个任务上均取得了转换语音自然度与相似度指标的第一名,其中自然度平均意见分(MOS)达到 4 分,相似度达到 80% 以上。
最后我再介绍一下我们近期开展的基于序列到序列模型框架的非平行语音转换方法的研究工作。虽然前面介绍的VCC2018方法可以取得较好的非平行语音转换效果,但是其仍存在一些不足。例如,基于语音识别器提取的文本内容表征中难以保证不含有说话人相关信息、语音识别模型和转换生成模型没有联合训练、仍采用帧到帧映射的模型框架等。
因此,我们提出了一种基于表征解耦的序列到序列非平行语音转换方法。该方法在序列到序列建模框架下,可以实现对于语音中文本相关内容和话者相关内容的有效分离。其核心思想如图所示。在训练阶段,利用识别编码器和话者编码器分别提取语音中的文本和话者相关表征。同时我们通过训练准则的设计保证这两种表征相互独立,不会纠缠。在训练过程中,我们也会利用语音对应的转写文本。从转写文本中提取的信息可以为从语音中提取文本表征提供有效参考。在合成阶段,通过组合从源说话人语音中提取的文本表征,以及目标说话人的话者表征,可以实现从源说话人语音到目标说话人语音的转换。
整个的模型结构如下图所示,由文本编码器、识别编码器、话者编码器、辅助分类器、解码器共5个主要模块构成。其中识别编码器和解码器类似与语音识别与语音合成模型,均采用结合注意力机制的编码器-解码器结构。文本编码器用于从转写文本中提取文本表征。解码器可以接收来自识别编码器或者文本编码器的输出,结合话者编码器给出的话者表征,进行声学特征的重构。辅助分类器用于实现与识别编码器的对抗学习,以保证识别编码器提取的文本表征中不含有说话人相关信息。由于时间原因,各模块具体的模型结构不再一一展开介绍。
以上各模块在训练阶段联合优化。为了实现有效的表征解耦,我们共设计了7种损失函数用于指导模型参数更新,包括音素分类损失、话者表征损失、对比损失、对抗训练损失、重构损失等。
以下是一些实验结果。从客观评测结果中可以看出,对比CycleGAN和VCC2018两种非平行语音转换方法,我们提出的方法可以取得最优的梅尔倒谱失真(MCD)以及清浊判决错误(VUV)。在转换时长误差(DDUR)上,所提方法由于采用了序列到序列建模框架,也显著优于其他两种方法。在主观评测中,我们所提出的非平行语音转换方法,也取得了接近序列到序列平行语音转换的性能。
总结报告内容,序列到序列话者转换方法在时长调整、长时相关性建模等方面有其优势,但是将该方法从平行数据条件推广到非平行数据条件存在挑战。特征解耦是解决这一问题的有效途径,通过序列到序列框架下的模型结构与损失函数设计可以获取相对独立的文本与话者表征,进一步实现非平行数据条件下的高质量语音转换。
另一方面,现阶段的话者转换技术还面临一些挑战,包括跨语种转换、低质数据场景、可控转换、实时转换等,这些都是后续值得进一步深入研究的内容。
以上是我的介绍,谢谢大家!