数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
三十九、CLEAR [2020]
学习一个更好的
sentence representation model
一直是自然语言处理的一个基本问题。以word embedding
的平均值作为sentence representation
(也称为均值池化)是早期常见的baseline
。后来,预训练模型(如BERT
)提出在预训练中插入一个special token
(即[CLS] token
),并将其embedding
作为sentence representation
。由于BERT
带来的巨大改进,人们似乎同意CLS-token embedding
比averaging word embeddings
更好。然而,最近的一篇论文SBERT
观察到,所有output word vectors
的平均,要比CLS-token embedding
的效果要好一点。SBERT
的结果表明,像BERT
这样的模型在token level
学习了更好的representation
。一个自然的问题是如何更好地学习sentence representation
。受计算机视觉中对比学习的成功启发,论文
《CLEAR: Contrastive Learning for Sentence Representation》
有兴趣探索它是否也能帮助语言模型产生更好的sentence representation
。对比学习的关键方法是在训练过程中对正样本进行增强。然而,文本的数据增强并不像图像的数据增强那样丰富。图像可以通过旋转、cropping
、调整大小、cutouting
等方式轻松增强。在NLP
中,文献中研究的数据增强方式很少。主要原因是,句子中的每个单词都可能在表达整个意思时起到至关重要的作用。此外,单词的顺序也很重要。大多数现有的预训练语言模型都是在文本中加入不同类型的噪音,并试图在
word-level
上还原它们。sentence-level objective
很少被研究。BERT
将word-level loss
(masked language modeling: MLM
)与sentence-level loss
(next sentence prediction: NSP
)相结合,并观察到MLM+NSP
对一些下游任务是必不可少的。RoBERTa
在预训练中放弃了NSP
目标,但在各种下游任务中取得了更好的表现。ALBERT
提出了一个用于Sentence-Order Prediction: SOP
的自监督损失,用于建模句子之间的连贯性inter-sentence coherence
。他们的工作表明,coherence prediction
是比主题预测topic prediction
(NSP
使用的方式)更好的选择。DeCLUTR
是第一个将对比学习(Contrastive Learning: CL
)与MLM
结合起来进行预训练的工作。然而,它需要一个极长的输入文件,即2048
个token
,这限制了模型在有限的数据上进行预训练。此外,DeCLUTR
从existing pre-trained model
中进行训练,所以当它从头开始训练时,是否也能达到同样的性能仍是未知数。
借鉴最近在
pretrained language model
和对比学习方面的进展,《CLEAR: Contrastive Learning for Sentence Representation》
提出了一个新的框架CLEAR
,将word-level MLM objective
和sentence-level CL objective
结合起来对语言模型进行预训练:MLM objective
使模型能够捕获word-level hidden features
。而
CL objective
则通过训练编码器以最小化同一句子的不同augmentation
的embedding
之间的距离,确保模型具有识别相似含义句子的能力。
在
CLEAR
中,作者提出了一种新的augmentation
设计,可用于在sentence-level
预训练语言模型。论文贡献:
提出并测试了四种基本的句子增强方法:
random-words-deletion
、spans-deletion
、synonym-substitution
、reordering
,这填补了NLP
中关于什么样的augmentation
可以用于对比学习的巨大空白。在
GLUE
和SentEval
基准上,CLEAR
超过了几个强大的baseline
(包括RoBERTa
和BERT
)。例如,与RoBERTa
模型相比,CLEAR
在8
个GLUE
任务上显示了+2.2%
的绝对改进,在7
个SentEval
语义文本相似性任务上显示了+5.7%
的绝对改进。
相关工作:
Sentence Representation
:将各种池化策略应用于
word embeddings
作为sentence representation
是一个常见的baseline
。Skip-Thoughts
训练了一个encoder-decoder
模型,该模型试图重建周围的句子。Quick-Thoughts
训练一个仅有编码器的模型,能够从其他contrastive sentences
中选择句子的正确上下文。后来,许多
pre-trained language models
,如BERT
提出使用人工插入的token
([CLS] token
)作为整个句子的representation
,并成为各种下游任务中的新的SOTA
。最近的一篇论文
SBERT
将average BERT embeddings
与CLS-token embedding
进行了比较,并令人惊讶地发现,在BERT
的最后一层计算所有输出向量的平均值要比CLS-token embedding
的性能略好。
Large-scale Pre-trained Language Representation Model
:深度pre-trained language model
已经证明了它们在捕获隐式的语言特征方面的能力,即使是不同的模型架构、不同的预训练任务、以及不同的损失函数。其中两个早期工作是GPT
和BERT
。GPT
使用了一个从左到右的Transformer
,而BERT
设计了一个双向的Transformer
。两者都在很多下游任务中创造了一个令人难以置信的新的SOTA
。最近,人们在
pre-trained language model
领域发表了大量的研究工作。一些人将以前的模型扩展到序列到序列的结构,这加强了模型在语言生成上的能力。另一些人探索不同的预训练目标,以提高模型的性能或加速预训练。Contrastive Learning
:对比学习已经成为一个正在崛起的领域,因为它在各种计算机视觉任务和数据集中取得了巨大的成功。一些研究人员提出使图像的不同augmentation
的representation
相互一致,并显示出积极的结果。这些工作的主要区别在于他们对图像增强的不同定义。NLP
领域的研究人员也开始致力于为文本寻找合适的增强。CERT
应用back-translation
来创建原始句子的增强,而DeCLUTR
认为一个文档内的不同span
相互之间是相似的。我们的模型与
CERT
的不同之处在于,我们采用了encoder-only
的结构,这减少了decoder
带来的噪音。DeCLUTR
只测试一种augmentation
,并且从existing pre-trained model
中训练模型。与DeCLUTR不
同的是,我们从头开始预训练所有的模型,这提供了一个与existing pre-trained model
的直接比较。
39.1 模型
对比学习框架:借用
SimCLR
,我们提出了一个新的对比学习框架来学习sentence representation
,命名为CLEAR
。CLEAR
有四个主要组件,如下图所示。augmentation component
$ \text{AUC}(\cdot) $ :在原始句子上应用随机的augmentation
。对于每个原始句子 $ s $ ,我们产生两个随机的augmentation
$ \tilde s_1 = \text{AUC}(s,\text{seed}_1) $ 和 $ \tilde s_2 = \text{AUC}(s,\text{seed}_2) $ ,其中 $ \text{seed}_1 $ 和 $ \text{seed}_2 $ 是两个随机数种子。注意,为了单独测试每种augmentation
的效果,我们采用相同的augmentation
来生成 $ \tilde s_1 $ 和 $ \tilde s_2 $ 。测试mixing augmentation
的模型需要更多的计算资源,我们计划将其留给未来的工作。augmentation
集合 $ \mathcal A $ 将在后面内容介绍。transformer-based encoder
$ f(\cdot) $ :学习input augmented sentence
的representation
$ \mathbf H_1 = f\left(\tilde s_1\right) $ 和 $ \mathbf H_2 = f\left(\tilde s_2\right) $ 。任何能够学习sentence representation
的编码器都可以在这里。我们选择目前的SOTA
(即transformer
)来学习sentence representation
,并使用manually-inserted token
(即[CLS]
,如BERT
和RoBERTa
中使用的) 的representation
作为句子的向量。nonlinear neural network projection head
$ g(\cdot) $ :将encoded augmentation
$ \mathbf H_1 $ 和 $ \mathbf H_2 $ 投影到新空间中的向量 $ \mathbf{\vec z}_1= g(\mathbf H_1), \mathbf{\vec z}_2=g(\mathbf H_2) $ 。根据SimCLR
的观察,添加一个非线性的projection head
可以大大改善图像的representation quality
。contrastive learning loss function
:为contrastive prediction
定义的,即试图预测集合 $ \left\{\tilde s\right\} $ 中的positive augmentation pair
$ \left(\tilde s_1,\tilde s_2\right) $ 。我们通过对mini-batch
(假设mini-batch
是一个大小为 $ N $ 的集合 $ \left\{ s\right\} $ )中的所有句子随机增强两次来构建集合 $ \left\{\tilde s\right\} $ ,其大小为 $ 2N $ 。来自同一原始句子的两个变体构成positive pair
,而来自同一mini-batch
的所有其他实例被视为它们的负样本。positive pair
的损失函数定义为:其中:
$ \mathbb I_{k\ne i} $ 为示性函数,仅当 $ k\ne i $ 时取值为1
,否则取值为零; $ \tau $ 为温度参数; $ \text{sim}\left(\mathbf{\vec u}, \mathbf{\vec v}\right) $ 为两个向量 $ \mathbf{\vec u} $ 和 $ \mathbf{\vec v} $ 的余弦相似度。总的
contrastive learning loss
定义为mini-batch
中所有positive pairs
的损失之和:其中:
$ m(i,j) $ 为一个函数,当且仅当 $ (i,j) $ 构成positive pair
时返回1
,否则返回0
。对比学习的
sentence embedding
方法都遵从这样的损失函数,不同的方法的区别在于:如何构建augumented sentence
。
Combined Loss
:类似DeCLUTR
,为了同时捕获token-level
特征和sentence-level
特征,我们联合使用MLM objective
和CL objective
来得到总体损失:其中:
$ \mathcal L_\text{MLM} $ 是通过预测集合 $ \{s\} $ 中的random-masked token
来计算的,如BERT
和RoBERTa
所述。我们的预训练目标是最小化
$ \mathcal L_\text{total} $ 。是否可以用超参数
$ \alpha $ 来平衡这两种损失?如, $ \mathcal L_\text{total} = \mathcal L_\text{MLM} +\alpha \mathcal L_\text{CL} $ 。Sentence Augmentation
的设计原理:数据增强对于学习图像的representation
至关重要。然而,在语言建模中,数据(句子)增强是否有利于representation learning
、以及什么样的数据增强可以适用于文本,仍然是一个未知数。为了回答这些问题,我们在实验中探索并测试了四种基本的augmentation
(如下图所示)及其组合。我们确实相信存在更多潜在的augmentation
,我们计划将其留待将来探索。deletion
:这种数据增强基于这样的假设:在一个句子中删除一些内容不会对原来的语义产生太大影响。在某些情况下,删除一些单词导致句子的不同含义(例如,删除not
这个词)。然而,我们相信包括适当的噪音可以使模型更加鲁棒。我们考虑两种不同的删除方式,即word deletion
和span deletion
。word deletion
:随机选择句子中的token
,并用一个special token [DEL]
替换它们,如下图(a)
所示。这与BERT
中的token [MASK]
类似。span deletion
:在span-level
上挑选和替换deletion objective
,如下图(b)
所示。。一般来说,span-deletion
是word-deletion
的一个特例,它更注重删除连续的单词。
对于相同位置上出现的
word deletion
和span deletion
,默认很容易区分这两种augmentation
(根据是否存在连续的token [DEL]
)。为了避免模型容易地区分这两种augmentation
,我们把连续的token [DEL]
消除成一个token [DEL]
。reordering
:BART
已经探索了从随机重排的句子中恢复原始句子。在我们的实现中,我们随机抽出几个span pair
,并将它们pairwise
地交换,以实现reordering augmentation
,如下图(c)
所示。。substitution
:《Certified robustness toadversarial word substitutions 》
已证明substitution
能有效提高模型的鲁棒性。遵从他们的工作中,我们对一些词进行采样,并用同义词替换它们来构建一个augmentation
。同义词列表来自他们使用的vocabulary
。在我们的预训练语料库中,大约有40%
的token
在列表中至少有一个similar-meaning token
。
39.2 实验
模型配置:
编码器:
Transformer
(12
层、12 head
、768 hidden size
)。预训练
500K
个step
,batch size = 8192
,最大序列长度为512
个token
。优化器:
Adam
, $ \beta_1=0.9, \beta_2= 0.98, \epsilon = 10^{-6} $ ,L2
权重衰减0.01
。学习率:开始的
23k
步中,学习率被预热到6e-4
的峰值,然后在剩下的时间里线性递减。线性递减的速度是多少?论文并未说明。
在所有层和所有注意力中使用
dropout = 0.1
。所有的模型都在
256
个NVIDIA Tesla V100 32GB GPU
上进行了预训练。
预训练数据:
BookCorpus + English Wikipedia
的联合数据集(也是用于预训练BERT
的数据集)。关于数据集的更多统计数据和处理细节,可以参考BERT
的原始论文。MLM
的超参数:为了计算
MLM loss
,我们随机掩码了输入文本 $ s $ 的15%
的token
,并使用周围的token
来预测它们。为了弥补
fine-tuning
和pre-training
之间的gap
,对于masked tokens
,我们还采用了BERT
中的10%-random-replacement
和10%-keep-unchanged
设置。
CL
的超参数:Word Deletion (del-word)
删除了70%
的token
,Span Deletion (del-span)
删除了5
个span
(每个span
的长度为输入文本的5%
)。Reordering (reorder)
:随机挑选5
对span
(每个span
的长度为输入文本的5%
),并pairwise
地交换span
。
上述一些超参数在
WiKiText-103
数据集上稍作调优(训练了100
个epochs
,在GLUE dev
基准上进行评估)。 例如,我们发现70%
的deletion model
在{30%, 40%, 50%, 60%, 70%, 80%, 90%}
的deletion model
中表现最好。对于使用
mixed augmentation
的模型,如MLM+2-CL-objective
,它们使用与单个模型相同的优化超参数。注意,符号MLM+subs+delspan
代表了一个结合了MLM loss
和CL loss
的模型:对于
MLM
,它掩码了15%
的token
。对于
CL
,它首先替换了30%
的token
,然后删除了5
个span
来生成augmented sentence
。
请注意,我们使用的超参数可能不是最优化的参数。然而,
1-CL objective model
上的最优超参数在2-CL objective model
上的表现是否一致还不得而知。此外,目前还不清楚WiKiText-103
的最优超参数是否仍然是BookCorpus
和English Wikipedia
数据集上的最优参数。然而,由于预训练需要大量的计算资源,很难对每一个可能的超参数进行调优。我们将把这些问题留待将来探索。General Language Understanding Evaluation: GLUE Result
:GLUE
是一个包含几种不同类型的NLP
任务的基准:自然语言推理任务(MNLI, QNLI, RTE
)、相似性任务(QQP, MRPC, STS
)、情感分析任务(SST
)、和语言接受性linguistic acceptability
任务(CoLA
)。它为pretrained language model
提供了一个全面的评价。为了适应不同的下游任务的要求,我们遵循
RoBERTa
的超参数,为各种任务微调我们的模型。具体来说,我们增加了一个额外的全连接层,然后在不同的训练集上微调整个模型。我们包括的主要
baseline
是BERT_base
和RoBERTa_base
。BERT_base
的结果来自huggingface
的重新实现。一个更公平的比较来自RoBERTa_base
,因为我们为MLM Loss
使用了具有相同超参数的RoBERTa_base
。注意,我们的模型都是结合了两个损失的,将MLM-only model
与MLM+CL model
进行比较仍然是不公平的。为了回答这个问题,我们在消融实验中设置了另外两个baseline
以进行更严格的比较:一个baseline
结合了两个MLM loss
,另一个baseline
采用了double batch size
。实验结果如下表所示,可以看到:
我们提出的几个模型在
GLUE
上的表现超过了baseline
。注意,不同的任务采用不同的评价矩阵,我们的两个最好的模型MLM+del-word
和MLM+del-span+reorder
都将最佳基线RoBERTa_base
的平均得分提高了2.2%
。此外,一个更重要的观察是,每个任务的最佳性能都来自我们提出的模型。在
CoLA
和RTE
上,我们的最佳模型分别比baseline
高出7.0%
和8.0%
。此外,我们还发现,不同的下游任务从不同的
augmentation
中受益。我们将在后续实验中进行更具体的分析。一个值得注意的是,我们没有在下表中显示
MLM+subs, MLM+reorder, MLM+subs+reorder
的结果。我们观察到,这三个模型的预训练要么迅速收敛,要么存在梯度爆炸问题,这说明这三个augmentation
太容易区分了。
用于语义文本相似性任务的
SentEval Results
:SentEval
是一个流行的benchmark
,用于评估通用的sentence representation
。这个benchmark
的特点是,它不像GLUE
那样进行微调。我们评估了我们提出的方法在SentEval
上常见的语义文本相似性(Semantic Textual Similarity: STS
)任务的性能。注意,之前SentEval
排行榜上的一些模型(例如SBERT
)在特定的数据集上进行训练,例如Stanford NLI
和MultiNLI
,这使得我们很难直接比较。为了更容易直接比较,我们与RoBERTa-base
进行比较。根据SBERT
,在最后一层使用所有输出向量的平均值比使用CLS-token output
更有效。我们为每个模型测试这两种池化策略(即,均值池化、CLS
池化)。结果如下表所示。可以看到:
均值池化策略并没有显示出太大的优势。在许多情况下,对于我们提出的模型,
CLS-pooling
比均值池化要好。其根本原因是,对比学习直接更新了[CLS] token
的representation
。此外,我们发现加入
CL loss
使模型在STS
任务中表现特别好,以很大的幅度(+5.7%
)击败了最佳baseline
。我们认为这是因为对比学习的预训练是为了找到相似的sentence pair
,这与STS
任务相一致。这可以解释为什么我们提出的模型在STS
上有如此大的改进。
消融研究:我们提出的
CL-based model
优于MLM-based model
,剩下的一个问题是,我们提出的模型从哪里受益?它是来自于CL loss
,还是来自于更大的batch size
(因为要计算CL loss
,我们需要在每个batch
中存储额外的信息)?为了回答这个问题,我们设置了两个额外的baseline
:Double MLM RoBERTa-base
采用MLM+MLM loss
,每个MLM
都是针对同一个原始句子在不同mask
上进行的。Double-batch RoBERTa-base
具有double-size batch
的单个MLM loss
。
由于计算资源的限制,我们在一个较小的预训练语料,即
WiKiText-103
数据集上进行消融研究。下表中列出的所有模型都在64
个NVIDIA Tesla V100 32GB GPU
上预训练了500
个epoch
。表中报告了我们提出的三个模型。可以看到:与原始的
RoBERTa-base
相比,变体的总体性能并没有显示出太大的差异,在Double-batch RoBERTa-base
上的平均得分增加了+0.4%
,这证实了以前的工作所提出的更大的batch
有利于representation training
的想法(参考RoBERTa
原始论文)。然而,表现最好的
baseline
仍然没有我们提出的最佳模型好。这告诉我们,我们所提出的模型并不仅仅受益于较大的batch
,CL loss
也有帮助。
MLM+MLM loss
的效果反而下降了,论文并未解释这一现象的原因。读者猜测是因为过拟合。MLM+MLM loss
相当于BERT
预训练的更新次数翻倍,使得模型过拟合。不同的
augmentation
学习不同的feature
:在下表中,我们发现一个有趣的现象:所提出的不同的模型在不同的任务中表现良好。其中一个例子是
MLM+subs+del-span
帮助该模型在处理相似性任务和转述任务时表现良好。在QQP
和STS
上,它取得了最高分;在MRPC
上,它排名第二。我们推断,MLM+subs+del-span
在这类任务中表现出色,是因为同义词替换有助于将原始句子翻译成意义相近的句子,而删除不同的span
则可以看到更多种类的similar sentences
。将它们结合起来可以增强模型处理许多unseen sentence pair
的能力。我们还注意到,
MLM+del-span
在推理任务(MNLI, QNLI, RTE
)上取得了良好的表现。其根本原因是,通过span
删除,模型已经被预训练得很好从而能够推断出其他类似的句子。识别similar sentence pair
的能力有助于识别contradiction
。因此,预训练任务和这个下游任务之间的差距缩小了。
总的来说,我们观察到,不同的
augmentation
学习了不同的feature
。一些specific augmentation
在某些特定的下游任务中特别出色。设计task-specific augmentation
或探索meta-learning
以适应性地选择不同的CL objective
是一个有前途的未来方向。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论