相关背景
语言模型与生成任务
https://blog.csdn.net/qq_27590277/article/details/120662976
语言模型可以通过在大规模语料集上进行预训练(Step1),来学习通用的语言知识和表达能力,然后再根据不同的任务进行微调或者固定参数,来适应特定的领域或者场景(Step2)。预训练语言模型可以提高生成任务的效果和样本效率。
根据学习方式的不同,Step1可以分为如下四种方式:
- 掩码语言模型,采用MLM(Mask Language Model)训练目标,例如BERT、RoBERTa等
- 因果语言模型,采用自回归式语言建模目标,decoder only。例如GPT-2/3、CTRL等
- 前缀语言模型,将前两种模型的优势结合起来,并使用特殊的mask机制,使得输入序列中的单词可以相互关注而输出序列中的单词只能关注到左侧的单词,例如UniLM、GLM等
- 编码器-解码器模型,采用标准的Transformer结构,encoder decoder。例如MASS、T5、BART等
Step2又可以分为如下三种:
- 普通微调,即通过最小化任务特定的损失来使得PLMs的权重适应下游任务。缺点:预训练任务与下游任务之间的gap可能很大,需要引入新的参数。
- 提示微调(Prompt Finetuning),即将文本生成过程定义为前缀式的生成,在GPT3中提出。优点:只需几个样本即可处理很多任务,而不需更新底层模型中的参数。
- 属性微调,即优化PLMs参数使其生成的文本满足某些特殊属性。
离散单元
S2ST可以分为两种方法,一种是预测梅尔谱,一种是预测离散单元。预测离散单元具有以下优点:
- 可以使用现有的NLP技术进行建模
- 降低了光谱图的建模难度
- 离散单元可以由无监督的方式得到,可以适用于unwritten languages
离散语音单元又分为两种:
- 语义单元(Semantic Units/Tokens):上下文相关的信息
- 可以由wav2vec 2.0、HuBERT、mHuBERT、w2v-BERT得到