数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 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
- 并发
十一、ERNIE 1.0 [2019]
language representation pre-training
已被证明对改善许多自然语言处理任务很有效,如命名实体识别named entity recognition: NER
、情感分析sentiment analysis: SA
、问答question answering: QA
。为了得到可靠的word representation
,神经语言模型neural language model
被设计为学习单词共现word cooccurrence
,然后用无监督学习获得word embedding
。Word2Vec
和Glove
中的方法将单词表示为向量,其中相似的单词具有相似的word representation
。这些word representation
为其他深度学习模型中的word vector
提供了一个初始化。最近,很多工作,如Cove
、Elmo
、GPT
和BERT
通过不同的策略改进了word vector
,这些改进被证明对下游自然语言处理任务更加有效。这些研究中,绝大多数都是只通过上下文预测缺失的单词来建模
representation
。这些工作没有考虑句子中的先验知识prior knowledge
。例如,在"Harry Potter is a series of fantasy novels written by J. K. Rowling"
这句话中。"Harry Potter"
是一个小说的名字,"J. K. Rowling"
是作者。该模型很容易通过实体(即,小说名字"Harry Potter"
)内部的单词搭配来预测实体"Harry Potter"
的缺失词(如,"[MASK] Potter"
),而不需要长的上下文的帮助。该模型不能根据"Harry Potter "
和"J. K. Rowling"
之间的关系来预测"Harry Potter"
(即,预测[MASK][MASK] is a series of fantasy novels written by J. K. Rowling
)。直观而言,如果模型学习了更多的先验知识,模型就能获得更可靠的language representation
。在论文
《ERNIE: Enhanced Representation through Knowledge Integration》
中,作者提出了一个叫做ERNIE
(enhanced representation through knowledge integration
)的模型。ERNIE
通过使用知识掩码knowledge masking
的策略。除了基础的掩码
basic masking
策略外,ERNIE
还使用了两种知识策略:短语级phrase-level
策略和实体级entity-level
策略。ERNIE
把一个短语或一个实体作为一个单元unit
,每个单元通常由几个单词组成。在word representation
训练中,同一单元中的所有单词都被掩码,而不是只有一个单词或字符被掩码。这样一来,短语和实体的先验知识就在训练过程中被隐式地学到了。ERNIE
没有直接加入知识嵌入knowledge embedding
,而是隐式地学习了知识和更长的语义依赖性,如实体之间的关系、实体的属性和事件的类型,从而指导word embedding
的学习。这可以使模型具有更好的泛化能力和适应性。为了降低模型的训练成本,
ERNIE
在异质的中文数据上进行了预训练,然后应用于5
个中文NLP
任务。ERNIE
在所有这些任务中都取得了SOTA
的结果。另外,在cloze test
中的实验表明,ERNIE
比其他strong baseline
方法具有更好的知识推断knowledge inference
能力。论文贡献如下:
- 论文引入了一种新的语言模型学习的处理方法,该方法掩码了短语和实体等单元,以便隐式地从这些单元中学习句法
syntactic information
信息和语义信息semantic information
。 ERNIE
在各种中文自然语言处理任务上的表现显著优于之前的SOTA
方法。- 论文发布了
ERNIE
和预训练模型的代码,位于https://github.com/PaddlePaddle/LARK/tree/develop/ERNIE
。
论文还介绍了对话语言模型
Dialogue Language Model: DLM
,它是在实验部分介绍的(而不是正文部分)。- 论文引入了一种新的语言模型学习的处理方法,该方法掩码了短语和实体等单元,以便隐式地从这些单元中学习句法
相关工作:
Context-independent Representation
:将单词表示为连续向量的做法由来已久。《A neural probabilistic language model》
提出了一个非常流行模型架构用于估计神经网络语言模型neural network language model: NNLM
,其中一个带有线性投影层和一个非线性隐藏层的前馈神经网络被用来学习word vector representation
。通过使用大量的无标签数据来预训练语言模型,可以有效地学习
general language representation
。传统的方法侧重于与上下文无关的word embedding
。诸如Word2Vec
和Glove
等方法将大型的文本语料库作为输入,并产生word vector
(通常有几百个维度)。它们为词表vocabulary
中的每个单词生成单个的word embedding representation
。Context-aware Representation
:然而,一个词在不同的上下文中可以有完全不同的含义。
Skip-thought
提出了一种无监督学习方法,用于学习通用的分布式的sentence encoder
。Cove
表明,在各种常见的NLP
任务上,添加这些context vector
比只使用无监督的word vector
和character vector
提高了性能。ULMFit
提出了一种有效的迁移学习方法,可以应用于NLP
的任何任务。ELMo
沿着不同的维度推广了传统的word embedding
研究。他们提出从语言模型中抽取context-sensitive feature
。GPT
通过适配Transformer
从而增强了context-sensitive embedding
。
BERT
使用两种不同的预训练任务进行语言建模:BERT
随机掩码句子中一定比例的单词,并学习预测这些被掩码的单词。- 此外,
BERT
学习预测两个句子是否相邻。该任务试图对两个句子之间的关系进行建模,而这是传统的语言模型无法捕获到的。
因此,这种特殊的预训练方案有助于
BERT
在各种关键的NLP
数据集上(如GLUE
和SQUAD
等)以较大的幅度超越SOTA
的技术。还有一些研究人员试图在这些模型的基础上增加更多信息。
MT-DNN
结合预训练学习和多任务学习来提高GLUE
中几个不同任务的表现。GPT-2
在预训练过程中加入了任务信息,并使他们的模型适应于zero-shot
任务。XLM
将language embedding
添加到预训练过程中,在跨语言任务中取得了更好的结果。
异质数据
heterogeneous data
:在异质无监督数据上预训练的语义编码器semantic encoder
可以提高迁移学习性能。- 通用句子编码器(
《Universal sentence encoder》
)采用了来自Wikipedia, web news, web QA pages, discussion forum
的异质训练数据。 - 基于
response prediction
的句子编码器(《Learning semantic textual similarity from conversations》
)得益于来自Reddit
对话的query-response pair data
。 XLM
将平行语料库parallel corpus
引入BERT
,与掩码语言模型masked language model: MLM
任务联合训练。通过在异质数据上预训练的transformer
模型,XLM
在监督/无监督的机器翻译任务和分类任务上显示出巨大的性能增益。
- 通用句子编码器(
11.1 模型
我们在本节中介绍了
ERNIE
及其详细实现。BERT
和ERNIE
之间的比较直观地显示在下图中。Transformer Encoder
:就像之前的预训练模型(如,GPT, BERT, XLM
)一样,ERNIE
使用多层Transformer
作为basic encoder
。Transformer
可以通过自注意力self-attention
来捕获句子中每个token
的上下文信息,并生成contextual embedding
的序列。对于中文语料,我们在
CJK Unicode
区间内的每个字符周围添加空格,并使用WordPiece
来tokenize
中文句子。对于一个给定的token
,它的input representation
是由相应的token embedding
、segment embedding
、以及position embedding
相加而成的。每个序列的第一个token
是特殊的classification embedding
(即,[CLS]
)。“在
CJK Unicode
区间内的每个字符周围添加空格” 意味着作者没有采用传统的中文分词工具,而是用字符粒度的分词。Knowledge Integration
:我们使用先验知识prior knowledge
来enhance
我们的预训练语言模型。我们没有直接添加knowledge embedding
,而是提出了一个多阶段的knowledge masking strategy
,将phrase-level
和entity-level
的知识集成到language representation
中。下图描述了一个句子的不同masking level
。Basic-Level Masking
:第一个learning stage
是使用basic-level masking
,它把一个句子当作一个基本语言单元language unit
的序列。对于英语来说,基本语言单元是单词;对于汉语来说,基本语言单元是汉字。在训练过程中,我们随机掩码
15%
的基本语言单元,并使用句子中的其他基本语言单元作为输入,然后训练一个transformer
来预测被掩码的单元。基于basic level mask
,我们可以得到一个basic word representation
。因为它是在基本语义单元basic semantic unit
的随机掩码上训练的,所以high level
的语义知识很难被完全建模。Phrase-Level Masking
:第二个learning stage
是使用phrase-level masking
。短语phrase
是一组单词或字符一起作为一个概念单元conceptual unit
。对于英语,我们使用词法分析lexical analysis
和分块工具来获得句子中短语的边界,并使用一些与语言相关的分词工具segmentation tool
来获得其他语言(如中文)的词/短语信息。在
phrase-level masking
阶段,我们也使用基本语言单元作为训练输入,与basic-level masking
不同的是,这次我们在句子中随机选择几个短语,同一短语中的所有基本单元同时被掩码并被预测。在这个阶段,短语信息被编码到word embedding
中。注意:对于中文来讲,
phrase
其实就是 “词” ;word
就是 “字”、character
就是“偏旁部首”。注意:这里的输入仍然是 “汉字” 粒度,但是掩码是短语粒度。
注意:这里需要第三方的中文分词工具,而且分词工具的好坏会影响
ERNIE
模型的效果。Entity-Level Masking
:第三个learning stage
是使用entity-level masking
。命名实体name entity
包含人、地点、组织、产品等,可以用专有名词来表示。通常情况下,命名实体包含了句子中的重要信息。与
phrase-level masking
阶段一样,我们首先分析句子中的命名实体,相同实体中的所有基本单元同时被掩码并被预测。注意:这里需要有第三方的
NER
工具,而且识别的好坏会影响ERNIE
模型的效果。
经过三个阶段的学习,我们得到了一个由更丰富的语义信息增强的
word representation
。论文采用什么中文分词工具、什么中文
NER
工具?作者并未说明。根据论文的描述,读者猜测这三个阶段是依次进行的:前
$ K_1 $ 个epoch
使用basic-level masking
、接下来 $ K_2 $ 个epoch
使用phrase-level masking
、最后 $ K_3 $ 个epoch
使用entity-level masking
。但是, $ K_1, K_2, K_3 $ 分别怎么选择?论文并未解释。
11.2 实验
ERNIE
被选择为与BERT-BASE
具有相同的模型尺寸以便于比较:ERNIE
使用12
个encoder layer
,768
个隐单元、12
个注意力头。异质语料库预训练:
ERNIE
采用异质语料进行预训练。遵从《Universal sentence encoder》
,我们从混合语料库(中文维基百科Chinese Wikepedia
、百度百科Baidu Baike
、百度新闻Baidu news
和百度贴吧Baidu Tieba
)中抽取句子,抽取句子的数量分别为21M
、51M
、47M
、54M
。其中:- 百度百科:包含了用正式语言
formal language
编写的百科全书文章,这被用作语言建模的strong basis
。 - 百度新闻:提供有关电影名称、演员名称、足球队名称等最新信息。
- 百度贴吧:是一个类似于
Reddits
的开放式讨论区,每个帖子都可以被视为一个dialogue thread
。贴吧语料库被用于我们的Dialogue Language Model: DLM
任务,这将在下一节讨论。
我们对汉字进行繁体到简体的转换,并对英文字母进行大写到小写的转换。我们的模型使用了
17964
个unicode
字符的vocabulary
。- 百度百科:包含了用正式语言
Dialogue Language Model: DLM
:对话数据对semantic representation
很重要,因为相同答复所对应的query semantic
往往是相似的。ERNIE
在DLM
任务上建模Query-Response
对话结构。如下图所示,我们的方法引入了
dialogue embedding
来识别对话中的角色,这与universal sentence encoder
不同(《Universal sentence encoder》
)。ERNIE
的dialogue embedding
与BERT
中的token type embedding
(即,segment embedding
)起到相同的作用,只是ERNIE
还可以表示多轮对话(例如QRQ
、QRR
、QQR
,其中Q
和R
分别代表"Query"
和"Response"
)。在
DLM
任务中,不需要segment embedding
,因为segment embedding
是用于next sentence prediction
任务。与
BERT
中的MLM
一样,我们应用掩码从而强制模型预测同时以query
和response
为条件的missing word
。更重要的是,我们通过用一个随机选择的句子替换query
或response
来生成假的样本。该模型被设计用来判断多轮对话是真的还是假的。DLM
任务帮助ERNIE
学习对话中的隐式关系,这也增强了模型学习semantic representation
的能力。DLM
任务的模型结构与MLM
任务的结构兼容,因此它与MLM
任务交替进行预训练。DLM
和MLM
如何进行交替?是否可以联合训练,即 $ \mathcal L_\text{total} = \mathcal L_\text{DLM} + \mathcal L_\text{MLM} $ ,相当于多任务 (BERT
就是按照这种多任务的方式训练的)?中文
NLP
任务:ERNIE
被应用于5
项中文NLP
任务,包括自然语言推理natural language inference
、语义相似性semantic similarity
、命名实体识别named entity recognition
、情感分析sentiment analysis
和问答question answering
。自然语言推理:
Cross-lingual Natural Language Inference: XNLI
语料库是MultiNLI
语料库的一个众包集合。这些sentence pair
都被人工标注为文本蕴含关系textual entailment
,并被翻译成包括中文在内的14
种语言。标签包含矛盾contradiction
、中性neutral
、以及蕴含entailment
。我们遵循BERT
中的中文实验。语义相似性:
Large-scale Chinese Question Matching Corpus: LCQMC
旨在识别两个句子是否具有相同的意图。数据集中的每一对句子都与一个二元标签相关联,表明这两个句子是否具有相同的意图。命名实体识别:
MSRA-NER
数据集是为命名实体识别而设计的,它由微软亚洲研究院发布。实体包含几种类型,包括人名、地名、组织名称等。这个任务可以被看作是一个序列标注任务。情感分析:
ChnSentiCorp: Song-bo
是一个数据集,旨在判断一个句子的情感。它包括几个领域的评论,如酒店、书籍和电子计算机。这项任务的目标是判断该句子是正面positive
的还是负面negative
的。问答:
NLPCC-DBQA
数据集的目标是选择相应问题的答案。这个数据集的评价方法包括MRR
和F1
得分。Mean Reciprocal Rank: MRR
: $ \text{MRR} = \frac{1}{|\mathcal Q|}\sum_{i=1}^{|\mathcal Q|} \frac{1}{\text{rank}_i} $ 。其中 $ \mathcal Q $ 为评估集合的问题总数, $ \text{rank}_i $ 表示第 $ i $ 个问题的预测答案集合 $ \mathcal A_i $ 中ground-truth
答案的位置(ground-truth
的位置越靠前越好)。如果ground-truth
答案不在预测答案集合 $ \mathcal A_i $ 中,那么 $ \frac{1}{\text{rank}_i} = 0 $ 。
下表列出了
5
个中文NLP
任务的测试结果。可以看出:ERNIE
在所有任务上都优于BERT
,在这些中文NLP
任务上创造了新的SOTA
结果。- 对于
XNLI
、MSRA-NER
、ChnSentiCorp
和NLPCC-DBQA
任务,ERNIE
比BERT
获得了超过1%
的绝对准确率的改进。
ERNIE
的收益归功于其knowledge integration
策略。论文仅仅介绍这个策略,但是究竟用到了哪些知识?以及如何对预训练语料库的中文句子进行分词、命名实体识别,都未提到。
消融研究:
Knowledge Masking
策略的效果:我们从整个语料库中抽取10%
的训练数据来验证knowledge masking
策略的有效性(在XNLI
数据集上评估)。结果如下表所示。可以看到:
- 在
baseline
的word-level mask
的基础上增加phrase-level mask
可以提高模型的性能。 - 在此基础上,继续增加
entity-level mask
策略,模型的性能得到进一步提高。 - 此外,在预训练数据集规模大
10
倍的情况下,在XNLI
测试集上实现了0.8%
的性能提升。
- 在
DLM
的效果:我们从整个语料库中抽取10%
的训练数据来验证DLM
任务的贡献(在XNLI
数据集上评估)。我们从头开始预训练ERNIE
,并报告XNLI
任务中5
次随机重启微调的平均结果。注意:这里我们并不是均匀抽取,而是对不同的预训练数据集抽取不同的比例。详细的实验设置和结果如下表所示。可以看到:纳入
DLM
任务之后,验证集/测试集准确率分别提高了0.7%/1.0%
。注意:因为
DLM
是预训练任务,同时也是预训练数据集。如果with DLM
和without DLM
进行对比,那么预训练数据的规模就发生了变化。更好的做法是:
10% of all
,同时对without DLM
用MLM
来代替DLM
(而不是直接丢弃MLM
的预训练数据)。否则这里的数据分布都变化了,实验结果难以直接对比。
Cloze Test
:为了验证ERNIE
的知识学习能力,我们使用了几个Cloze test
样本来检验模型。在实验中,我们从段落中删除命名实体,模型需要推断出被删除的命名实体是什么。下图给出了一些case
。我们比较了BERT
和ERNIE
的预测结果。英文部分只是翻译,因为整篇论文是英文撰写并发表在国外,所以如果没有英文翻译部分,外国读者可能看不懂。
- 在
case 1
中,BERT
试图复制上下文中出现的名字,而ERNIE
记住了文章中提到的relation
的知识。 - 在
case 2
和case 5
中,BERT
可以成功地根据上下文学习正确的pattern
,因此正确地预测了命名实体的类型,但未能得到正确的实体。相反,ERNIE
可以得到正确的实体。 - 在
case 3、4、6
中,BERT
得到与句子有关的几个字符,但很难预测semantic concept
。 - 除了
case 4
之外,ERNIE
预测了所有正确的实体。虽然ERNIE
在case 4
中预测了错误的实体,但它能正确地预测语义类型,并得到另一个澳大利亚城市。
综上所述,这些案例表明
ERNIE
在context-based
的知识推理中表现得更好。- 在
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论