训练语言模型何需文本?FB发布GSLM:无需标签,从语音直接训!

新智元报道来源:FacebookAI编辑:LRS【新智元导读】不用文本就能训练语言模型?听起来像天方夜谭,竟被Facebook给实现了!最近他们推出了一种新的语言模型训练方式GSLM,从语音开始训练,不需要标签,不需要大规模数据,不需要ASR模型,让每个语言都能享受大规模语言模型的

NetSmell 出品

  新智元报道

  来源:Facebook AI

  编辑:LRS

  【新智元导读】不用文本就能训练语言模型?听起来像天方夜谭,竟被 Facebook 给实现了!最近他们推出了一种新的语言模型训练方式 GSLM,从语音开始训练,不需要标签,不需要大规模数据,不需要 ASR 模型,让每个语言都能享受大规模语言模型的便利!

  基于文本的语言模型如 BERT、RoBERTa 和 GPT-3,借助 Transformer 的春风,近年来取得了巨大的进步。

  给模型一段文本,它们就可以像人一样进行文本补全。并且它们还是全能的预训练模型,可以在此基础上针对各种自然语言处理任务进行微调,包括情感分析、翻译、信息检索、推理和摘要等等,只需使用少量标签带标签的样本就可以取得很好的效果。

  但这些模型的应用场景也有一个重要的限制:只是对于那些拥有大规模文本数据的语言来说是有效的,如果这门小众语言的语料很少,那大型预训练模型就无法发挥作用了。

  Facebook 面对这个问题的解决方案是生成性口语模型(GSLM, Generative Spoken Language Model),这也是第一个摆脱对文本依赖的高性能 NLP 模型。

  GSLM 利用在表征学习方面的突破,能够直接在原始音频信号上训练模型,并且无需任何带标签的文本。

  这种训练模式也开创了 textless NLP 的新时代,能够让那些重要的小众语言但缺乏数据集也能享受预训练模型的便利。GSLM 还让 NLP 模型结合了口头语言,具有更全面的表达能力。

  在 GSLM 推出模型之前,想要训练一个能直接连接到语音数据的 NLP 的应用程序则必须要先训练一个语音识别 ASR 系统。

  训练两个模型的弊端就意味着更多的标注、更多类别的数据,并且可能引入更多的错误。并且 ASR 模型对于语言学的交互编码做的不是很好,训练后的 ASR 模型只适用于那些大众化的语言。

  针对这个问题, textless NLP 的愿景是抛弃 ASR 模型,打造一个「端到端」的,能够处理从语音输入到语音输出的一个模型。

  这个模型在现实中也有对照,例如研究人员普遍认为学龄前儿童仅从原始感官输入和音频交互就可以学习语言,这个想法也可以应用到 AI 模型的开发。

  GSLM 模型主要包含三个组件:

  1、将语音数据转换为离散的单元 ,每个单元可以表示一个口语中频繁出现的音节;

  2、一个自回归、基于单元训练的语言模型 ,主要训练方法和语言模型相同,根据上文预测下一个单元;

  3、将每个发音单元转换为对应语音的解码器 。

  GSLM 的评估主要是在两个简单的 end-to-end 任务上,第一个是离散单元再合成,把输入编码为一系列离散的单元,称之为伪文本(pseudo-text) ,然后使用这些离散的单元来重新合成输入的声音;第二个任务是语音生成,使用语言模型根据一段输入提示词来采样生成一段伪文本,可以在有条件下或无条件下均可。

  在 S2u 的编码器中,通过k-means 聚类和去冗余(移除连续的相同单元)测试了三个 sota 编码器模型性能:CPC, wav2vec 2.0 和 HuBERT。使用标准的 Transformer 和 Tacotron 2 作为解码器用来做语言模型建模。

  在 uLM(unit-based Language Model)部分,在6,000 小时的 Libri-Light 和 Librispeech 的有声读物上训练了编码器和 uLM,并在 Librispeech 和 LJspeech 数据上训练解码器。整个过程都是在原始音频的自监督下训练的,没有引入任何文本或标签,语言模型和文本到语音组件是在从原始音频派生的伪文本上训练的。

  通过比较这些不同的模型时,研究人员发现并无法分析生成的伪文本,因为这些自监督发现的单元没有与字母或音素建立一一对应的关系。一个性能不错的模型通常使用 100 个或更多单元,并且它们通常获得的编码是比音素更短的语音片段,所以研究人员又使用预训练的 ASR 模型将生成的音频转换回文本。

  这时候就可以使用音素错误率(phoneme error rate, PER)来比较原始输入的音素与 ASR 重新转录的音素的差异来衡量重新合成音频的准确度,以及使用 AUC 来度量有条件或无条件生成的语音质量和多样性。

  在进行模型评估时,研究人员还发现了几个问题:

  首先,量化器使用的离散单元数量很重要:数字越大,在声学级的效果越好,但代价是比特率会更高;

  第二,在语言层面上也有类似的趋势,但在某些情况下,使用过多的单元数量对于生成性能有影响;

  第三,不同的编码器产生了非常不同的结果,总的来说 HuBERT 的性能最好;

  第四,自动生成的指标与人有很好的相关性。

  最后,通过在零资源语音基准(Zero Resource Speech Benchmark)数据中快速计算 zero-shot 指标,发现这个模型可以作为快速迭代的好代理(proxy)。

  虽然编码器发现的单元不是音素,但它可以通过音标来区分「pa」和「ba」,并且能够忽略说话者的音色和声道信息。

  此外,语调和说话节奏被称为韵律(prosody),韵律与音素的编码通常会忽略更多具有表现力的全局语音属性,所以模型的第二步需要通过改进编码器和解码器来捕捉韵律。

  为此需要训练一个变分自编码器(VAE),利用矢量量化(vector quantization)来获取唯一的潜在表示,文中取名为 VQ-VAE。

  VQ-VAE 的输入是音高(pitch)信息以及一个简化的文本转语音系统,文本转语音系统的输入需要能够接收离散的、非重复的伪文本单元,VQ-VAE 的量化音高信息,和学习到的 speaker embedding。

  在 LJspeech(单人说话)和 VCTK(多人说话)上评估了这种架构的有效性,同样发现基于 HuBERT 的单元在客观指标和主观评估分数方面都提供了非常好的结果。

  由于语音和韵律单元的识别与说话人高度不相关,所以学习到的模型能够通过改变输出 speaker embedding 来执行语音传输,同时保留语音单元和原始输入的韵律。

  它还可以用作语音编解码器,可以仅生成 voice embedding 以及单元和韵律的离散编码。GSLM 系统与当前的语音编解码器相比具有优势,同时使用的比特率要低得多,大概可以压缩 20 倍,与使用矢量量化变分自动编码器的语音编解码器相比是 2 倍压缩率。

  不过 GSLM 仅能用于语音的压缩,无法编码其他形式的音频,例如音乐等。

  模型的最后一步是在 LM 中加入韵律表达,即联合建模语音的内容及其韵律研究人员提出了一个多流因果 Transformer(multistream causal Transformer),其中输入和输出层有多个头,对每个语音通道都进行分别建模。论文使用了三个通道:伪音素单位、持续时间和量化音高(quantized pitch)。

  与基线模型一样,这个韵律 GSLM 也是在有声读物的原始声音波形中训练得到的。添加这些额外的通道和任务可以提高 LM 在单元的困惑度分数方面的性能。

  经过训练的模型还可以联合生成与提示的表达风格一致的内容和韵律。

  Facebook 表示,他们的下一个目标是将 GSLM 应用于随意和自发的语音和对话的数据集,其中基于文本的方法和 ASR 最困难。

  此外,研究人员希望用更多的实验和任务来表明 GSLM 可以有效地用于预训练,仅用很少的标记数据即可训练下游任务,如口语摘要、口语情感分析和信息检索任务。

  最终的目标是利用口头语言相对于书面语言在表达能力和意义微妙方面产生更大的优势,并且能够在世界上任何一种语言上训练模型,这为理解人类思想开辟了几乎无限的潜在数据集。

  参考资料:

  https://ai.facebook.com/blog/textless-nlp-generating-expressive-speech-from-raw-audio/

显示余下内容
 

发表评论

邮箱地址不会被公开。 必填项已用*标注