Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Prompt解锁语音语言模型生成能力,SpeechGen实现语音翻译、修补多项任务

本文提出了一个名为 SpeechGen 的统一框架,该框架可用于任意的 speech LM 及各类语音生成任务,具有很好的潜力。

图片

  • 论文链接:https://arxiv.org/pdf/2306.02207.pdf
  • Demo 页面:https://ga642381.github.io/SpeechPrompt/speechgen.html
  • Code: https://github.com/ga642381/SpeechGen

引言与动机

大型语言模型(LLMs)在人工智能生成内容(AIGC)方面引起了相当大的关注,特别是随着 ChatGPT 的出现。

然而,如何用大型语言模型处理连续语音仍然是一个未解决的挑战,这一挑战阻碍了大型语言模型在语音生成方面的应用。因为语音信号包含丰富的信息,如说话者和情感,超越了纯文本数据,基于语音的语言模型 (speech language model (speech LM)) 不断涌现。

虽然与基于文本的语言模型相比,语音语言模型仍处于早期阶段,但由于语音数据中蕴含着比文本更丰富的信息,它们具备巨大的潜力,令人充满期待。

研究人员正积极探索提示 (prompt) 范式的潜力,以发挥预训练语言模型的能力。这种提示通过微调少量参数,引导预训练语言模型做特定的下游任务。这种技术因其高效和有效而在 NLP 领域备受青睐。在语音处理领域,SpeechPrompt 展示出了在参数效率方面的显著改进,并在各种语音分类任务中取得了竞争性的表现。

然而,提示能否帮助语音语言模型完成生成任务仍是未解之谜。在本文中,我们提出一个创新的统一框架:SpeechGen,旨在激发语音语言模型进行生成任务的潜力。如下图所示,将一段语音、一个特定的提示 (prompt) 喂给 speech LM 作为输入,speech LM 就能做特定的任务。比如将红色的 prompt 当作输入,speech LM 就能做 speech translation 的任务。

图片

我们提出的框架具有以下优点:

1. 无文本 (Textless):我们的框架以及其所依赖的语音语言模型独立于文字数据,拥有无可估量的价值。毕竟,获取标记文本与语音配对的过程耗时繁琐,而且在某些语言中甚至无法找到合适的文本。无需文字的特性使得我们的强大语音生成能力得以覆盖各种语言需求,让全人类受益匪浅。

2. 多功能性 (Versatility):我们开发的框架通用性极高,能应用于各种各样的语音生成任务。论文中实验使用语音翻译、语音修复、语音连续当作例子。  

3. 简易性 (Easy to follow):我们提出的框架为各类语音生成任务提供了通用解决方案,让设计下游模型和损失函数变得轻而易举。

4. 可迁移性 (Transferability):我们的框架不仅容易适应未来更先进的语音语言模型,还蕴藏着巨大的潜力,让效率和效果得到进一步提升。尤其令人振奋的是,随着先进语音语言模型即将问世,我们的框架将迎来更为强大的发展。  

5. 经济性 (Affordability):我们的框架经过精心的设计,只需训练少量参数,而不是整个庞大的语言模型。这极大地减轻了计算负担,并允许在 GTX 2080 GPU 上执行训练过程。大学的实验室也能负担得起这样的运算开销。

SpeechGen介绍

图片

我们的研究方法在于构建一个全新的框架 SpeechGen,该框架主要利用语音语言模型(Spoken Language Models, SLMs)进行各种下游语音生成任务的微调。在训练过程中,SLMs 的参数保持不变,我们的方法侧重于学习任务特定的提示(Prompt)向量。SLMs 通过同时对提示向量和输入单元进行条件设置,有效地生成特定语音生成任务所需的输出。然后,这些离散单元输出被输入到基于单元的语音合成器中,生成对应的波形。

我们的 SpeechGen 框架由三个元素组成:语音编码器、SLM 和语音解码器(Speech Decoder)。

首先,语音编码器将波形作为输入,并将其转换为由有限词汇表导出的单位序列。为了缩短序列长度,会移除重复的连续单位以生成压缩的单位序列。然后,SLM 作为单位序列的语言模型,通过预测前一单位和单位序列的后续单位来优化可能性。我们对 SLM 进行提示调整,以引导其根据任务生成适当的单位。最后,SLM 生成的标记由语音解码器处理,将其转换回波形。在我们的提示调整策略中,提示向量会在输入序列的开始处插入,这将引导 SLMs 在生成过程中的方向。具体插入的提示数量,则取决于 SLMs 的架构。在序列到序列的模型中,编码器输入和解码器输入都会加入提示,但在只有编码器或只有解码器的架构中,只会在输入序列前面添加一个提示。

序列到序列的 SLMs(如 mBART)中,我们采用了自我监督学习模型(如 HuBERT)来处理输入和目标语音。这样做可以为输入生成离散单元,并为目标生成对应的离散单元。我们在编码器和解码器输入的前面都添加了提示向量,以构造输入序列。此外,我们还通过替换注意力机制中的关键值对,以进一步增强提示的指导能力。

在模型训练中,我们以交叉熵损失作为所有生成任务的目标函数,通过比较模型的预测结果和目标离散单元标签来计算损失。在这个过程中,提示向量是模型中唯一需要训练的参数,而 SLMs 的参数在训练过程中保持不变,这确保了模型行为的一致性。我们通过插入提示向量,引导 SLMs 从输入中提取任务特定信息,并提高产生符合特定语音生成任务的输出的可能性。这种方法允许我们微调并调整 SLMs 的行为,而无需修改其基础参数

总的来说,我们的研究方法基于一种全新的框架 SpeechGen,通过训练提示向量,引导模型的生成过程,并使其能有效地产生符合特定语音生成任务的输出。

实验

我们的框架可以用于任意的 speech LM 及各类生成任务,具有很好的潜力。在我们的实验中,由于 VALL-E 和 AudioLM 不是开源的,我们选择使用 Unit mBART 作为 speech LM 进行案例研究。我们用语音翻译 (speech translation)、语音修复 (speech inpainting)、语音连续 (speech continuation) 当作例子,来展示我们框架的能力。这三个任务的示意图如下图所示。所有的任务都是语音输入,语音输出,无需文本帮助。

图片

语音翻译

我们在训练语音翻译 (speech translation) 时,用的是西班牙文转英文的任务。我们给模型输入西班牙语的语音,希望模型产生英文的语音,整个过程无需文本帮助。以下是几个语音翻译的例子,我们会展示正确答案 (ground truth) 与模型的预测 (model prediction)。这些演示示例表明模型的预测捕捉到了正确答案的核心含义。

图片

语音修补

在我们进行语音修补 (speech inpainting) 的实验中,我们特别选取超过 2.5 秒的音频片段作为后续处理的目标语音,并通过随机选择过程挑选出一段时长介于 0.8 至 1.2 秒的语音片段。然后我们对选出的片段进行掩码,模拟语音修补任务中缺失或受损的部分。我们使用词错误率 (WER) 和字符错误率 (CER) 作为评估受损片段修复程度的指标。

对 SpeechGen 生成的输出与受损语音进行比较分析,我们的模型可以显著重建口语词汇,将 WER 从 41.68% 降低到 28.61%,将 CER 从 25.10% 降低到 10.75%,如下表所示。这意味着我们提出的方法能够显著提高语音重建的能力,最终促进语音输出的准确性和可理解性。

图片

下图是一个展示样例,上面的子图是受损的语音,下面的子图是 SpeechGen 产生的语音,可以看到,SpeechGen 很好地修复了受损的语音。

图片

语音连续

我们将通过 LJSpeech 展示语音连续任务的实际应用。在训练提示(prompt)期间,我们的策略是让模型只看到片段的 seed segment,这个 seed segment 占据了语音总长度的部分比例,我们将其称为条件比率(condition ratio, r),并让模型继续生成后续的语音。

以下是一些实例,黑色的文字代表种子片段(seed segment),红色的文字则是 SpeechGen 生成的句子(这里的文字首先经过语音识别得到结果。在训练和推理过程中,模型完全进行的是语音到语音的任务,且完全不接收任何文字信息)。不同的条件比率使 SpeechGen 能够生成不同长度的语句以实现连贯性,并完成一句完整的话。从质量角度看,生成的句子与种子片段在语法上基本一致,并且语义相关。虽然,生成的语音仍然无法完美地传达一个完整的意思。我们预期这个问题将在未来更强大的语音模型中得到解决。

图片

不足与未来方向

语音语言模型和语音生成正处于蓬勃发展的阶段,而我们的框架则提供了一种巧妙地利用强大语言模型进行语音生成的可能性。然而,这个框架仍有一些尚待完善之处,也有许多值得我们深入研究的问题。

1. 与基于文本的语言模型相比,语音语言模型目前还处于发展的初级阶段。虽然我们提出的提示框架能激发语音语言模型做语音生成任务,但并不能达到卓越的性能。不过,随着语音语言模型的不断进步,比如从 GSLM 到 Unit mBART 的大转身,提示的表现有了明显的提升。特别是以前对 GSLM 具有挑战性的任务,现在在 Unit mBART 下表现出更好的性能。我们预计未来会出现更多先进的语音语言模型崭露头角。

2. 超越内容信息:当前的语音语言模型并不能完全捕捉到说话者和情感信息,这给当前的语音提示框架在有效处理这些信息方面带来了挑战。为了克服这个限制,我们引入即插即用模块,专门为框架注入说话者和情感信息。展望未来,我们预计未来的语音语言模型将整合和利用这些内容之外的信息,以提高性能并更好地处理语音生成任务中的说话者和情感相关方面。

3. 提示生成的可能性:对于提示生成,我们有着灵活多变的选择,可以集成各种类型的指示,包括文本和图像指示。想象一下,我们可以训练一个神经网络,让它用图像或文本作为输入,而不是像本文中那样使用训练好的 embedding 当作提示。这个训练好的网络将成为提示生成器,为框架增添了多样性。这样的方式会让提示生成变得更加有趣、更加丰富多彩。

结论

本文我们探索了使用提示来解锁语音语言模型在各种生成任务中的性能。我们提出了一个名为 SpeechGen 的统一框架,该框架仅有约 10M 的可训练参数。我们所提出的框架具有几大特性,包括无需文本、多功能性、高效性、可转移性和可负担性。为了展示 SpeechGen 框架的能力,我们以 Unit mBART 为案例进行研究,并在三个不同的语音生成任务上进行实验:语音翻译、语音修复和语音延续。 

当这篇论文提交到 arXiv 时,Google 提出了一种更先进的语音语言模型 ——SPECTRON,它为我们展示了语音语言模型在建模说话人和情感等信息的可能性。这无疑是一个令人兴奋的消息,随着先进语音语言模型的不断提出,我们的统一框架具有巨大的潜力。
理论语音生成
相关数据
交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

序列到序列技术

语音处理技术

语音处理(Speech processing),又称语音信号处理、人声处理,其目的是希望做出想要的信号,进一步做语音辨识,应用到手机界面甚至一般生活中,使人与电脑能进行沟通。

Audi机构

奥迪是一间德国跨国豪华汽车制造商,主要从事豪华和高性能汽车制造业。总部位于德国巴伐利亚州的英戈尔施塔特。是大众集团的成员。奥迪与德国品牌宝马和梅赛德斯-奔驰一起,是世界上最畅销的豪华汽车品牌之一。

http://www.audi.com/
语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

语音合成技术

语音合成是通过机械的、电子的方法产生人造语音的技术。TTS技术(又称文语转换技术)隶属于语音合成,它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的汉语口语输出的技术。

推荐文章
暂无评论
暂无评论~