WaveNet Vocoder是一种由Google DeepMind开发的Deep learning模型架构,用于生成原始音频波形。该模型于2016年9月推出,旨在为文本转语音(TTS)系统生成自然流畅的语音,解决了早期拼接式和参数化合成器的机械音质问题。该模型直接在样本级别对音频信号进行操作,基于所有先前样本预测每个样本,这一过程称为自回归生成。其核心创新在于使用扩张因果卷积,这使得网络能够拥有非常大的感受野,从而捕捉音频中的长距离依赖,同时与递归网络相比保持计算效率。WaveNet Vocoder成为许多现代TTS流程中的基础组件,通常用作神经声码器,将中间声学特征(如梅尔频谱图)转换为最终波形。
原始WaveNet论文《WaveNet: A Generative Model for Raw Audio》由DeepMind的研究人员发表,包括Aaron van den Oord、Sander Dieleman和Karen Simonyan。该模型在大型语音数据集(如Google TTS语料库)上训练,并在主观自然度方面显著优于现有方法。在盲听测试中,WaveNet生成的语音被评为比拼接式和参数化系统都更自然,但仍不及人类录音。该架构还被证明能够建模其他音频类型(如音乐),但其主要应用仍是语音合成。
架构与机制
WaveNet Vocoder基于一系列卷积层构建,这些卷积层具有指数增长的扩张因子。每一层应用因果卷积,这意味着时间步t的输出仅依赖于时间步至t的输入,从而保持音频的时间顺序。扩张因子(例如1、2、4、8、...、512)使得感受野随深度指数增长,使模型能够捕捉数千个样本的依赖关系。例如,在10层且扩张因子高达512的情况下,感受野覆盖1024个样本,在16 kHz采样率下对应64毫秒的音频。
每个卷积层使用类似PixelCNN中的门控激活单元,这有助于模型学习复杂依赖关系。门控激活定义为tanh(W_f x) sigmoid(W_g x),其中表示卷积。这种门控机制允许网络控制信息流,提高训练稳定性和输出质量。该模型还包含残差连接和跳跃连接,这有助于训练期间的梯度流动,并帮助网络学习更深层的表示。
训练与推理
训练WaveNet Vocoder涉及最大化训练音频数据的对数似然。输出层使用softmax处理256个可能值,代表8位μ-law压扩音频样本。μ-law压扩是一种非线性变换,为低幅度信号分配更多量化级别,这些信号在语音中感知上更为重要。在训练期间,模型以真实音频样本作为输入,并在每个时间步计算损失。
推理是自回归的:模型一次生成一个样本,并将其自身输出作为下一步的输入。这种顺序生成计算密集,因为每个样本都需要通过网络进行完整的前向传播。对于16 kHz采样率下的1秒音频片段,这意味着16,000个顺序步骤。为了加速推理,研究人员开发了诸如缓存中间激活(称为“fast WaveNet”)以及使用并行生成方法(如“Parallel WaveNet”(2017)中提出的方法,该方法使用带有归一化流的教师-学生框架)等技术。这些优化使得在现代硬件上实现实时合成成为可能。
在文本转语音中的应用
WaveNet Vocoder最常用于TTS流程的最后阶段。典型架构包括将文本转换为语言特征的前端、预测中间表示(如梅尔频谱图或线性频谱图)的声学模型,以及将这些特征转换为波形的声码器。WaveNet Vocoder在此角色中表现出色,因为它能从紧凑的声学特征生成高保真音频,保留自然韵律和说话人特征。
多个商业和开源TTS系统已采用基于WaveNet的声码器。例如,Google的Cloud Text-to-Speech服务提供WaveNet语音,以其自然度著称。该架构还影响了后续模型,如Tacotron 2,后者使用修改后的WaveNet作为其声码器。在开源社区中,r9y9(一位日本研究员)的“WaveNet Vocoder”仓库中的实现已被广泛用于研究和开发。这些实现通常提供多种语言(包括英语和日语)的预训练模型。
影响与遗产
WaveNet Vocoder的引入标志着语音合成的重大转变,从拼接式和参数化方法转向神经端到端方法。其成功展示了深度生成模型在原始音频上的强大能力,启发了后续架构,如SampleRNN、WaveRNN和LPCNet。扩张因果卷积的概念已被应用于其他领域,如音频源分离和音乐生成。
WaveNet Vocoder还通过展示自回归模型如何生成高维数据,为更广泛的Generative AI领域做出了贡献。其技术,如门控激活和残差连接,已被纳入许多其他神经网络设计中。虽然更新的模型,如基于Transformer (architecture)的声码器(例如HiFi-GAN和MelGAN)已经出现,但WaveNet Vocoder仍然是质量基准和该领域的基础参考。
局限性与发展
尽管质量高,WaveNet Vocoder存在显著局限性。自回归生成速度慢,使得在没有专用硬件或算法优化的情况下实时部署具有挑战性。该模型还需要大量计算资源进行训练,通常需要多个GPU和数天的训练时间。此外,μ-law压扩会引入轻微失真,这对语音是可接受的,但对于高保真音乐可能不理想。
后续研究解决了这些问题。Parallel WaveNet(2017)引入了使用逆自回归流的非自回归生成方法,在GPU上实现了实时合成。其他方法,如ClariNet和WaveGlow,进一步提高了效率和质量。这些发展在很大程度上已取代了原始WaveNet Vocoder在生产系统中的地位,但其原理在现代神经声码器的设计中仍具影响力。