APP下载

基于Style-CycleGAN-VC的非平行语料下的语音转换

2021-09-15高俊峰陈俊国

计算机应用与软件 2021年9期
关键词:特征提取损失语音

高俊峰 陈俊国

(山东科技大学能源与矿业工程学院力学系 山东 青岛 266590)

0 引 言

语音转换是一种在保留语义信息的同时修改语音特征的技术。此技术可用于各种任务,如语音辅助[1]、语音增强[2]和身份转换[3]等。

语音转换可以表述为估计从源语音到目标语音的映射函数的回归问题,在此之前提出的较为成功的方法有:基于高斯混合模型(GMM)的统计方法[4-5];基于神经网络(NN)的方法,如受限玻尔兹曼机(RBM)[6]、前馈神经网络(FNN)[7]、循环神经网络(RNN)[8]、卷积神经网络(CNN)[9];基于范例的方法,如非负矩阵分解(NMF)[10-11]等。

以上VC方法通常使用源语音和目标语音进行时间对齐的平行数据作为训练数据,如果完全对齐的平行数据可获取,则获取映射函数的难度会大大降低。但在实际应用方案中,很难收集到平行数据,即使获取到了足够的数据也需要执行自动时间对齐,因为平行数据中的错位可能导致转换语音质量下降,因此有一定的失败概率,所以这些方案需预筛选和数据校正。

由于训练条件的缺陷,非平行语料下的VC研究难度大且起步晚。当前,一些非平行VC研究使用了自动语音识别(ASR)模块或额外的说话者之间的部分平行语料数据。尽管它们对训练有帮助,但准备附加模块会增加其他成本,从而限制其应用。为了提高普适性和精简性,近期一些研究使用了概率神经网络(例如自适应受限玻尔兹曼机(ARBM)[12]和变分自动编码器(VAE)[13]),这些模型没有多余的数据、模块和时间对齐过程。它们的局限性在于需要显式地近似数据分布(通常使用高斯分布),而这往往会导致通过统计平均造成的过度平滑。为了克服数据分布问题,最近的研究结合了GAN[14],它可以学习接近目标的生成分布而无须显式逼近,从而避免了由统计平均引起的过度平滑。但这些模型难以学习语音的时序性特征。

为进一步提高语音转换效果,Kaneko等[15]提出了CycleGAN-VC模型,此模型将循环一致性生成式对抗网络(CycleGAN)[16]应用到语音转换中,使用了门控CNN来配置CycleGAN,并使用身份映射损失[17]进行训练,这使得网络可以更好地保留语音信息的同时捕获顺序和层次结构。CycleGAN-VC的局限是只能用于两个训练样本之间的语音转换,为解决多说话人的语音转换问题,日本的NTT实验室又提出了StarGAN-VC[18],但仍旧只能解决训练的几个特定说话人间的语音转换。

尽管CycleGAN-VC已经在非平行数据下取得不错的成果,并且之后又提出了修改生成器和判别器结构的CycleGAN-VC2[19],但其实际语音转换效果仍有较大进步空间。

另外,NVIDIA最近提出的StyleGAN[20]被用来生成高分辨率真实的图片,其核心在于对生成过程的分层精细控制以及对特征的解缠研究。其生成样本的本质是对不同训练样本的特征进行融合。

本文提出一种基于Style-CycleGAN-VC的非平行语料下的语音转换新方法。其主要思想是将StyleGAN精细的生成器结构融合到CycleGAN-VC的生成器网络中,添加辅助的特征提取神经网络提取频谱特征用于特征融合,并通过构造超参数来控制特征提取网络对转换网络架构的影响。实验表明,新模型提高了语音转换效果且实现了任意说话人间的语音转换。

另外,Style-CycleGAN-VC与Info-GAN[21-22]有较大不同。Info-GAN通过带有互信息的损失函数,使其更倾向于生成数据的抽象特征与输入隐码之间联系的可解释性,而本文模型则更倾向于生成数据的真实性及不可分辨性。

1 生成式对抗网络模型

生成式对抗网络以一种非监督学习的方式,通过让两个神经网络相互博弈的方法进行学习。生成对抗网络由一个生成网络和一个判别网络组成,生成网络从潜在空间中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能地分辨出来,而生成网络则尽可能地欺骗判别网络,两个网络相互对抗,不断调整参数。生成对抗网络常用于生成以假乱真的图片。

1.1 CycleGAN模型

CycleGAN由两个生成网络和两个判别网络组成,生成网络A是输入A类风格的图片输出B类风格的图片,生成网络B是输入B类风格的图片输出A类风格的图片。生成网络中编码部分的网络结构采用Convolution-Norm-ReLU作为基础结构,解码部分的网络结构由Transpose Convolution-Norm-ReLU组成,判别网络由Convolution-Norm-Leaky_ReLU作为基础结构。其整体结构图如图1所示,其中:X为源数据域;Y为目标数据域;x为X中的数据;y为Y中的数据;G为从X到Y的映射函数;F为从Y到X的映射函数;y2为x通过G映射后生成的数据;x1为y2通过F映射后生成的数据;Dx为判别x2真假的判别器;x2为y通过F映射后生成的数据;y1为x2通过G映射后生成的数据;Dy为判别y2真假的判别器。

图1 CycleGAN整体结构

1.2 StyleGAN模型

StyleGAN为生成对抗网络提出了另一种生成器结构。此结构可以在无监督学习下分离高级属性(例如在人脸上训练时的姿势和身份)和生成图像(例如,雀斑、头发)中的随机变化,并能够直观地、按照特定尺度地控制生成。其详细结构如图2所示。

图2 StyleGAN详细结构

输入图像的整体特征和细微特征间存在耦合,而耦合就导致了图像可控性差,无法对单个特征进行调节。从结构图可以看出,StyleGAN提出了一种无监督但又可控性强的方案,对不同层次的卷积层进行操作,从而最终实现特征解耦和生成特征的可解释性和可控性。

2 Style-CycleGAN-VC模型

无论是目前双向转换效果较好的CycleGAN-VC和CycleGAN-VC2,还是对多说话人进行语音转换的StarGAN-VC,对其生成器进行分析,其训练过程本质上是对语音特征的记忆存储以及融合过程。而StarGAN-VC之所以效果不如CycleGAN-VC,是因为其使用了向量来表示不同的说话人,从而使生成器调用大量网络层参数中的不同部分(不考虑特征耦合)进行生成。但CycleGAN的生成器参数与其相差不多,而且一个生成器只用于存储记录一个说话人的语音特征,所以在语音特征总体和细节上都会更好,从而使得转化效果更好。

对此,本文提出一种Style-CycleGAN-VC对生成器整体结构添加辅助特征提取网络,将之前的特征记忆存储缺陷转化为特征提取过程,并借鉴StyleGAN对生成图片分辨率不同层次的精细控制结构,将其融合到生成器的主结构中,重构损失函数,最终实现语音转换效果的提高和任意说话人下的任意语音转换。

2.1 模型架构

1) 总架构。假设源数据x∈X,目标数据y∈Y,模型的目标是在不使用平行数据的情况下,学习它们之间的映射GX→Y。整个系统分为正向和逆向两部分,二者连接构成循环网络。两部分分别由一个生成器和一个判别器构成,其中生成器由两部分组成,分别是特征提取网络和特征融合网络。选取前向部分进行说明,数据X通过GY→X尝试生成满足Y分布的数据F_Y,判别器Dy通过与真实的目标数据进行对比,判断出F_Y是假的目标数据,从而驱使生成器生成更真实的数据,同时驱使判别器更好地识别数据真假。同时,为了使生成器生成的数据是在语音特征上不是在语音信息上与目标数据接近,一个约束是使用循环网络的另一部分,将F_Y作为输入,通过GY→X生成X’,通过逼近X与X’,来实现语义信息的保留,另一个约束是将Y作为输入,使用GX→Y生成I_Y,通过逼近Y与I_Y,进一步保证语音信息的保留。网络结构的拓扑图如图3所示。

图3 Style-CycleGAN-VC全局架构

2) 生成器和判别器架构。生成器主要由两部分构成,分别为特征融合和特征提取网络,特征融合又分为编码、转换、解码三部分。

(1) 特征提取网络与判别器。特征提取网络可以看作是对需要转化的目标数据的特征提取,与判别器架构类似,判别器结构和参数如图4和表1所示。由于判别器只通过将频谱的特征映射到低维空间判断数据真假,所以可以看作判别器提取到了数据的非信息特征,特征提取网络与之不同之处在于去除了Sigmoid层,而且使用的全连接层的输出维度更高。二者的其他实现采用二维卷积层、实例归一化层、门控CNN层。其中门控CNN不仅实现了语言建模[23]和语音建模[24]的最新技术,而且实现了对顺序数据进行并行化。在门控CNN中,GLU是数据驱动的激活函数,公式如下:

表1 判别器参数表

图4 判别器结构

Hl+1=(Hl×Wl+bl)⊗σ(Hl×Vl+cl)

(1)

式中:Wl和Vl表示不同的卷积核;bl和cl是偏置参数;σ是S形函数;⊗是元素乘积。根据最新的研究表明,采用门控CNN可以替代RNN并选择性地根据先前的层状态传播信息。

(2) 特征融合网络。特征融合网络分为三部分,编码器部分是对数据进行下采样,将频谱信息映射到低维空间后,使用6个残差块网络进行特征转换。使用一维卷积层、实例化归一层、门控CNN来实现。转换部分由6个残差块实现,其表达式如下:

Xk=Hk(Xk-1)+Xk-1

(2)

式中:Hl表示两组一维卷积,自适应实例归一化(AdaIN),门控CNN,其中,自适应实例归一化操作定义为:

(3)

式中:μ(xi)为均值;σ(xi)为方差;每个特征映射xi分别标准化后,使用放射变化的可学习参数ys,i和yb,i分别进行缩放和偏置操作。

本文使用一个超参数λγ_β控制辅助的特征提取网络对主网络的影响,公式如下:

ysn,i=(1+γ×λγ_β)×(ys,i×(1-λγ_β))

(4)

ybn,i=(1+β×λγ_β)×(yb,i×(1-λγ_β))

(5)

式中:γ和β是分别通过仿射变换An得到的参数。

所以,最终的AdaIN操作为:

(6)

特征融合网络的参数设置如表2所示。

表2 生成器参数表

将上述两个网络整合,最终得到的生成器总结构如图5所示,其中“S×5”表示此处为5个与模块S相同的模块。

图5 生成器结构

2.2 损失函数

(1) 对抗性损失。对抗性损失是为了使生成器生成的数据难以被分辨真假,生成器GX→Y通过最小化损失生成Dy无法分辨真假的数据,Dy通过最大化损失不被GY→X所欺骗。用公式可以表示为:

Ladv(GX→Y,Dy)=Ey~PData(y)[‖Dy(y2)‖]+

Ey~PData(y)[‖1-Dy(GX→Y(x,y))‖2]

(7)

式中:y~Pdata(y)表示y来自于真实数据分布Pdata(y),x与之类似;E表示对所有数取均值。

(2) 循环一致性损失。仅使用对抗性损失并不能保证生成的数据保留语音的语音信息,而循环一致性损失通过最小化循环生成的数据与源数据的L1范数,帮助保存语音信息。用公式可以表示为:

Lcyc(GX→Y,GX→Y)=Ex~PData(x)[‖GY→X(GX→Y(x,y))-x1‖]+

Ey~PData(y)[‖GX→Y(GY→X(y,x),y)-y1‖]

(8)

(3) 身份映射损失。在单向过程中,使用身份映射损失,将目标数据作为输入,并将输出与目标数据进行逼近,驱使生成器保证语音信息的保留。用公式表示如下:

Lid(GX→Y,GX→Y)=Ex~PData(x)[‖GY→X(x,x)-x1‖]+

Ey~PData(y)[‖GX→Y(y,y)-y1‖]

(9)

(4) 总损失。使用超参数λcyc、λid作为系数,将前文中的三项损失加权相加,得到总损失,公式如下:

Lfull(GX→Y,GX→Y)=Ladv(GX→Y,Dy)+

Lαdv(GY→X,Dx)+λcycLcyc(GX→Y,GX→Y)+

λidLid(GX→Y,GX→Y)

(10)

2.3 模型超参数与训练细节

在预处理过程中,使用WORLD模型 ,把音频文件分解为对数基频参数(logF0)、频谱参数(SP)、非周期性参数(AP),并随机选取128帧固定长度的段,设置初始λcyc为10,λid为5,λγ_β=10-5,λγ_β的值随着迭代次数的增加线性增加,并设置在10 000次迭代后,λid为0,且设置λγ_β=0.9时保持不变。同时,使用Adam优化器[25]训练网络,动量项设为0.5,生成器的学习率为0.000 2,判别器学习率为0.000 1,当迭代次数超过100 000次后,学习率线性降低。同时使用Xavier[26]初始化参数,使每一层输出的方差尽量相等。

3 实 验

3.1 实验条件

实验使用Voice Conversion Challenge 2016 中基于DAPS(数据和制作演讲)数据集的开放数据集。实验时,每段录音被下采样到16 kHz、16 bit。

为加速实验,实验在两个平台下分别运行,分别是本地的TensorFlow版和AIstudio云平台的Paddlefluid版,由于Paddlefluid版本的代码是在AIstudio上运行,平台限制导致数据预处理部分与语音合成部分放在了本地运行,与神经网络相分离。

梅尔倒谱(Mel-cepstral)失真[27]是评估合成的MCEP质量的常用方法,但是最近的三项研究[13,28-29]表明此方式存在一定局限性。因为MEL-CD内部呈现高斯分布, 导致其倾向于过平滑。因此,本文采用MOS测试和ABX测试评估转换后的语音质量。

作为对比实验,将本文方法分别与基于GMM、StarGAN-VC、CycleGAN-VC的方法进行比较,选取4组说话人进行神经网络的训练并进行评估。尽管Style-CycleGAN-VC可以实现任意样本下的语音转换,但为了控制变量从而与其他模型进行等价对比,本文实验过程中仍旧对Style-CycleGAN-VC模型进行了4次重新训练。另外,在复现过程中发现CycleGAN-VC生成损失中使用的对数函数训练不够稳定,使用L2范数对其进行替代,并使用相同的参数初始化。

对于任意样本的语音转换,本文使用了未经网络拟合的TM1和TF2说话人的样本进行转换实验来测试,并将评估结果分别与GMM、ARBM、StarGAN-VC、CycleGAN-VC进行对比。

3.2 实验语音合成框架

实验使用WORLD模型得到对数基频参数(logF0)、频谱参数(SP)、非周期性参数(AP)。转换完成后对神经网络得到的SP、使用单高斯模型转换的logF0,以及不做改变的AP进行语音合成。最后,对得到的合成语音进行质量和相似度评估。

整个语音合成过程如图6所示。

图6 语音转换总体框架

3.3 评估结果

不同模型间的对比实验共分为四组,分别是SF1->TF2、SM1->TM2、SF1->TM2、SM1->TF2,使用MOS对GMM、StarGAN-VC、CycleGAN-VC、Style-CycleGAN-VC四种模型的实验结果的语音质量进行评估,结果如图7所示。

图7 不同模型语音转换质量对比结果

可见,在语音转换质量方面,相较于CycleGAN-VC、StarGAN-VC和GMM,Style-CycleGAN-VC无论是在性别间还是性别内的转换效果均有所提高。另外,二者都在女转男的测试中得分高于男转女。

用ABX测试法对Style-CycleGAN-VC的四组语音转换结果相似度进行评估,结果如图8所示。

图8 Style-CycleGAN-VC语音相似度分析结果

在语音相似度方面,性别间转换由于基频的原因,实验结果与预测的相同,全部更接近转换目标,而性别内转换,由于不同说话人之间的音色差别有些较大有些较小导致对不同数据的实验结果相差较大,但从实验结果也可以看出转换更偏向于目标。

对任意样本下的实验分为两组,测试结果如表3所示。

表3 任意样本语音转换质量及相似度得分表

Style-CycleGAN-VC的语音转换质量高于ABRM,与CycleGAN-VC、StarGAN-VC相差较小,而语音相似度方面得分有所降低。但考虑到Style-CycleGAN-VC未经过转换语音训练而直接进行转换,所以实验结果可以接受。

任取CycleGAN-VC和Style-CycleGAN-VC一组语音数据转化为相应波形图如图9所示。

图9 SF1->TF2转换结果波形图

CycleGAN-VC转化语音的波形图幅值在特定位置超过1,而由此产生的噪音会严重影响语音质量,相比之下,Style-CycleGAN-V生成的语音则更为平滑,因此转换过程产生的噪声明显降低,语音质量明显提高。

经实验表明,Style-CycleGAN-VC实现了非平行语料下任意样本间的语音转换,且与ABRM、StarGAN-VC、CycleGAN-VC等主流模型相比,新模型对特定说话人的任意样本的语音转换效果有所提高,对任意说话人的任意样本的语音转换效果与CycleGAN-VC模型相近。

4 结 语

本文提出一种用于非平行语料下实现任意说话人的任意样本间语音转换的方法Style-CycleGAN-VC。由于基于深度学习的方法很难实现端对端的语音转换,而是使用了对数据进行预处理使用频谱做转换的方式,这导致后期进行语音合成时,需要使用单高斯模型转换法对基频进行转换。目前阶段由于频谱转换的质量问题,这种方法的局限性不会表现明显,但随着网络架构的进一步细化或频谱转换质量的进一步提高,这种方案就会成为整体语音转换系统的短板从而降低语音转换的质量。而这也是前文中提到的男女之间转换质量存在明显差异的原因。

另外,从本文提出的网络生成器架构来看,由于辅助特征提取网络从生成器主网络中分离,从而使原本需要将特征保存在生成器网络中的特征转化为特征提取过程,由此得到一个语音转换的通用模型,这使得可以像任意图片间的风格迁移一样,实现任意样本下的语音转换,而无须通过分别训练拟合不同样本数据得到不同的模型分别做语音转换。不足之处在于通用模型的语音相似度和语音转换质量还有待提高。希望未来技术进一步发展实现无限逼近真实语音效果的语音转换。

猜你喜欢

特征提取损失语音
洪涝造成孟加拉损失25.4万吨大米
两败俱伤
空间目标的ISAR成像及轮廓特征提取
魔力语音
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于MQ3与MP3的价廉物美的酒驾语音提醒器
数字滤波在语音信号降噪中的应用
对方正在输入……
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究