最近看到很多概念,杂乱无章有点分不清楚,条分缕析来总结一下。
对比学习和度量学习都是表示学习的分支。
该概念由Bengio在论文 Curriculum learning(ICML, 2009)中提出,其思想是模仿人类学习过程,引导模型由浅入深地学习。百度的开放域聊天机器人 PLATO-2 就使用了课程学习的思想。
课程学习的改进版本,此概念由Kumar et al. 于2010年提出。
近几年对比学习如火如荼,其主要思想是,通过构造正负样本,使得正样本间的距离靠近,负样本间的距离拉远,且负样本间的距离远远大于正样本间的距离。对比学习主要用在无监督和半监督任务中,且为单正例,多负例。
一个好的对比学习系统应该兼顾Alignment和Uniformity,若丢失Alignment,则说明该系统并不能学习到良好的表征;若丢失Uniformity,则说明产生了模型坍塌问题。
对比损失(Contrastive Loss):这一损失最早是Yann LeCun于2016年在论文中提出的。当时该损失主要用在孪生网络中。
对比学习损失(Contrastive Learning Loss):该损失中有一个超参数\tau是为了感知负例难度,其值越小,模型关注到的负样本越少,也越困难。当\tau➡0时,模型只关注到距离当前正样本最近的1~2个负样本,该损失便退化成 Triplet Loss.
将对比学习的思想应用于聚类工作中。
与对比学习相似,度量学习也是通过构造正负样本,拉近正样本间的距离,拉远负样本间的距离。度量学习主要用于有监督任务中,且为二元组或三元组形式。
Pytorch中可直接调用MarginRankingLoss实现
Pytorch中可直接调用TripletMarginLoss实现
一种学习范式,利用任务的对偶性强化模型的学习能力。其思想可见于 Auto Encoder,GAN(Generative Adversarial Network)等。
继 Prompt Learning 后提示学习的升级版。
以下几种学习方式的区别在于模型训练时使用的标注样本与无标注样本的比例或数量有所不同。
few-example是指训练集中包含少量带有标签的样本和大量无标签的样本(类似于半监督学习或弱监督学习,但半监督学习中有标签样本所占比例通常在50%,而少样例学习中有标签样本所占比例通常为1%左右,每个类别中包含3-4个样本)。
训练集中只包含少量带有标签的样本,而不包含无标签样本。
这些语言模型的思想本质上都是通过在大规模训练语料上,使用合适的损失函数进行训练,得到能够更好地提取文本特征的预训练语言模型。
现在已经是预训练语言模型的天下了,各种预训练语言模型层出不穷,“预训练+微调”的方式成为当今主流。
给定上下文信息,预测文本掩码中的词,提高模型对文本的特征提取能力。
Bert是 Google 推出的预训练语言模型框架,Bert全家桶包括:
给定上文信息,预测文本掩码中的词,提高模型生成的文本的流畅性,一般用于文本生成任务中,如英文预训练模型GPT系列、CTRL等;中文预训练模型CPM、PanGu-等。
GPT 系列是 OpenAI 推出的文本生成预训练语言模型框架,目前已经推出三个版本。第一代 GPT 是第一个应用到文本生成任务中的深度预训练语言模型。
T5模型是Google提出的预训练语言模型,其基本思想是:所有的NLP问题都可以定义成“text-to-text”问题,即“输入text,输出text,一个模型干所有”。该模型可以用于文本摘要、机器翻译、智能问答、情感分类,文本分类等下游任务。
值得注意的是,CMU和google brain联手推出的Bert改进版模型XLNet:Generalized Autoregressive Pretraining for Language Understanding将MLM与CLM二者结合,两全其美。
CPM 是在GPT-3的基础上打造的中文预训练语言模型,在词表构建和训练策略上进行了改进。
同样是一个中文预训练语言模型,模型结构也基本沿用transformer的decoder,并使用并行计算提高训练速度。
SLM通常是基于“自回归”(autoregressive)方式来训练P(x),即从左向右,一次预测一个token。
共享权重
不共享权重
获取文本在向量空间的表示形式,即对文本进行符号化表示。
获得词向量的前导步骤就是对一段文本进行分词,常见的分词方法如下:
为使大规模预训练语言模型更好地适用于下游任务,许多微调相关的研究涌现,部分列举如下:
Prompt Tuning
The Power of Scale for Parameter-Efficient Prompt Tuning(EMNLP, 2021)
Prefix Tuning
Prefix-Tuning: Optimizing Continuous Prompts for Generation(ACL, 2021)
Black-Box Tuning
Black-Box Tuning for Language-Model-as-a-Service(ICLR, 2022)
Instruction Tuning
大名鼎鼎的ChatGPT中采用的微调方法
Finetuned Language Models are Zero-Shot Learners(ICLR, 2022 Oral)
上述概念或预训练模型本质上都是为了使得自然语言理解(Natural Language Understanding, NLU)取得更好的效果,以便更好地完成下游任务,或辅助自然语言生成(Natural Language Generation, NLG)任务。