单位:台湾国立大学
会议:2020 icassp
文本的技术路线
【1】Neural Discrete Representation Learning
【2】Generating Diverse High-Fidelity Images with VQ-VAE-2
abstract
vector quantization (VQ) 的方法实现one-shot vc,不需要任何说话人标记。
把文本信息建模成一系列离散的编码,将向量量化前后的区别认为是speaker embedding。仅通过重建损失函数解耦说话人信息和文本信息。
1. introduction
VC可以分成监督学习和无监督学习
监督学习:基于平行数据的,例如GMM-based
无监督学习:基于非平行数据的。有用vector quantization方法提取文本信息,加上speaker id之后送入wavenet,但是仅能合成seen的voice。
之前有工作证明VQ-based auto-encoder提取出来的discrete latent code和音素信息密切相关;说明VQ-based model有能力解耦出说话人信息和文本信息;本文研究one-shot VQ-VC。之前的VQ-VC方法用不同的encoder提取说话人、文本信息,本文仅用一个encoder
将latent representation分离成离散的和连续的信息,然后decoder将这两者相加合成语音。其中,离散的部分表示文本信息,连续的部分表示说话人信息。
2. approach
训练准则
其中:
L
r
e
c
L_{rec}
Lrec是
C
x
+
S
x
C_x+S_x
Cx+Sx是相加而不是拼接(参考
S
x
S_x
Sx得到的方式)
而
L
l
a
t
e
n
t
L_{latent}
Llatent是
3. experiment setup
数据集:VCTK corpus
特征:24 KHz, mel spec
vocoder:GL
4. results
4.1 解耦的能力
训练一个新的说话人分类模型,判断encoder的解耦能力(用VQVC解耦出的文本信息
C
x
C_x
Cx测试,精度越低,说明
C
x
C_x
Cx中包含的说话人信息越少)。
实验对比VQVC不同的codebook维度(32/64/128/256/512)以及有VQ+IN,只有VQ,只有IN,和Auto VC, AutoVC Wide的方法(后两者只有VQ)的分类精度和decoder重建损失。
结果表明:
(1)VQ+IN比单独的VQ以及单独的IN表现都要好;而且相同codebook维度下,VQ+IN的分类精度是单独VQ的一半,说明不加限制的时候VQ会学到说话人相关的信息;
(2)和VC-IN的方法(台湾)相比,只用IN的解耦能力不够强;
(3)AutoVC有额外的说话人编码模块,因此分类精度比较高;但是VC模型需要调整文本信息拟合的维度;AutoVC Wide的维度过大,同时拟合了说话人和文本信息,因此无法合成语音。相比之下,即使维度为512时,VQVC+IN的方法仍然有26.8%的说话人分类精度,说明本文提出的网络更稳定。
尽管更少的codebook维度代表着更强的解耦能力,但是可能对于完整的表示content information是不够的,综合L1 Loss,分类精度以及合成的语音质量,选择256为codebook的维度。
4.2 Speaker embedding visualization
分别选择20个seen和unseen的speaker,提取spk_emb(120维),可视化。上图是Q32模型的结果,说话人分类的精度:seen–98.2%, unseen–97%。
4.3 Ablation study on architecture
设计中,将IN放在VQ之前,VQ中的codebook全部量化为1(codebook normalization),为了验证这两者的有效性,codebook size=32,设计实验:
(1)Q中没有normalize,IN在VQ之前;
(2)Q中没有normalize,IN在VQ之后;
(3)Q中有normalize,IN在VQ之前;
(4)Q中没有normalize,IN在VQ之后;
L1重建Loss如上图所示,表明normalize+IN之前的设置会加快收敛并提升性能。
这样的设置下,离散的编码和连续的部分是有限制的,因而会使得模型的训练更容易。
4.4 Subjective evaluation
4个人对12对转换对进行相似度倾向测试。说明模型有能力完成one-shot的转换。