BIGVGAN: A UNIVERSAL NEURAL VOCODER WITHLARGE-SCALE TRAINING——TTS论文阅读

笔记地址:https://flowus.cn/share/a16a61b3-fcd0-4e0e-be5a-22ba641c6792
【FlowUs 息流】Bigvgan

论文地址:

BigVGAN: A Universal Neural Vocoder with Large-Scale Training

Abstract

背景:

  • 最近基于生成对抗网络(GAN)的声码器取得了一定的进展,这种模型可以基于声学特征生成原始波形。
  • 尽管如此,为大量说话者在不同录音环境中合成高保真音频仍然是一个挑战。

BigVGAN介绍

  • 提出了BigVGAN,这是一种泛用性声码器(universal vocoder)。
  • 它对各种超出训练分布的场景都有良好的泛化能力,而且无需微调。

技术创新

  • 在GAN生成器中引入了周期激活函数(periodic activation function)和抗混叠表示(periodic activation function)。
  • 这些创新带来了音频合成所需的归纳偏置(inductive bias),显著提升了音频质量。

规模扩展

  • 将GAN声码器的规模扩大到了最大112M参数,这在现有文献中是前所未有的。
  • 识别并解决了大规模GAN训练中的失败模式,同时保持了高保真输出而不过度规范化。

性能成就

  • 仅在干净的语音数据集LibriTTS上训练的BigVGAN,在各种零样本(超出训练分布)条件下都达到了最先进的性能。
  • 这包括未见过的说话者、语言、录音环境、歌声、音乐以及乐器音频。

1.Introduction

背景与现有方法

  • 深度生成模型在原始音频建模方面取得了显著的成功。
  • 成功的方法包括自回归模型、基于流的模型、基于GAN的模型和扩散模型。
  • 特别地,基于GAN的声码器能够在条件是mel频谱图的情况下生成高保真的原始音频,并且合成速度比实时快数百倍。

现有挑战

  • 现有的GAN声码器仅限于在干净环境中记录的数量适中的声音,因为模型容量有限。
  • 当模型基于不同录音环境中未见过的说话者的mel频谱图时,音频质量可能会严重下降。

实际应用的需求

  • 实际应用中,能够对分布外样本进行零样本生成的通用声码器非常有价值,例如文本到语音、神经语音克隆、语音转换、语音到语音翻译和神经音频编解码器等场景。

模型扩展趋势

  • 在文本生成和图像合成中,模型大小的扩展对于零样本性能是一个明显趋势,但这在音频合成中尚未被探索。
  • 虽然基于似然的模型由于其简单的训练目标和稳定的优化而更易于扩展,但作者选择使用大规模GAN训练来构建通用声码器,因为GAN声码器有全并行生成高维波形的能力,并且不强加任何保持潜在数据和数据之间双射关系的结构限制。

BigVGAN的贡献

  • 引入了周期激活到生成器中,为音频合成提供所需的归纳偏置。
  • 提出了抗混叠多周期性组成(AMP)模块,用于建模复杂的音频波形。
  • 成功将BigVGAN扩展到1.12亿参数,修复了大规模GAN训练的失败模式,而不是规范化生成器和鉴别器。
  • 实验证明,拥有1400万参数的BigVGAN-base在内部和外部分布样本上超过了同等规模的最先进的神经声码器。
  • 特别是,拥有1.12亿参数的BigVGAN在包括未见过的说话者、新语言、歌声、音乐和多样化未见录音环境下的乐器音频等各种零样本生成场景中,都大幅度超过了最先进的模型。

2.Related Work

Bigvgan是基于GAN提出的,这部分内容介绍了与bigvgan有关的一些工作,主要围绕着GAN展开。

图像合成中的GAN

  • GAN最初是为了图像合成而提出的,并且通过优化架构或大规模训练取得了令人印象深刻的结果。

音频合成中的GAN

  • 之前的工作集中在改进鉴别器架构或增加新的辅助训练损失上。
  • MelGAN引入了multi-scale多尺度鉴别器(MSD),使用平均池化在多个尺度上对原始波形进行下采样,并分别在每个尺度上应用基于窗口的鉴别器。
  • GAN-TTS使用不同大小的随机窗口的鉴别器集合,并使用条件鉴别器对调节器和波形进行对抗性映射。
  • Parallel WaveGAN扩展了单一短时傅里叶变换(STFT)损失到多分辨率,并将其作为GAN训练的辅助损失。
  • HiFi-GAN重用MelGAN的MSD,并引入了多周期鉴别器(MPD)以进行高保真合成。
  • UnivNet使用多分辨率鉴别器(MRD),它以多分辨率频谱图为输入,并可以提高合成波形的频谱结构的清晰度。
  • CARGAN将部分自回归结合到生成器中,以提高音调和周期性的准确性。

本工作的重点

  • 本文着重于改进和扩展生成器。
  • 引入了周期性归纳偏置(periodic inductive bias),用于音频合成,并解决了非自回归生成器架构中的特征混叠问题。
  • 架构设计与时间序列预测、隐式神经表示和图像合成的最新结果有联系。

不同生成器架构的比较

  • 有研究认为,不同的生成器架构对于单说话者的神经声码器来说表现相当。
  • 作者展示了改进生成器架构对于在具有挑战性条件下的通用神经声码器至关重要。

通用神经声码器的成功有限

  • 由于明显的挑战,通用神经声码器的成功有限。
  • WaveRNN之前被应用于通用声码器任务。
  • 最近,GAN声码器被发现是一个很好的候选者。

3.Method

介绍了GAN声码器的基础知识并进一步介绍了Bigvgan

3.1Preliminaries of GAN Vocoder

介绍了GAN语音合成技术的基础知识,这里进行一个提炼总结

生成器(Generator)

功能:将梅尔频谱图或其他音频特征转换成原始波形。

历史架构:

  • WaveNet:一种流行的深度学习音频生成架构,由Yamamoto等人在2020年的研究中使用。
  • 卷积网络:使用一系列残差块,逐渐将梅尔频谱图上采样成高分辨率波形。这种方法由Kumar等人(2019年)和Kong等人(2020年)采用。

本研究选择:选择HiFi-GAN生成器作为基准架构,理由是其高效且适用于多种应用场景。

判别器(Discriminator)

作用:引导生成器合成高质量、连贯的波形,同时尽量减少人耳可感知的误差。

结构:包含多个子判别器,针对波形的不同分辨率窗口进行操作。

  • 多周期判别器(MPD):将1-D信号转换为2-D表示,通过2-D卷积捕获多周期结构,用于HiFi-GAN。
  • 多尺度判别器(MSD):处理不同频率的下采样1-D信号,每个子判别器对应一个频率,由Kumar等人在2019年提出。
  • 多分辨率判别器(MRD):由Jang等人在2020和2021年提出,操作于不同STFT分辨率的2-D线性频谱图上,能更好地处理音频质量,尤其是音高和周期性错误。

改进:研究表明,使用MRD替代MSD可以进一步提升音频质量。

训练目标(Training Objectives)

基础:基于HiFi-GAN的训练目标,但有所改进。

组成:

  • 最小二乘对抗损失:使生成的波形与真实波形之间的差异最小化。
  • 特征匹配损失:确保生成波形在特征层面与真实波形相似。
  • 光谱L1回归损失:专注于梅尔频谱图,进一步提升音频质量。

创新:将MSD替换为MRD,这一改变旨在减少音频中的音高和周期性错误,从而提升整体音频质量。

3.2Periodic inductive bias

音频波形具有周期性

特征:音频波形具有高度周期性,可以自然地表示为原始周期组件的组合(即在Dirichlet条件下的傅里叶级数)。

意义:这表明我们需要向生成器架构提供所需的归纳偏差(inductive bias)。

当前GAN语音合成器并没有充分利用这种周期性,具有一定的局限性

方法:目前非自回归GAN语音合成器(例如Kong等人,2020年的研究)主要依赖于扩张卷积层来学习不同频率的必要周期组件。

激活函数:使用的激活函数(例如Leaky ReLU)可以产生具有必要非线性的新细节,但并不提供任何周期性的归纳偏差。

问题:发现Leaky ReLU在波形领域的外推(extrapolation)表现不佳。尽管模型能够在训练时看到的录音环境中生成高质量的语音信号,但在分布外场景(如未见过的录音环境、非语音发声和乐器音频)中性能显著下降。

故引入周期性归纳偏差(periodic inductive bias)

方法:通过应用最近提出的周期性激活函数——Snake函数(Liu等人,2020年),将周期性的适当归纳偏差引入到生成器中。Snake函数定义为 fα(x) = x + (1/α)sin²(αx),其中α是一个可训练参数,控制信号的周期组件频率,较大的α产生更高的频率。

特点:使用sin²(x)确保单调性,并使其易于优化。Liu等人(2020年)展示了这种周期激活在温度和金融数据预测中展现出改进的外推能力。

BigVGAN的应用

实施:在BigVGAN中,使用带有通道级可训练参数α的Snake激活函数fα(x),这些参数定义了每个一维卷积通道的周期频率。

效果:这种具有学习频率控制的周期函数形式使卷积模块能够自然地适应具有多周期组件的原始波形。研究表明,基于Snake的生成器对于训练期间未见过的分布外音频样本更加鲁棒,显示出在通用语音合成任务中强大的外推能力。

示例和证据:参见图2中的示例;使用Snake激活的BigVGAN-base与HiFi-GAN相比更接近地面真实样本。

3.3Anti-aliased Representation

强调了在使用Snake激活函数时,为了防止混叠伪像,需要在生成器中加入抗混叠处理。通过在每个残差扩张卷积层中应用经过滤波的Snake非线性,可以有效减少合成波形中的高频伪像,从而在各种评估中取得显著的性能提升。同时,也指出了在抗混叠处理中的一些挑战和局限性。

抗混叠表示(ANTI-ALIASED REPRESENTATION)

背景:虽然Snake激活函数为模拟原始波形提供了必要的周期性归纳偏差,但它可能会产生连续时间信号中的任意高频细节,这些细节无法由网络的离散时间输出表示,从而导致混叠(aliasing)伪像。

解决方案:为了抑制这种副作用,可以应用低通滤波器(例如Karras等人,2021年的研究)。这种抗混叠非线性操作包括沿时间维度对信号进行2倍上采样,应用Snake激活函数,然后将信号下采样2倍。这种做法是由Nyquist-Shannon采样定理(Shannon,1949年)启发的常见做法。

滤波器的应用:每次上采样和下采样操作都伴随着低通滤波器的使用,该滤波器使用具有Kaiser窗的窗口化sinc滤波器(Oppenheim & Schafer,2009年)。

在生成器中的应用

实施方式:在生成器内的每个残差扩张卷积层中应用这种过滤的Snake非线性,以获得离散时间1-D信号的抗混叠表示。该模块被命名为抗混叠多周期性组合(AMP)。

效果:集成过滤激活可以减少合成波形中的高频伪像。参见图2中的BigVGAN-base无滤波器与BigVGAN-base(带滤波器)的对比。

性能提升:将展示该方法在各种客观和主观评估中提供了显著的改进。

注意事项

其他探索:也探索了抗混叠上采样层,但这会导致显著的训练不稳定,并导致大型模型的早期崩溃。

3.4BigVGAN with Large Scale Training

强调了在开发大型神经语音合成器(如BigVGAN)时,既需要考虑模型规模的扩展,也需要关注训练过程中的稳定性和效率。通过增加模型大小、调整学习率和批量大小,以及应对训练过程中的挑战,研究者能够在保持GAN训练稳定性和实用性的同时,探索通用语音合成的极限。

模型扩展

起点:使用与HiFi-GAN V1配置相当的改进生成器作为起点,称为BigVGAN-base,参数约14M(由Kong等人,2020年提出)。

扩展方法:增加上采样块的数量和每个块的卷积通道数。BigVGAN-base通过4个上采样块将信号放大256倍,比例为[8, 8, 2, 2]。每个上采样块都伴随着多个带扩张卷积的残差层,即AMP模块。

细化调整:将256倍上采样分成6个块[4, 4, 2, 2, 2, 2],以实现更细粒度的特征细化。此外,将AMP模块(类似于HiFi-GAN中的MRF)的通道数从512增加到1536。

最终模型:具有1536个通道和112M参数的模型被称为BigVGAN。

训练调整

学习率:发现HiFi-GAN使用的默认学习率2×10^-4会导致BigVGAN训练早期崩溃。将学习率减半到1 × 10^-4可以减少这种失败。

批量大小:大批量大小有助于减少训练中的模式崩溃(Brock等人,2019年)。从常规的16增加到32,以在训练效率和稳定性之间取得良好平衡。

训练挑战:即使进行了上述更改,大型BigVGAN在训练早期仍可能容易崩溃。通过跟踪训练中各模块的梯度范数,发现抗混叠非线性显著放大了MPD的梯度范数,导致生成器在训练早期收到发散梯度,引发不稳定性和潜在崩溃。

解决方案:通过将全局梯度范数限制在10^3,接近112M BigVGAN生成器的平均梯度范数,来缓解这个问题。这种梯度裁剪防止了生成器的早期训练崩溃。

其他探索

探索方向:探索了包括改进模型架构、应用谱归一化(Miyato等人,2018年)来稳定GAN训练(对于大规模图像域GAN训练至关重要)和数据增强以提高模型泛化能力的各种方法。

5.Conclusion

研究范围:本研究在数据规模、模型规模和评估方法上均达到前所未有的水平,探索了通用神经语音合成的极限。

性能分析:

  • 评估方法:使用各种自动和人类评估方法分析性能。
  • 应用场景:包括未见过的发言者、语言、录音环境以及分布外数据。

BigVGAN的改进:

  • 生成器架构:通过引入具有学习频率控制的抗混叠周期激活函数,改进了生成器架构。
  • 目的:注入了波形生成所需的期望归纳偏差。

大型GAN语音合成器的展示:

  • 规模:展示了迄今为止最大的GAN语音合成器。
  • 零样本性能:在各种分布外(OOD)条件下表现强劲,包括未见过的录音环境、歌声和乐器音频。

对未来研究的启发:

  • BigVGAN的应用:相信BigVGAN结合大规模训练中学到的实用经验,将激发未来通用语音合成的研究努力。
  • 实际应用:改善现实世界应用的最新成果,包括声音克隆、声音转换、语音翻译和音频编解码器。

这项研究通过BigVGAN,展示了在通用神经语音合成领域的一个重要步骤,特别是在处理未见过的发言者、语言和录音环境等分布外数据方面的能力。此外,该研究还为未来在通用语音合成领域的研究提供了实际的经验和启示,预计将促进相关技术在现实世界应用中的发展和应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/351996.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot activemq收发消息、配置及原理

SpringBoot集成消息处理框架 Spring framework提供了对JMS和AMQP消息框架的无缝集成,为Spring项目使用消息处理框架提供了极大的便利。 与Spring framework相比,Spring Boot更近了一步,通过auto-configuration机制实现了对jms及amqp主流框架…

《WebKit技术内幕》学习之十五(3): Web前端之未来

3 Web应用和Web运行环境 3.1 Web应用 HTML5提供了强大的能力,而不是支持Web网页这么简单。就目前而言,它已经初步提供了支持Web网页向Web应用方向发展的能力。相对于本地应用(Native Application),Web前端领域也能够…

NIO-Selector详解

NIO-Selector详解 Selector概述 Selector选择器,也可以称为多路复⽤器。它是Java NIO的核⼼组件之⼀,⽤于检查⼀个或多个Channel的状态是否处于可读、可写、可连接、可接收等。通过⼀个Selector选择器管理多个Channel,可以实现⼀个线程管理…

深入浅出AI落地应用分析:AI视频生成Top 5应用

接下俩会每周集中体验一些通用或者垂直的AI落地应用,主要以一些全球或者国外国内排行较前的产品为研究对象,「AI 产品榜: aicpb.com」以专题的方式在博客进行分享。 一、Loom 二、Runway 产品链接:https://app.runwayml.com/ …

企业职能部门员工忙闲不均,如何调动积极性?

案例企业背景: 某企业隶属于中国航天科技集团公司,致力于光纤陀螺系统、微机电惯性系统、光纤传感系统等高新技术产品的研发。公司具有雄厚的新型惯导和光电传感技术基础,多年来开创了我国光纤陀螺技术在武器、卫星和载人飞船等多个任务上的…

代码随想录Day32 | 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

代码随想录Day32 | 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II 122.买卖股票的最佳时机II55.跳跃游戏45.跳跃游戏II 122.买卖股票的最佳时机II 文档讲解:代码随想录 视频讲解: 贪心算法也能解决股票问题!LeetCode:122.…

【笔记】顺利通过EMC试验(16-41)-视频笔记

目录 视频链接 P1:电子设备中有哪些主要骚扰源 P2:怎样减小DC模块的骚扰 P3:PCB上的辐射源究竟在哪里 P4:怎样控制PCB板的电磁辐射 P5:多层线路板是解决电磁兼容问题的简单方法 P6:怎样处理地线上的裂缝 P7:怎样降低时钟信号的辐射 P8:为什么IO接口的处理特别重要 P9…

ARIMA模型:Python实现

ARIMA模型:Python实现 自回归移动平均模型(ARIMA)是一种经典的时间序列分析和预测方法。前期已介绍了ARIMA的概念和公式,本文将介绍ARIMA模型的理论基础,并提供详细的Python代码实现,帮助读者了解如何应用…

VS生成报错:MSB8036 The Windows SDK version 8.1 was not found.找不到 Windows SDK 版本 8.1

目录 一、查看本机SDK二、 解决法一:适配本电脑的SDK法二:下载SDK 8.1 VS生成报错:MSB8036 找不到 Windows SDK 版本 8.1。请安装所需版本的 Windows SDK,或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更…

用ChatGPT写申请文书写进常春藤联盟?

一年前,ChatGPT 的发布引发了教育工作者的恐慌。现在,各大学正值大学申请季,担心学生会利用人工智能工具伪造入学论文。但是,聊天机器人创作的论文足以骗过大学招生顾问吗? ChatGPT简介 ChatGPT,全称聊天生…

C++ 之LeetCode刷题记录(二十)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 依旧是追求耗时0s的一天。 110. 平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二…

构建外卖跑腿系统:技术实现与架构设计

在当今数字化时代,外卖跑腿系统已成为人们生活中不可或缺的一部分。本文将探讨如何利用先进的技术和架构设计,开发一个高效、可靠的外卖跑腿系统。 1. 技术选型 在开发外卖跑腿系统之前,我们需要仔细选择适合的技术栈,以确保系…

[C++13]:stack queue priority_queue 模拟实现

stack && queue && priority_queue 模拟实现 一.stack1.概念:2.使用:3.模拟实现:一些题目:1.最小栈:2.栈的压入弹出序列:3.逆波兰表达式求值: 二.queue1.概念:2.使用…

SpringBoot之时间数据前端显示格式化

背景 在实际我们通常需要在前端显示对数据操作的时间或者最近的更新时间,如果我们只是简单的使用 LocalDateTime.now()来传入数据不进行任何处理那么我们就会得到非常难看的数据 解决方式: 1). 方式一 在属性上加上注解,对日期进行格式…

Web3 游戏开发者的数据分析指南

作者:lesleyfootprint.network 在竞争激烈的 Web3 游戏行业中,成功不仅仅取决于游戏的发布,还需要在游戏运营过程中有高度的敏锐性,以应对下一次牛市的来临。 人们对 2024 年的游戏行业充满信心。A16Z GAMES 和 GAMES FUND ONE …

探索IOC和DI:解密Spring框架中的依赖注入魔法

IOC与DI的详细解析 IOC详解1 bean的声明2 组件扫描 DI详解 IOC详解 1 bean的声明 IOC控制反转,就是将对象的控制权交给Spring的IOC容器,由IOC容器创建及管理对象。IOC容器创建的对象称为bean对象。 要把某个对象交给IOC容器管理,需要在类上…

深度学习知识

context阶段和generation阶段的不同 context阶段(又称 Encoder)主要对输入编码,产生 CacheKV(CacheKV 实际上记录的是 Transformer 中 Attention 模块中 Key 和 Value 的值),在计算完 logits 之后会接一个Sampling 采…

【MySQL进阶】InnoDB引擎存储结构和架构

文章目录 逻辑存储结构架构内存结构Buffer Pool&Adaptive Hash IndexChange BufferLog Buffer 磁盘结构 逻辑存储结构 表空间(Tablespaces):InnoDB使用表空间来管理存储表和索引的数据文件。每个表空间包含一个或多个数据文件&#xff0c…

【学网攻】 第(9)节 -- 路由器使用以及原理

系列文章目录 目录 系列文章目录 文章目录 前言 一、路由器是什么? 二、实验 1.引入 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节 -- 交换机划分Vlan…

解锁一些SQL注入的姿势

昨天课堂上布置了要去看一些sql注入的案例,以下是我的心得: ​​​​​​​ ​​​​​​​ ​​​​​​​ 1.新方法 打了sqli的前十关,我发现一般都是联合查询,但是有没有不是联合查询的方法呢&#xf…