【译】生成式人工智能 - 音频
原作:马可·兰波尼
引言:在生成式人工智能领域,关注的焦点一直放在语言和图像上,但近期在音频领域也取得了许多进展。本文将为您介绍有关生成式音频模型的一切知识。
在过去的十年中,我们见证了人工智能驱动的音频生成技术取得了显著进步,包括音乐和语音合成。然而,直到最近,这些改进仍远远落后于图像和文本生成方面的突出进展。
这种趋势最近开始发生转变。随着大型语言模型和文本到图像生成的各种基本思想被改编并融入到音频模式中,最新的人工智能驱动的音频生成系统正在达到前所未有的质量水平。
去年发布的用户友好型应用,例如用于图像生成的 DALL-E 2 或 Stable Diffusion,以及用于文本生成的 ChatGPT,吸引了全世界对新一波生成式 AI 浪潮的关注。过去几周,谷歌在这个方向上迈出了一些初步的步伐——谷歌的AI实验室和 Meta 开源了其音乐生成器——一些专家现在预计今年AI驱动的音乐生成将迎来“GPT 时刻”。
在语音合成方面,Meta宣布了一个名为Voicebox的先进模型,并完全开源,并且专注于语音生成技术的新兴公司有着明显的发展势头。
但是,这些新的音频生成模型是如何工作的呢?文本或图像技术如何精确应用于生成新的音频数据?
在本文中,我们将概述过去几个月在音频生成的生成式AI领域发生的一些令人兴奋的新进展,解释关键思想的来源以及它们如何结合起来将音频生成提升到一个新的水平。
为什么音频生成很难?
音频信号代表了我们经常遇到的最多元化的数据类型之一,涵盖了从口语到音乐作品以及环境中的环境声音等各种内容。
音频信号可以表示为波形,具有频率、振幅和相位等特定的特征。这些特征的不同组合可以编码声音中的各种信息,如音高和音量。基于波形的表示是传统音频信号处理的基础,但同时也对直接处理波形的数学和计算工具提出了一定程度的复杂性要求。
音频波形是声波通过介质(如空气或水)传播时,随时间变化(x轴)的气压变化或振幅(y轴)的视觉表示。
深度神经网络(DNN)在处理这类高度复杂的模态方面表现出色,因此它们彻底改变了我们处理音频数据建模的方式并不令人意外。今天,我们可以训练深度学习算法,如果使用足够的数据进行训练,这些算法可以自动提取和表示音频信号中包含的信息。这种转变导致了语音识别和判别性人工智能的其他一些应用的显着改进。
传统的机器学习特征管道与端到端深度学习方法相比
另一方面,针对语音和音乐数据的生成式人工智能面临着一些重要挑战。其中之一是由于这些信号中所包含的信息存在多个抽象层次,而这种信息最终可以通过生成模型进行编辑和控制。
例如,语音音频信号在特定语音或声学元素层面上具有密集的局部特征,同时还涵盖了更广泛的类型信息,包括韵律(语音的节奏和语调)、情感语调和说话者意图等方面。
音乐信号同样需要多层次的解释。虽然单个音符及其直接排列通常构成音乐作品的重要组成部分,但整体结构和流程——包括旋律、和声和节奏——构成了另一个独立且至关重要的信息层。
创建令人信服地模拟现实世界声音的合成音频需要具备以下系统能力:
- 统一“理解”(编码)所有这些类型的信息,即采用适合端到端方法的方式。
- 将提示(描述所需音频特性和内容的信息)映射到生成的波形输出上。请注意,提示本身可以是自由文本、音频形式或两者兼有。
可以说,文本和图像生成也面临着类似的要求,那么为什么生成式音频模型存在更强的障碍呢?
尽管语言模型(LLMs)通过积极扩展transformer架构和通过扩散模型的发明取得了进展,但音频模型在类似于扩散模型的架构方面尚未有突破性的进展,也没有出现适用于大规模扩展的卓越模型架构。
主要区别在于可用于训练的高质量数据的数量:虽然图像和文本数据丰富,但音频数据相对稀缺或昂贵。音频信号的信息密度要高得多,并且模型评估(尤其是音乐生成系统)存在独特的困难,进一步突显了这种差异。
在本文的其余部分,我们将全面概述一些借鉴图像和文本生成模型的思想如何适应音频模态,以解决或改善音频生成系统领域特定的一些问题。
文本和图像的生成AI如何影响音频生成模型
以前,文本到音频的AI模型几乎完全依赖声学模型。这些声学模型将文本转换为梅尔频谱图(mel-spectrograms),即声音随时间变化的频率的视觉表示。此外,它们还依赖所谓的声码器模型,用于将梅尔频谱图转换为可听的声音。
以前的文本到语音模型通常采用以下两个组件构成的示意流程:首先,声学模型将输入的文本转换为梅尔频谱图(mel-spectrogram)。梅尔频谱图是音频信号的图像表示,在每个时间步(x轴)上显示了不同频率的音高(y轴),以及它们的不同强度或振幅(颜色渐变)。然后,声码器模型将频谱图转换为波形形式。
虽然这些模型已经证明了一定程度的有效性,但它们需要高质量的音频数据进行训练,而这些数据既稀缺又昂贵。因此,扩展这些系统已被证明是一项具有挑战性的任务。
这种方法还存在泛化能力有限的问题。例如,为了准确复现新发言者的声音,通常需要使用大量来自该发言者的数据对系统进行精细调整。
大型语言模型采用的一种重要方法是将输入数据抽象化以编码各种形式的“意义”,如语法和语义。词嵌入就是一个基本示例。在表示学习方面,最新的一些进展结合了transformer 模型提供的序列建模能力,以有效的方式应用于音频领域。
下一节将介绍一个重要示例,其中将标记化、量化和矢量化技术应用于学习音频特征的离散表示。
音频标记化和音频语言模型
自回归transformers 的主要目标是预测序列中下一个符号或token。token是固定词汇表(符号列表)的一部分,transformer 可以访问该词汇表。
需要注意的是,这个过程是抽象的,transformer 可以处理多种类型的符号,不仅限于人类语言。例如,在生物信息学领域,transformer 已被用于学习和预测蛋白质序列,将氨基酸视为标记。
在基于文本的语言模型中,token通常表示单词或子词单位,模型的任务是预测文本序列中的下一个token,这个过程被称为下一个token预测。将单词转换为token或token化是此过程的一部分。
但为什么要使用token而不是整个单词呢?
token 器可能会将单词"multidisciplinary"拆分为三个token:multi、-disciplin和-ary。
具体的模型和训练数据会有不同的token化策略。
事实证明,使用token 可以管理更灵活的词汇表、提高语言理解能力和计算效率铺平道路。 减少词汇量可以极大地提高模型预测下一个 token 的准确性。 操作标记而不是单词还可以增强模型识别稀有术语和相关单词之间共享模式的能力,从而加快了对大量文本的处理速度。
token 化的一个优点是大幅减小了词汇表的大小,提高了模型的效率和处理时间。
作为语言模型核心的序列延续原理同样适用于音频数据。音频连续的想法假设输入音频波形可以被视为一系列“音频token”。然后可以训练模型来生成与输入特征相符的音频延续。
然而,音频延续的思想也带来了新的技术挑战和问题:在音频波形中,什么是token的等价物?我们可以训练AI模型来标记任何类型的音频数据吗?
解决这些问题需要一种相当复杂的方法,主要是因为逼真的音频生成需要对各种尺度的信息进行建模。一个音频序列通常包含以下内容:
- 语义方面:例如,语音的一致性或音乐中的旋律/和声一致性。
- 声学方面:例如,声音的独特音调或乐器的音色。
一个有效的模型必须正确编码这两种信息类型,并且在生成时必须能够“理解”这种差异的质量。
还有更多因素增加了复杂性:音频序列的数据速率明显高于文本序列:即使经过压缩,记录的人类语音所需的存储空间比相应的文本序列大几个数量级。
粗略计算
平均而言,1秒的英语人类语音大约相当于3个token。假设每个token包含5个字符,每个字符占8位,则一个平均的语音音频秒数需要120位。即使假设输入音频以6kb/s的速率进行压缩,一个语音音频序列所需的存储空间大约是文本序列的50倍。
因此,无论选择哪种token化策略,音频数据都会产生比文本输入更长的token序列。一个生成式音频模型必须能够处理长距离依赖关系,即音频序列中远距离元素之间的关系。
这些依赖关系对于捕获随着时间的推移重复出现或演变的模式至关重要,并且可以是语义类型和声学类型的。例如,在音乐中,整个作品中不断演变的音乐主题或节奏模式的存在往往是我们人类所喜欢的。
然而,所有基于 LLM 的系统都在处理(非常)远程依赖方面遇到了困难,并且大量的工程工作致力于寻找新的方法来扩展其“上下文窗口”。
该图示展示了改进注意力机制的不同策略,注意力机制是transformer 模型的一个组成部分,负责计算序列中不同token之间的依赖关系(通过计算得分)。随着序列变得越来越长,这些计算会迅速变得复杂。
Google的AudioLM是一种尝试解决这些挑战的音频模型。该方法专注于训练一个能够进行音频延续的系统:给定一个简短的音频序列,该模型会生成一个与其上下文一致的输出。
实质上,AudioLM由两个组件组成,每个组件都专门执行不同的任务:
音频嵌入 - 第一个组件 w2v-BERT 是一种在语音数据上训练的 BERT 型语言模型,可生成语义token,捕获本地依赖性(例如语音中的语音学特征或音乐中的本地旋律)和全局长期结构(例如音乐中的和声和节奏)。这些token旨在捕获音频中的长期结构。该模型直接受到词嵌入的启发,并依赖于语音识别领域中使用的 Conformer 架构。
音频量化 - 第二个组件基于 SoundStream,生成声学token,捕获音频波形的细节(如说话者特征或录制条件),并允许进行高质量的合成。
AudioLM的两个主要组件w2v-BERT和SoundStream用于表示音频数据中的语义和声学信息
如果您想了解更多关于音频量化以及SoundStream和EnCodec如何工作的信息,建议阅读《什么是残差矢量量化》
正如我们将在接下来看到的那样,AudioLM的方法对过去几个月开发的许多文本转语音和文本转音乐模型产生了重大影响。
音乐生成器中的文本和旋律调节
图像生成方法采用文本调节来指导基于文本提示的图像创建。这种技术包括训练模型学习文本和图像的联合嵌入,捕获单词(例如,以图像标题的形式)和图像属性之间的关系。
在图像合成(生成)过程中,模型将文本 prompt 中的提示与图像编码相集成,从而确保生成的视觉效果在语义上与给定文本保持一致。下图说明了如何在扩散模型中实现这一点:
在Imagen中,文本条件化是通过将文本嵌入与图像编码结合来实现的。
文本和音乐的联合嵌入怎么样?
用文字描述音乐似乎是一件更复杂、更微妙的事情。虽然某些音乐模式、进程和节奏可能会唤起情感,并且可以用“振奋人心”、“高能量”或“反思”等词来描述,但在这些描述和可能的音乐结果之间存在固有的一对多关系(甚至比图像情况更加明显)。此外,自然语言描述的音乐和相应音乐录音的配对非常稀缺。那么,如何有效地训练文本-音乐联合嵌入呢?
MuLan是由Google开发的一种突破性方法,它基于Transformer的模型,在包含4400万个在线音乐视频配乐及其文本描述的大规模数据集上进行训练。该模型为文本prompt 和目标音频的频谱图生成嵌入。通过将音乐和文本嵌入到同一表示中,MuLan旨在创建一个灵活的界面,通过该界面可以将音乐概念与相关的音乐音频相连接,反之亦然。
MuLan是Google创新的音乐生成器MusicLM的核心组件,它在生成短音乐片段时不仅考虑文本条件,还包括旋律条件,例如哼唱的旋律草图。
现在让我们概述一下 MusicLM 方法背后的关键特征。
MusicLM确实依赖于一种分层的标记化和生成方案
MusicLM是通过对一个庞大的数据集进行训练而生成的音频片段(24kHz分辨率,每个片段30秒)。该数据集包含了280,000小时的录制音乐。MusicLM 背后的主要思想是通过使用不同类型的token(每个token由不同的系统生成)来对三个不同方面的声音进行建模:
- 文本保真度:MuLan 组件每秒生成 12 个音频文本标记的序列,旨在表示音乐和相应的描述信息。
- 长期连贯性(语义建模):基于 w2v-BERT 的第二个组件每秒生成 25 个语义token,表示大规模作曲的特征,例如主题或音色的一致性。它经过预训练以生成遮蔽token的语音,并在8,200小时的音乐上进行了微调。
- 小规模细节(声学建模):SoundStream 的编码器组件每秒生成 600 个声学token,捕获细粒度的声学细节,使模型能够输出高分辨率音频。
MusicLM的生成方案:在推断过程中,MuLan根据输入描述生成音频-文本token。一系列的Transformer根据音频-文本token生成语义token。接着,另一系列Transformer根据语义和音频-文本token学习生成声学token。然后,SoundStream解码器生成音乐片段。
有趣的是,研究人员添加了一个旋律调节组件作为 MusicLM 的完整扩展,使其能够集成旋律提示。这通过允许用户以哼唱、歌唱、吹口哨或演奏乐器的形式提供旋律实现。
为了实现这个功能,研究人员创建了一个新的数据集,其中包含具有相同旋律但不同声学效果的音频对。这是通过使用同一音乐剪辑的不同版本(如翻唱、纯乐器演奏或人声)来实现的。这个数据集被用来训练一个联合嵌入模型,该模型学习关联相似的旋律。
在音乐生成过程中,提供的旋律被使用可变向量量化(RVQ)技术转换成一系列token,并与MuLan的toke进行拼接。这个拼接后的序列被输入到MusicLM中,从而生成不仅与文本描述一致而且遵循输入旋律轮廓的音乐。
语音生成和文本转语音的进展
最近的文本转语音(TTS)方法,如VALL-E,NaturalSpeech 2和Voicebox,实现了可控的“零样本”语音克隆和生成模型。在这种情况下,“零样本”指的是这些模型只需几秒钟的输入就可以学习以前未见过的说话者的独特“语音表示”,这与之前的 TTS 方法相比是一个重大飞跃。
VALL-E 的流程汇集了我们迄今为止讨论的各种想法,可总结如下:
- 它同时接收两种类型的输入:文本 prompt(内容)和声音 prompt(要克隆的语音)。
- 文本 prompt 描述了所需输出的语义内容。它被转换为代表文本音素结构的标记序列(离散音素代码)。
- 声学 prompt 由目标说话者语音的 3 秒注册音频组成。它通过神经编解码器模型 (EnCodec) 转换为离散的声学标记,对单个说话者独特的声音特征进行编码。
- 然后,两个离散代码序列都传递给基于Transformer的神经编解码器,该解码器经过训练,将代码序列映射到波形,这是最终的音频输出。为了提高推断速度,解码器结合了自回归(逐token 生成)和非自回归(并行生成token 序列)的策略。
VALL-E的架构
VALL-E 在一个大型数据集 (Libri-Light) 上进行了训练,该数据集包含 7,000 多名不同说话者的 60,000 小时的英语语音,大约比以前的 TTS 系统使用的数据集大 10 倍。
NaturalSpeech 2 在VALL-E 的基础上更进一步,它能够仅凭自然语音样本就生成歌声。与VALL-E相比,NaturalSpeech 2在一些具体的架构选择和处理TTS任务的方式上有所不同,可以总结如下:
- 音频表示基于连续向量而不是离散音频token序列,这可以减少序列长度,从而避免长程依赖问题。
- NaturalSpeech 2 用潜在扩散模型取代了自回归语言模型的使用。这里的“潜在”意味着扩散机制(迭代去噪)在生成的音频的向量表示层面进行。
- 它包含一个持续/音调预测器组件,使模型能够在没有歌唱 prompt 的情况下进行零样本音乐合成。
NaturalSpeech 2的架构
潜在扩散模型以非自回归的方式生成连续向量分布的样本。在NaturalSpeech 2中,作者强调了这种方法的优点,它有效地减轻了自回归模型中常见的误差传播问题。
在主观人类偏好测试中,这些模型的语音克隆能力展示了与原始声音异常相似的特点。当参与者被要求评估合成语音的自然度时,结果与真实情况相比,CMOS 得分几乎为零,这表明合成语音与真实的人类录音几乎无法区分。
Meta最新的TTS模型Voicebox是一种新颖、高效的模型,它用一种不同的非自回归生成范式(称为流匹配)取代扩散。有趣的是,Voicebox 无需特定任务的训练即可执行语音编辑、噪声消除和风格转换等任务。关于Voicebox的方法和架构,我们将在未来的博客文章中详细介绍。
最后的话
音频生成的生成式AI正在取得显著进展,语音合成模型能够生成与真实声音无法区分的声音,而音乐生成器则能够根据文本或旋律提示创作出逼真的旋律和和声。
当前的发展在内容生成的商业领域具有巨大的潜力,可能最终引入全新的用户体验和消费音乐、播客和有声书的方式。这个领域的进展很可能会持续下去,我们将在未来的博客文章中探讨更多相关内容。