新智元报道
来源: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/