语音克隆达到人类水平,微软全新VALL-E 2模型让DeepFake堪比配音员 精华
最近,微软发布了零样本的文本到语音(TTS)模型VALLE-2,首次实现了与人类同等的水平,可以说是TTS领域里程碑式的进展。
论文地址:https://arxiv.org/pdf/2406.05370
随着近年来深度学习的快速进步,用录音室环境下的干净单人语音训练模型,已经可以达到人类同等水平的质量,但零样本TTS依旧是一个有挑战性的问题。
「零样本」意味着推理过程中,模型只能参照一段简短的陌生语音样本,用相同的声音说出文本内容,就像一个能即时模仿的口技大师。
听到这里,不知道你会不会突然警觉——有这种能力的模型就是Deepfake的最佳工具!
令人欣慰的是,MSRA考虑到了这一点,他们目前只将VALL-E系列作为研究项目,并没有纳入产品或扩大使用范围的计划。
虽然VALL-E 2有很强的零样本学习能力可以像配音员一样模仿声音,但相似度和自然度取决于语音prompt的长度和质量、背景噪音等因素。
在项目页面和论文中,作者都进行了道德声明:如果要将VALL-E推广到真实世界的应用中,至少需要一个强大的合成语音检测模型,并设计一套授权机制,确保模型在合成语音前已经得到了声音所有者的批准。
对于微软这种只发论文不发产品的做法,有些网友表示非常失望。
毕竟最近各种翻车的产品让我们深深明白,只看demo完全不可靠,没法自己试用=没有。
但Reddit上有人揣测:微软只是不想当「第一个吃螃蟹的人」,不发模型是担心可能的带来的批评和负面舆论。
一旦有了能将VALL-E转化为产品的方法,或者市场上杀出其他竞品,难道还担心微软有钱不赚吗?
的确如网友所说,从项目页面目前放出的demo来看,很难判断VALL-E的真实水平。
项目页面:https://www.microsoft.com/en-us/research/project/vall-e-x/vall-e-2/
共5条文本都是不超过10个单词的英文短句,语音prompt的人声音色都非常相近,英语口音也不够多样化。
虽然demo不多,但能隐隐感受到,模型对英美口音的模仿非常炉火纯青,但如果prompt略带印度或者苏格兰口音,就很难达到以假乱真的程度。
方法
模型前身VALL-E发布于2023年初,已经是TTS在零样本方面的重大突破。VALL-E能够用3秒的录音合成个性化语音,同时保留说话者的声音、情绪和声学环境。
然而VALL-E存在两方面的关键限制:
1)稳定性:推理过程中使用的随机采样(random sampling)可能会导致输出不稳定,而top-p值较小的核采样可能会导致无限循环问题。虽然可以通过多次采样和后续排序来缓解,但会增加计算成本。
2)效率:VALL-E的自回归架构绑定了与现成的音频编解码器模型相同的高帧率,且无法调整,导致推理速度较慢。
虽然已经有多项研究用于改进VALL-E的这些问题,但往往会使模型的整体架构复杂化,而且增加了扩展数据规模的负担。
基于这些之前的工作,VALL-E 2包含两方面的关键创新:重复感知采样(repetition aware sampling)和分组代码建模(grouped code modeling)。
重复感知采样是对VALL-E中随机采样的改进,能够自适应地采用随机采样或者核采样(nucleus sampling),选择的依据是曾经的token重复,因此有效缓解了VALL-E的无限循环问题,大大增强解码稳定性。
重复感知采样的算法描述
分组代码建模则是将编解码器代码划分为多个组,自回归时每组在单个帧上建模。不仅减少了序列长度、加速推理,还通过缓解长上下文建模问题来提高性能。
值得注意的是,VALL-E 2仅需要简单的语音-转录文本数据进行训练,不需要额外的复杂数据,大大简化了数据的收集、处理流程,并提高了潜在的可扩展性。
具体来说,对于数据集中每条语音-文本数据,分别用音频编解码器编码器(audio codec encoder)和文本分词器将其表示为编解码器代码𝐂=[𝐜0,𝐜1,…,𝐜(𝑇−1)]和文本序列𝐱=[𝑥0,𝑥1,…,𝑥(𝐿−1)],用于自回归(AR)和非自回归(NAR)模型的训练。
AR和NAR模型都采用Transformer架构,后续的评估实验设计了4种变体进行对比。它们共享相同的NAR模型,但AR模型的组大小分别为1、2、4、8。
推理过程也同样是AR和NAR模型的结合。以文本序列𝐱和代码提示𝐜<𝑇′,0为条件生成目标代码𝐜≥𝑇′,0的第一代码序列,再用自回归的方式生成每组的目标代码。
给定𝐜≥𝑇′,0序列后,就可以使用文本条件𝐱和声学条件𝐂<𝑇′推断NAR模型,以生成剩余的目标代码序列𝐂≥𝑇′,≥1。
模型训练使用了Libriheavy语料库中的数据,包含7000个人朗读英语有声书的5万小时语音。文本和语音的分词分别使用BPE和开源的预训练模型EnCodec。
此外,也利用了开源的预训练模型Vocos作为语音生成的音频解码器。
评估
为了验证模型的语音合成效果是否能达到人类同等水平,评估采用了SMOS和CMOS两个主观指标,并使用真实的人类语音作为ground truth。
SMOS(Similarity Mean Opinion Score)用于评估语音与原始提示的相似度,评分范围为1~5,增量为0.5分。
CMOS(Comparative Mean Opinion Score)用于评估合成语音与给定参考语音的比较自然程度,标度范围为-3~3,增量为1。
根据表2结果,VALL-E 2的主观评分不仅超过了第一代的VALL-E,甚至比人类真实语音有更完美的表现。
此外,论文也使用了SIM、WER和DNSMOS等客观指标来评估合成语音的相似度、鲁棒性和整体感知质量。
在这3个客观指标上,无论VALL-E 2的组大小如何设置,相比VALL-E都有全方位的提升,WER和DNSMOS分数也优于真实人类语音,但SIM分数还存在一定差距。
此外,从表3结果也能发现,VALL-E 2的AR模型组大小为2时,可以取得最优效果。
在VCTK数据集上的测评也可以得到相似的结论。当prompt长度增加时,分组代码建模方法可以减少序列长度,缓解Transformer架构中不正确注意力机制导致的生成错误,从而在WER分数上得到提升。
作者简介
本文第一作者陈三元是哈尔滨工业大学和微软亚洲研究院的联合培养博士,他从2020年开始担任MSRA自然语言计算组的实习研究员,研究兴趣主要是用于语音和音频处理的预训练语言模型。