会议:EUSIPCO 2018
单位:日本NTT
1. abstract
本文实现不需要平行数据,不需要额外的数据,模型,对齐方式实现的高质量,通用的语音转换。用带门控CNN的CycleGAN-VC实现,用adversarial 和cycle consistent loss同时进行正向和反向的映射,从而在不匹配的数据中找到最佳的伪对(psedu paired)。
2. introduction
adversarial loss可以减少转换语音的过平滑(adversarial loss不需要精确的密度估计),identity mapping loss保证文本信息的保存,门控CNN可以建立时序的,层次的结构,同时有助于保存文本信息。
3. cycle-GAN
3.1.1 adversarial loss
source-x, target-y,只是判断是否将source转换到target相同的空间分布
(疑问:那个是source-target对怎么挑选??)
3.1.2 cycle-consistent loss
保证生成过程的可逆,X——通过G_Y生成Y——再通过G_X 还原为
X
p
r
e
d
X^{pred}
Xpred,应该和输入X一样——
L
c
y
c
l
e
L_{cycle}
Lcycle,在此过程中,通过D(X)/D(Y)判断生成的是对应说话人的特征;
总的function
3.2 cycle-GAN-VC
对cycle-GAN的修正主要是2点:(1)门控CNN(2)identity-mapping loss
3.2.1 门控CNN
要建模语音的时序性,可以用RNN,但是并行很难,计算消耗大。因此用门控CNN代替,激活函数是GLU(gated-linear units)。
3.2.2 Identity-mapping loss
adversarial loss想要保留文本信息,但是not sufficient,因此额外在加Identity-mapping loss用于文本信息保留。(作者有做实验,不要Identity-mapping loss,性能下降很多)
- Lid保证生成器不管输入什么,都需要内容保持;
在cycle-GAN的实验中,这一项的加入证明了可以保留内容。
4. EXPERIMENTS
4.1. Experimental conditions
数据集:VCC2016 (5male, 5female),挑选其中的4人(2男2女,2 -src, 2-tar),每个人216个短句子(~13min, 162 for training, 54 for evaluation, 为了保证non-parallel, src-tar的挑选分开,前后81句)
特征:16k, 24 D MCEP, LF0, AP映射到 MCEP
4.1.2 Implementation details
生成器用1 D 卷积,判别器用2D卷积
将source和target MCEPs的每一维进行归一化
为了训练稳定,用最小二乘(a least squares loss)替代
L
a
d
v
L_{adv}
Ladv中的负的对数似然,
λ
c
y
c
=
10
\lambda_{cyc}=10
λcyc=10
前
1
0
4
10^4
104 iteration 内
λ
c
y
c
=
5
\lambda_{cyc}=5
λcyc=5
为了确保随机性,每次随机挑一个句子随机裁剪128帧,batch_size=1
4.2. Objective evaluation
和基于平行数据的GMM-VC比较(因为作者写文时,GMM-VC尚可与DNN-VC性能比拟)
没有用MCD比较,因为MCD由于高斯分布的假设,更倾向over-smoooth的结果。
比较指标:
GV
MS
4.3. Subjective evaluation
自然度和相似度(within-gender, cross-gender)的测试