最近看到很多概念,杂乱无章有点分不清楚,条分缕析来总结一下。
1. XX学习
对比学习和度量学习都是表示学习的分支。
对比学习
近几年对比学习如火如荼,其主要思想是,通过构造正负样本,使得正样本间的距离靠近,负样本间的距离拉远,且负样本间的距离远远大于正样本间的距离。对比学习主要用在无监督和半监督任务中,且为单正例,多负例。
一个好的对比学习系统应该兼顾Alignment和Uniformity,若丢失Alignment,则说明该系统并不能学习到良好的表征;若丢失Uniformity,则说明产生了模型坍塌问题。
相关模型
- 图像:SimCLR、MoCo、BYOL等
- 文本:SimCSE、SBert等
- 多模态:OpenAI的CLIP、百度的BriVL等
相关损失
-
对比损失(Contrastive Loss):这一损失最早是Yann LeCun于2016年在论文中提出的。当时该损失主要用在孪生网络中。
-
对比学习损失(Contrastive Learning Loss):该损失中有一个超参数\tau是为了感知负例难度,其值越小,模型关注到的负样本越少,也越困难。当\tau➡0时,模型只关注到距离当前正样本最近的1~2个负样本,该损失便退化成 Triplet Loss.
- InFoNCELoss
度量学习
与对比学习相似,度量学习也是通过构造正负样本,拉近正样本间的距离,拉远负样本间的距离。度量学习主要用于有监督任务中,且为二元组或三元组形式。
- 二元组损失(Pairwise Ranking Loss):形为(正样本,负样本)的二元组
Pytorch中可直接调用MarginRankingLoss
实现
- 三元组损失(TripletLoss):形为(锚样本,正样本,负样本)的三元组,通常在计算损失之前会有一个三元组采样的过程。
Pytorch中可直接调用TripletMarginLoss
实现
对比聚类
相关模型
- SwAV、DeepClusterv2等
课程学习
2. XX语言模型
这些语言模型的思想本质上都是通过在大规模训练语料上,使用合适的损失函数进行训练,得到能够更好地提取文本特征的预训练语言模型。
MLM(掩码语言模型)
给定上下文信息,预测文本掩码中的词,提高模型对文本的特征提取能力。
Bert(Bidirectional Encoder Representations from Transformers)
Bert是 Google 推出的预训练语言模型框架,Bert全家桶包括:
- Bert:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding(NAACL, 2019) Google
- SpanBert:SpanBERT: Improving Pre-training by Representing and Predicting Spans(TACL, 2020) Facebook & 华盛顿大学
- Roberta:RoBERTa: A Robustly Optimized BERT Pretraining Approach(2019) Facebook & 华盛顿大学
- ALBert:ALBERT: A Lite BERT for Self-supervised Learning of Language Representations(ICLR, 2020) Google
- Electra:Efficiently Learning an Encoder that Classifies Token Replacements Accuratel(ICLR, 2020) Stanford & Google
相关损失
- mlm损失
CLM(因果语言模型)
给定上文信息,预测文本掩码中的词,提高模型生成的文本的流畅性,一般用于文本生成任务中,如GPT系列、CTRL等。
GPT(Generative Pre-Training)
GPT 是 OpenAI 推出的文本生成预训练语言模型框架,目前已经推出三个版本。
- GPT: Improving Language Understanding by Generative Pre-Training
- GPT-2:Language Models are Unsupervised Multitask Learners(CSUR, 2018)
- GPT-3: Language Models are Few-Shot Learners(NeurIPS, 2020) 有1750亿个参数
- 最近公布的ChatGPT采用了新的训练方式 RLHF(Reinforcement Learning from Human Feedback),掀起一波 AIGC(Artificial Inteligence Generated Content) 的热潮。
T5(Text-To-Text Transfer Transformer)
T5模型是Google提出的预训练语言模型,其基本思想是:所有的NLP问题都可以定义成“text-to-text”问题,即“输入text,输出text,一个模型干所有”。该模型可以用于文本摘要、机器翻译、智能问答、情感分类,文本分类等下游任务。
值得注意的是,CMU和google brain联手推出的Bert改进版模型XLNet:Generalized Autoregressive Pretraining for Language Understanding将MLM与CLM二者结合,两全其美。
PPLM(即插即用语言模型)
相关模型
- CTRL(Conditional Transformer Language Model)
VLP(Vision-Language Pre-training,视觉语言预训练)
相关模型
- BLIP(Bootstrapping Language-Image Pre-training)
3. XX网络
孪生网络(Siamese Network)
共享权重
伪孪生网络(Pseudo-Siamese Network)
不共享权重
4. 词&句向量预训练语言模型
词向量预训练语言模型
- Word2Vec
Efficient Estimation of Word Representations in Vector Space - ELMo(Embeddings from Language Models)
Deep Contextualized Word Representations(NAACL, 2018)
句向量预训练语言模型
- SIF(Smooth Inverse Frequency,非预训练语言模型)其中用到Word2Vec
A Simple but Tough-to-Beat Baseline for Sentence Embeddings