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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第十八课】DFS:深度优先搜索( acwing-843 n-皇后问题 / c++代码 )

目录 错误写法(可跳 DFS-剪枝 代码 思路二: 原始解法 错误写法(可跳 看到这道题,我想这不还是n个数的全排列的问题么?也就是把数字变成了字符,一些输出格式上的变化。于是就在原有代码上修改一下应该就行。 我的思路就还是path存有可能…

跨站脚本攻击漏洞概述-XSS

什么是跨站脚本攻击 跨站脚本( Cross-site Scripting ) 攻击,攻击者通过网站注入点注入客户端可执行解析的payload(脚本代码),当用户访问网页时,恶意payload自动加载并执行,以达到攻击者目的(窃取cookie、恶意传播、钓鱼欺骗等)。…

十大排序算法之非线性时间比较类排序

前言 接下来就开始我们的算法学习之路了,代码会分别使用Java与Python来实现,数据处理的算法很多,排序是最基础且最重要的一类,大多数人都是通过学习排序算法入门的。接下来让我们一起学习闻名遐迩的十大排序算法,它们…

非官方 Bevy 作弊书07-09

源自 网页 Working with 2D - Unofficial Bevy Cheat Book 个人用 有道 翻译,希望能够帮助像我一样的 英语不好 的 bevy 初学者 非官方 Bevy 作弊书 7 使用 bevy 2D 本章涵盖与使用 Bevy 制作 2D 游戏相关的主题。 2D Camera Setup - Unofficial Bevy Cheat Book 非…

【LeetCode: Z 字形变换 + 模拟】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Redis学习——高级篇②

Redis学习——高级篇② Redis7高级之BigKey(二) 1.MoreKey案例2.BigKey案例2.1 多大算 BigKey以及它的危害2.2 如何产生、发现、删除 3. bigKey生产调优 Redis7高级之BigKey(二) 1.MoreKe…

【高效开发工具系列】Java读取Html

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Linux系统安装Nginx

一、Nginx的简介 Nginx是一个高性能的HTTP和反向代理web服务器,是由伊戈尔赛索耶夫为俄罗斯访问量第二站点开发的,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名,第一个公开版本0.1.0发布于2004年10月4日。 Nginx是一…

C# RichTextBox常用属性、方法学习1

1 字体 Font font1 new Font("宋体", 18); richTextBox1.Font font1; Font font2 new Font("宋体", 10, FontStyle.Underline); richTextBox1.SelectionFont font2; 定义字体,可以带2个参数&#…

LeetCode---122双周赛

题目列表 3010. 将数组分成最小总代价的子数组 I 3011. 判断一个数组是否可以变为有序 3012. 通过操作使数组长度最小 3013. 将数组分成最小总代价的子数组 II 一、将数组分成最小总代价的子数组I 这道题纯纯阅读理解题,关键在于理解题意。注意:第一…

总体方差与样本方差的区别是什么?

总体方差和样本方差是统计学中两个重要概念,它们在定义和计算上有所不同,主要区别体现在数据集的性质和计算公式的分母上: 1. 总体方差(Population Variance): 定义: 总体方差是指将一个完整数…

嵌入式——窗口看门狗(WWDG)补充

目录 一、独立看门狗与窗口看门狗 1.功能描述 2.两者区别 二、WWDG功能描述 1.窗口看门狗时钟 2.计数器时钟 3. 计数器 4.窗口值 三、WWDG超时时间 一、独立看门狗与窗口看门狗 1.功能描述 STM32有两个看门狗:一个是独立看门狗(IWDG&#xff0…

数据结构三:线性表之单链表(带头结点单向)的设计与实现

线性表的链式存储结构正是所谓的单链表,何谓单链表?通过地址将每一个数据元素串起来,进行使用,这可以弥补顺序表在进行任意位置的插入和删除需要进行大量的数据元素移动的缺点,只需要修改指针的指向即可;单…

网络编程套接字(2)

UDP数据报套接字编程 API介绍 DatagramSocket DatagramSocket是UDP的Socket,用于发送和接收数据报. 操作系统中有一类文件,就叫做socket文件(普通文件/目录文件:在硬盘上的) socket文件:抽象的表示了网卡这样的硬件设备 DatagramSocket就是对socket文件进行读写,也就是借助网…

对于gzip的了解

gzip基本操作原理:通过消除文件中的冗余信息,使用哈夫曼编码等算法,将文件体积压缩到最小。这种数据压缩方式在网络传输中发挥了巨大作用,减小了传输数据的大小,从而提高了网页加载速度。 静态资源 Vue Vue CLl修改v…

WordPress如何使用SQL实现一键关闭/开启评论功能(已有评论)

WordPress本人就自带评论功能,不过由于种种原因,有些站长不想开启评论功能,那么应该怎么实现一键关闭评论功能或开启评论功能呢?或者针对已有评论功能的文章进行一键关闭或开启评论功能应该怎么操作? 如果你使用的Wor…

【.NET Core】深入理解C#中的特殊字符

【.NET Core】深入理解C#中的特殊字符 文章目录 【.NET Core】深入理解C#中的特殊字符一、概述二、$-- 字符串内插2.1 内插字符串的结构2.2 内插原始字符串字面量2.3 特殊字符2.4 内插字符串编译 三、-- 逐字字符串标识符四、“”“--原始字符串文本 一、概述 特殊字符是预定义…

OpenGL/C++_学习笔记(四)空间概念与摄像头

汇总页 上一篇: OpenGL/C_学习笔记(三) 绘制第一个图形 OpenGL/C_学习笔记(四)空间概念与摄像头 空间概念与摄像头前置科技树: 线性代数空间概念流程简述各空间相关概念详述 空间概念与摄像头 前置科技树: 线性代数 矩阵/向量定…

RPC教程 5.支持HTTP协议

1.HTTP的CONNECT方法 Web 开发中,我们经常使用 HTTP 协议中的 HEAD、GET、POST 等方式发送请求,等待响应。但 RPC 的消息格式与标准的 HTTP 协议并不兼容,在这种情况下,就需要一个协议的转换过程。HTTP 协议的 CONNECT 方法提供了…

MybatisPlus二级映射和关联对象ResultMap

文章目录 一、业务背景1. 数据库表结构2. 需求 二、使用映射直接得到指定结构三、其他文件1. Mapper2. Service3. Controller 四、概念理解一级映射二级映射聚合 五、标签使用1. \<collection\> 标签2. \<association\> 标签 在我们的教程中&#xff0c;我们设计了…