JayLou作者知乎来源林亦霖校对王菁编辑

后BERT时代:15个预训练模型对比分析与关键点探索(附链接)

本文对ELMo以来的15个代表性的预训练语言模型进行了多维度的对比和分析。

前言

在之前写过的《NLP的游戏规则从此改写?从word2vec, ELMo到BERT》一文中,介绍了从word2vecELMo再到BERT的发展路径。而在BERT出现之后的这大半年的时间里,模型预训练的方法又被Google、Facebook、微软百度、OpenAI等极少数几个玩得起游戏的核心玩家反复迭代了若干版,一次次的刷新我们这些吃瓜群众的案板上的瓜。

有没有感觉出瓜速度太快以至于吃速跟不上?不用担心,小编帮你们找来了这篇总结的恰到好处的文章,对ELMo以来的15个代表性的预训练语言模型进行了多维度的对比和分析。尤其是近期找工作的小伙伴们注意啦,这篇文章里面提出来的一些问题很适合作为面试考点(划掉,交流点)噢~

首先上一张镇楼专用图,看一下ELMo以来的预训练语言模型发展的概况
然后上本文正餐,一个高能的question list,这也是本文写作的主线。

Question List

  • Q1:从不同维度对比各【预训练语言模型】?
  • Q2:基于深度学习的NLP特征抽取机制有哪些?各有哪些优缺点?
  • Q3:自回归和自编码语言模型各有什么优缺点?
  • Q4:单向模型的内核机制是怎样的?有哪些缺点?
  • Q5:Transformer内部机制的深入理解:
    • 为什么是缩放点积,而不是点积模型?
    • 相较于加性模型,点积模型具备哪些优点?
    • 多头机制为什么有效?
  • Q6-Q10:BERT内核机制探究
    • BERT为什么如此有效?
    • BERT存在哪些优缺点?
    • BERT擅长处理哪些下游NLP任务?
    • BERT基于“字输入”还是“词输入”好?(对于中文任务)
    • BERT为什么不适用于自然语言生成任务(NLG)?
  • Q11-Q15:针对BERT原生模型的缺点,后续的BERT系列模型是:
    • 如何改进【生成任务】的?
    • 如何引入【知识】的?
    • 如何引入【多任务学习机制】的?
    • 如何改进【mask策略】的?
    • 如何进行【精细调参】的?
  • Q16:XLNet提出的背景是怎样的?
  • Q17:XLNet为何如此有效:
    • 为什么PLM可以实现双向上下文的建模?
    • 怎么解决没有目标(target)位置信息的问题?
  • Q18:Transformer-XL怎么实现对长文本建模?

下面本文将从以下几个方面来对上述问题一一探讨

一. 不同视角下的预训练语言模型对比

二.预训练语言模型的基础:特征抽取机制+语言模型的分类
三.单向模型回顾+内核机制探究
四.BERT的内核机制探究
五.BERT系列模型进展介绍
六.XLNET的内核机制探究
七.预训练语言模型的未来

一、不同视角下的预训练语言模型对比

Q1:从不同维度对比【预训练语言模型

特征抽取、预训练语言模型目标、BERT系列模型的改进方向、特征表示4个视角,对比预训练语言模型
  • 不同的特征抽取机制
    • RNNs:ELMO/ULMFiT/SiATL;
    • Transformer:GPT1.0/GPT2.0/BERT系列模型;
    • Transformer-XL:XLNet;
  • 不同的预训练语言目标
    • 自编码(AutoEncode):BERT系列模型;
    • 自回归(AutoRegression):单向模型(ELMO / ULMFiT / SiATL / GPT1.0 / GPT2.0)和XLNet;
  • BERT系列模型的改进
    • 引入常识:ERNIE1.0 / ERNIE(THU) / ERNIE2.0(简称为“ERNIE系列”);
    • 引入多任务学习:MTDNN/ERNIE2.0;
    • 基于生成任务的改进:MASS/UNILM;
    • 不同的mask策略:WWM/ERNIE系列/SpanBERT;
    • 精细调参:RoBERTa;
  • 特征表示(是否能表示上下文)
    • 单向特征表示:单向模型(ELMO/ULMFiT/SiATL/GPT1.0/GPT2.0);
    • 双向特征表示:BERT系列模型+XLNet;

二、预训练语言模型的基础:特征抽取机制+语言模型的分类

Q2:基于深度学习的NLP特征抽取机制有哪些?各有哪些优缺点?

1)能否处理长距离依赖问题

长距离依赖建模能力:Transformer-XL > Transformer > RNNs > CNNs

  • MLP:不考虑序列(位置)信息,不能处理变长序列,如NNLM和word2vec
  • CNNs:考虑序列(位置)信息,不能处理长距离依赖,聚焦于n-gram提取,pooling操作会导致序列(位置)信息丢失;
  • RNNs:天然适合处理序列(位置)信息,但仍不能处理长距离依赖(由于BPTT导致的梯度消失等问题),故又称之为“较长的短期记忆单元(LSTM)”;
  • Transformer/Transformer-XL:self-attention解决长距离依赖,无位置偏差;

2)前馈/循环网络 or 串行/并行计算

  • MLP/CNNs/Transformer:前馈/并行
  • RNNs/ Transformer-XL:循环/串行:

3)计算时间复杂度(序列长度n,embedding size为d,filter大小k)

  • CNNs:
  • RNNs:
  • Self Attention:
Q3:自回归和自编码语言模型各有什么优缺点?

1)自回归语言模型
  • 优点:
    • 文本序列联合概率的密度估计,即为传统的语言模型,天然适合处理自然生成任务;
  • 缺点:
    • 联合概率按照文本序列从左至右分解(顺序拆解),无法通过上下文信息进行双向特征表征;
  • 代表模型:ELMO/GPT1.0/GPT2.0;
  • 改进:XLNet将传统的自回归语言模型进行推广,将顺序拆解变为随机拆解(排列语言模型),产生上下文相关的双向特征表示;

2)自编码语言模型

  • 优点:本质为降噪自编码特征表示,通过引入噪声[MASK]构建MLM,获取上下文相关的双向特征表示;
  • 缺点:引入独立性假设,为联合概率的有偏估计,没有考虑预测[MASK]之间的相关性
    • 不适合直接处理生成任务,MLM预训练目标的设置造成预训练过程和生成过程不一致;
    • 预训练时的[MASK]噪声在finetune阶段不会出现,造成两阶段不匹配问题;
  • 代表模型:BERT系列模型;

三、单向模型回顾+内核机制探究

Q4:单向模型的内核机制是怎样的?有哪些缺点?

1)ELMo (Allen Institute)[6]
  • 要点:
    • 引入双向语言模型,其实是2个单向语言模型(前向和后向)的集成;
    • 通过保存预训练好的2层biLSTM,通过特征集成或finetune应用于下游任务;
  • 缺点:
    • 本质上为自回归语言模型,只能获取单向的特征表示,不能同时获取上下文表示;
    • LSTM不能解决长距离依赖
  • 为什么不能用biLSTM构建双向语言模型
    • 不能采取2层biLSTM同时进行特征抽取构建双向语言模型,否则会出现标签泄漏的问题;因此ELMO前向和后向的LSTM参数独立,共享词向量,独立构建语言模型
2)ULMFiT (fast.ai) / SiATL

  2.1)ULMFiT[7]要点:
  • 三阶段训练:LM预训练+精调特定任务LM+精调特定分类任务;
  • 特征抽取:3层AWD-LSTM;
  • 精调特定分类任务:逐层解冻;
  2.2) SiATL[8]要点:
  • 二阶段训练:LM预训练+特定任务精调分类任务(引入LM作为辅助目标,辅助目标对于小数据有用,与GPT相反);
     - 特征抽取:LSTM+self-attention;
  • 精调特定分类任务:逐层解冻;
    • 都通过一些技巧解决finetune过程中的灾难性遗忘问题:如果预训练用的无监督数据和任务数据所在领域不同,逐层解冻带来的效果更明显[9];
3)GPT1.0 / GPT2.0 (OpenAI)
  • GPT1.0[10]要点:
    • 采用Transformer进行特征抽取,首次将Transformer应用于预训练语言模型
    • finetune阶段引入语言模型辅助目标(辅助目标对于大数据集有用,小数据反而有所下降,与SiATL相反),解决finetune过程中的灾难性遗忘;
    • 预训练和finetune一致,统一二阶段框架;
  • GPT2.0[11]要点:
    • 没有针对特定模型的精调流程:GPT2.0认为预训练中已包含很多特定任务所需的信息。
    • 生成任务取得很好效果,使用覆盖更广、质量更高的数据;
  • 缺点:
    • 依然为单向自回归语言模型,无法获取上下文相关的特征表示;

四、BERT内核机制探究

这一部分对BERT的内核机制进行介绍,在回答“BERT为什么如此有效?”之前,首先介绍Transformer的内核机制。

Q5:Transformer[12]内部机制的深入理解(回顾)
1)Multi-Head Attention和Scaled Dot-Product Attention

本质是self attention通过attention mask动态编码变长序列,解决长距离依赖、无位置偏差、可并行计算

  • 为什么是缩放点积,而不是点积模型?
    • 当输入信息的维度 d 比较高,点积模型的值通常有比较大方差,从而导致 softmax 函数的梯度会比较小。因此,缩放点积模型可以较好地解决这一问题。
  • 为什么是双线性点积模型(经过线性变换Q  K)?
    • 双线性点积模型,引入非对称性,更具健壮性(Attention mask对角元素值不一定是最大的,也就是说当前位置对自身的注意力得分不一定最高)。
  • 相较于加性模型,点积模型具备哪些优点?
    • 常用的Attention机制为加性模型和点积模型,理论上加性模型和点积模型的复杂度差不多,但是点积模型在实现上可以更好地利用矩阵乘积,从而计算效率更高(实际上,随着维度d的增大,加性模型会明显好于点积模型)。
  • 多头机制为什么有效?
    • 类似于CNN中通过多通道机制进行特征选择
    • Transformer中先通过切头(spilt)再分别进行Scaled Dot-Product Attention,可以使进行点积计算的维度d不大(防止梯度消失),同时缩小attention mask矩阵。
2)Position-wise Feed-Forward Networks
  • FFN 将每个位置的Multi-Head Attention结果映射到一个更大维度的特征空间,然后使用ReLU引入非线性进行筛选,最后恢复回原始维度。
  • Transformer在抛弃了 LSTM 结构后,FFN 中的 ReLU成为了一个主要的提供非线性变换的单元。
3)Positional Encoding

将Positional Embedding改为Positional Encoding,主要的区别在于Positional Encoding是用公式表达的、不可学习的,而Positional Embedding是可学习的(如BERT),两种方案的训练速度和模型精度差异不大;但是Positional Embedding位置编码范围是固定的,而Positional Encoding编码范围是不受限制的。

  • 为什么引入 建模Positional Encoding?
  • 引入 是为了使模型实现对相对位置的学习,两个位置 pos 和 pos+k 的位置编码是固定间距k的线性变化:
  • 可以证明:间隔为k的任意两个位置编码的欧式空间距离是恒等的,只与k有关。
Q6:BERT[13]为什么如此有效?
  • 引入Masked Language Model(MLM)预训练目标,能够获取上下文相关的双向特征表示;
  • 引入Next Sentence Prediction(NSP)预训练目标,擅长处理句子或段落的匹配任务;
  • 引入强大的特征抽取机制Transformer(多种机制并存):
    • Multi-Head self attention:多头机制类似于“多通道”特征抽取,self attention通过attention mask动态编码变长序列,解决长距离依赖(无位置偏差)、可并行计算;
    • Feed-forward :在位置维度计算非线性层级特征;
    • Layer Norm & Residuals:加速训练,使“深度”网络更加健壮;
  • 引入大规模、高质量的文本数据;

Q7:BERT存在哪些优缺点?

  • 优点:能够获取上下文相关的双向特征表示;
  • 缺点:
    • 生成任务表现不佳:预训练过程和生成过程的不一致,导致在生成任务上效果不佳;
    • 采取独立性假设:没有考虑预测[MASK]之间的相关性,是对语言模型联合概率的有偏估计(不是密度估计);
    • 输入噪声[MASK],造成预训练-精调两阶段之间的差异;
    • 无法文档级别的NLP任务,只适合于句子和段落级别的任务;
Q8:BERT擅长处理哪些下游NLP任务[14]?

    1. 适合句子和段落级别的任务,不适用于文档级别的任务;

    2. 适合处理高层语义信息提取的任务,对浅层语义信息提取的任务的提升效果不大(如一些简单的文本分类任务);
    3. 适合处理句子/段落的匹配任务;因此,在一些任务中可以构造辅助句(类似匹配任务)实现效果提升(如关系抽取/情感挖掘等任务);
    4. 不适合处理NLG任务;

Q9:BERT基于“字输入”还是“词输入”好?(对于中文任务)

    1. 如果基于“词输入”,会加剧OOV问题,会增大输入空间,需要利用大得多的语料去学习输入空间到标签空间的函数映射
    2. 随着Transfomer特征抽取能力,分词不再成为必要,词级别的特征学习可以纳入为内部特征进行表示学习。
Q10:BERT为什么不适用于自然语言生成任务(NLG)?

    1. 由于BERT本身在预训练过程和生成过程的不一致,并没有做生成任务的相应机制,导致在生成任务上效果不佳,不能直接应用于生成任务。
    2. 如果将BERT或者GPT用于Seq2Seq的自然语言生成任务,可以分别进行预训练编码器和解码器,但是编码器-注意力-解码器结构没有被联合训练,BERT和GPT在条件生成任务中只是次优效果。

五、BERT系列模型进展介绍

这一部分介绍一些模型,它们均是对BERT原生模型在一些方向的改进。

Q11:针对BERT原生模型,后续的BERT系列模型是如何改进【生成任务】的?

1)MASS(微软)[15]
  • 统一预训练框架:通过类似的Seq2Seq框架,在预训练阶段统一了BERT和LM模型;
  • Encoder中理解unmasked tokens;Decoder中需要预测连续的[mask]tokens,获取更多的语言信息;Decoder从Encoder中抽取更多信息;
  • 当k=1或者n时,MASS的概率形式分别和BERT中的MLM以及GPT中标准的LM一致(k为mask的连续片段长度))
2)UNILM (微软)[16]
  • 统一预训练框架:和直接从mask矩阵的角度统一BERT和LM;
  • 3个Attention Mask矩阵:LM、MLM、Seq2Seq LM;
  • 注意:UNILM中的LM并不是传统的LM模型,仍然是通过引入[MASK]实现的;

Q12:针对BERT原生模型,后续的BERT系列模型是如何引入【知识】的?

1)ERNIE 1.0 (百度)[17]
  • 在预训练阶段引入知识(实际是预先识别出的实体),引入3种[MASK]策略预测:
    • Basic-Level Masking:跟BERT一样,对subword进行mask,无法获取高层次语义;
    • Phrase-Level Masking:mask连续短语;
    • Entity-Level Masking:mask实体;
2)ERNIE (THU)[18]
  • 基于BERT预训练原生模型,将文本中的实体对齐到外部的知识图谱,并通过知识嵌入得到实体向量作为ERNIE的输入;
  • 由于语言表征的预训练过程和知识表征过程有很大的不同,会产生两个独立的向量空间。为解决上述问题,在有实体输入的位置,将实体向量和文本表示通过非线性变换进行融合,以融合词汇、句法和知识信息;
  • 引入改进的预训练目标 Denoising entity auto-encoder (DEA):要求模型能够根据给定的实体序列和文本序列来预测对应的实体;

Q13:针对BERT原生模型,后续的BERT系列模型是如何引入【多任务学习机制】的?

多任务学习(Multi-task Learning)[19]是指同时学习多个相关任务,让这些任务在学习过程中共享知识,利用多个任务之间的相关性来改进模型在每个任务的性能和泛化能力。多任务学习可以看作是一种归纳迁移学习,即通过利用包含在相关任务中的信息作为归纳偏置(Inductive Bias)来提高泛化能力。多任务学习的训练机制分为同时训练和交替训练。

1)MTDNN(微软)[20]:在下游任务中引入多任务学习机制

2)ERNIE 2.0 (百度)[21]:在预训练阶段引入多任务学习
  • MTDNN是在下游任务引入多任务机制的,而ERNIE 2.0 是在预训练引入多任务学习(与先验知识库进行交互),使模型能够从不同的任务中学到更多的语言知识。
  • 主要包含3个方面的任务:
    • word-aware 任务:捕捉词汇层面的信息;
    • structure-aware 任务:捕捉句法层面的信息;
    • semantic-aware 任务:捕捉语义方面的信息;
  • 主要的方式是构建增量学习(后续可以不断引入更多的任务)模型,通过多任务学习持续更新预训练模型,这种连续交替的学习范式不会使模型忘记之前学到的语言知识。
    • 将3大类任务的若干个子任务一起用于训练,引入新的任务时会将继续引入之前的任务,防止忘记之前已经学到的知识,具体是一个逐渐增加任务数量的过程[22]:
       (task1)->(task1,task2)->(task1,task2,task3)->…->(task1,task2,…,taskN),

Q14:针对BERT原生模型,后续的BERT系列模型是如何改进【mask策略】的?

  • 原生BERT模型:按照subword维度进行mask,然后进行预测;
  • BERT WWM(Google):按照whole word维度进行mask,然后进行预测;
  • ERNIE等系列:引入外部知识,按照entity维度进行mask,然后进行预测;
  • SpanBert:不需要按照先验的词/实体/短语等边界信息进行mask,而是采取随机mask:
    • 采用Span Masking:根据几何分布,随机选择一段空间长度,之后再根据均匀分布随机选择起始位置,最后按照长度mask;通过采样,平均被遮盖长度是3.8 个词的长度;
    • 引入Span Boundary Objective:新的预训练目标旨在使被mask的Span 边界的词向量能学习到 Span中被mask的部分;新的预训练目标和MLM一起使用;
  • 注意:BERT WWM、ERNIE等系列、SpanBERT旨在隐式地学习预测词(mask部分本身的强相关性)之间的关系[23],而在 XLNet 中,是通过 PLM 加上自回归方式来显式地学习预测词之间关系;

Q15:针对BERT原生模型,后续的BERT系列模型是如何进行【精细调参】的?

RoBERTa(FaceBook)[24]

  • 丢弃NSP,效果更好;
  • 动态改变mask策略,把数据复制10份,然后统一进行随机mask;
  • 学习率的峰值和warm-up更新步数作出调整;
  • 在更长的序列上训练:不对序列进行截短,使用全长度序列;

六、XLNet的内核机制探究

在BERT系列模型后,Google发布的XLNet在问答、文本分类自然语言理解等任务上都大幅超越BERT;XLNet的提出是对标准语言模型(自回归)的一个复兴[25],提出一个框架来连接语言建模方法和预训练方法。

Q16:XLNet[26]提出的背景是怎样的?

  • 对于ELMO、GPT等预训练模型都是基于传统的语言模型(自回归语言模型AR),自回归语言模型天然适合处理生成任务,但是无法对双向上下文进行表征,因此人们反而转向自编码思想的研究(如BERT系列模型);
  • 自编码语言模型(AE)虽然可以实现双向上下文进行表征,但是:
    • BERT系列模型引入独立性假设,没有考虑预测[MASK]之间的相关性;
    • MLM预训练目标的设置造成预训练过程和生成过程不一致;
    • 预训练时的[MASK]噪声在finetune阶段不会出现,造成两阶段不匹配问题;
  • 有什么办法能构建一个模型使得同时具有AR和AE的优点并且没有它们缺点呢?

Q17:XLNet为何如此有效:内核机制分析

1)排列语言模型(Permutation LM,PLM)

如果衡量序列中被建模的依赖关系的数量,标准的LM可以达到上界,不像MLM一样,LM不依赖于任何独立假设。借鉴 NADE[27]的思想,XLNet将标准的LM推广到PLM。
  • 为什么PLM可以实现双向上下文的建模?
    • PLM的本质就是LM联合概率的多种分解机制的体现;
    • 将LM的顺序拆解推广到随机拆解,但是需要保留每个词的原始位置信息(PLM只是语言模型建模方式的因式分解/排列,并不是词的位置信息的重新排列!)
    • 如果遍历 𝑇! 种分解方法,并且模型参数是共享的,PLM就一定可以学习到各种双向上下文;换句话说,当我们把所有可能的𝑇! 排列都考虑到的时候,对于预测词的所有上下文就都可以学习到了!
    • 由于遍历 𝑇! 种路径计算量非常大(对于10个词的句子,10!=3628800)。因此实际只能随机的采样𝑇!里的部分排列,并求期望;

2)Two-Stream Self-Attention

如果采取标准的Transformer来建模PLM,会出现没有目标(target)位置信息的问题。问题的关键是模型并不知道要预测的到底是哪个位置的词,从而导致具有部分排列下的PLM在预测不同目标词时的概率是相同的。

怎么解决没有目标(target)位置信息的问题?

  • 对于没有目标位置信息的问题,XLNet 引入了Two-Stream Self-Attention:
  • Query 流就为了预测当前词,只包含位置信息,不包含词的内容信息;
  • Content 流主要为 Query 流提供其它词的内容向量,包含位置信息和内容信息;

3) 融入Transformer-XL的优点(具体见Q18)

Q18:Transformer-XL[28]怎么实现对长文本建模?

  • BERT(Transformer)的最大输入长度为512,那么怎么对文档级别的文本建模?
    • vanilla model进行Segment,但是会存在上下文碎片化的问题(无法对连续文档的语义信息进行建模),同时推断时需要重复计算,因此推断速度会很慢;
  • Transformer-XL改进
    • 对于每一个segment都应该具有不同的位置编码,因此Transformer-XL采取了相对位置编码;
    • 前一个segment计算的representation被修复并缓存,以便在模型处理下一个新的segment时作为扩展上下文resume;
    • 最大可能依赖关系长度增加了N倍,其中N表示网络的深度;
    • 解决了上下文碎片问题,为新段前面的token提供了必要的上下文;
    • 由于不需要重复计算,Transformer-XL在语言建模任务的评估期间比vanilla Transformer快1800+倍;
    • 引入recurrence mechanism(不采用BPTT方式求导):
    • 引入相对位置编码方案:

七、预训练语言模型的未来

上述的【预训练语言模型】主要从2大方面进行介绍:一是总的对比;二是分别介绍单向语言模型、BERT系列模型、XLNet模型。

可以看出,未来【预训练语言模型】更多的探索方向主要为[25]:
  • 复兴语言模型:进一步改进语言模型目标,不断突破模型的上界;
  • 大数据、大算力:将大数据、大算力推到极致;
  • 更快的推断:轻量级模型是否有可能达到SOTA效果?
  • 引入更丰富的知识信息,更精细的调参,更有价值的MASK策略;
  • 统一条件生成任务框架,如基于XLNet统一编码和解码任务,同时可考虑更快的解码方式;

参考文献

[1] NLP将迎来黄金十年 https://www.msra.cn/zh-cn/news/executivebylines/tech-bylines-nlp

[2] a review of the recent history of nlp

[3] AIS:ACL2019进展报告

[4] ACL 主席周明:一起拥抱 ACL 和 NLP 的光明未来

[5] 自然语言处理中的语言模型预训练方法 https://www.jiqizhixin.com/articles/2018-10-22-3

[6] ELMO:Deep contextualized word representations

[7] ULMFiT:Universal Language Model Fine-tuning)

[8] SiATL:An Embarrassingly Simple Approach for Transfer Learning from Pretrained Language Models

[9] BERT时代与后时代的NLP https://zhuanlan.zhihu.com/p/66676144

[10] GPT:Improving Language Understanding by Generative Pre-Training

[11] GPT2.0:Language Models are Unsupervised Multitask Learners

[12] Transformer:Attention is all you need

[13] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

[14] Bert时代的创新(应用篇):Bert在NLP各领域的应用进展 https://zhuanlan.zhihu.com/p/68446772

[15] MASS: Masked Sequence to Sequence Pre-training for Language Generation

[16] UNILM:Unified Language Model Pre-training for Natural Language Understanding and Generation

[17] ERNIE: Enhanced Representation through Knowledge Integration

[18] ERNIE: Enhanced Language Representation with Information Entities

[19] nndl:神经网络深度学习

[20] MT-DNN:Multi-Task Deep Neural Net for NLU

[21] ERNIE 2.0: A CONTINUAL PRE-TRAINING FRAMEWORK FOR LANGUAGE UNDERSTANDING

[22] 陈凯:https://www.zhihu.com/question/337827682/answer/768908184

[23] SpanBert:对 Bert 预训练的一次深度探索

[24] RoBERTa: A Robustly Optimized BERT Pretraining Approach

[25] ab他们创造了横扫NLP的XLNet:专访CMU博士杨植麟

[26] XLnet: Generalized Autoregressive Pretraining for Language Understanding

[27] Neural autoregressive distribution estimation

[28] Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context

原文链接
https://zhuanlan.zhihu.com/p/76912493

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

理论语言模型特征抽取BERT预训练模型
8
相关数据
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
周明人物

周明博士,微软亚洲研究院副院长、国际计算语言学协会(ACL)候任主席、中国计算机学会理事、中文信息技术专委会主任、术语工作委员会主任、中国中文信息学会常务理事、哈尔滨工业大学、天津大学、南开大学、山东大学等多所学校博士导师。 周明博士1985年毕业于重庆大学,1991年获哈尔滨工业大学博士学位。1991-1993年清华大学博士后,随后留校任副教授。1996-1999访问日本高电社公司领导中日机器翻译研究。他是中国第一个中英翻译系统CEMT-I(哈工大1989年)、日本最有名的中日机器翻译产品J-北京(日本高电社1998年)的研制者。 1999年,周明博士加入微软亚洲研究院,不久开始负责自然语言研究组。他带领团队进行了微软输入法、英库词典(必应词典)、中英翻译、微软中国文化系列(微软对联、微软字谜、微软绝句)等重要产品和项目的研发,并对微软Office、必应搜索、Windows等产品中的自然语言技术做出了重要贡献。近年来,周明博士领导研究团队与微软产品组合作开发了微软小冰(中国)、Rinna(日本)、Zo(美国)等聊天机器人系统。 周明博士发表了120余篇重要会议和期刊论文(包括50篇以上的ACL文章),拥有国际发明专利40余项。他多年来通过微软与中国和亚太地区的高校合作计划,包括微软-高校联合实验室、微软实习生计划、微软-高校联合培养博士生计划、青年教师铸星培养计划,与高校和学术组织联合举办暑期学校和学术会议等多种形式,对推动自然语言处理在中国和亚太的卓越发展做出了杰出贡献。

深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

增量学习技术

增量学习作为机器学习的一种方法,现阶段得到广泛的关注。对于满足以下条件的学习方法可以定义为增量学习方法: * 可以学习新的信息中的有用信息 * 不需要访问已经用于训练分类器的原始数据 * 对已经学习的知识具有记忆功能 * 在面对新数据中包含的新类别时,可以有效地进行处理

知识表征技术

知识表示是人工智能的一部分,它关心代理人(agent)如何在决定做什么时使用它所知道的知识, 这是一门将思考作为计算过程的研究。严格来说知识表示和知识推理是同一研究领域密切相关的两个概念,但实际上知识表示也经常用来直接指代包含推理的广义概念,因此在这里沿用后者,即知识表示等价于知识表示与推理。这是一个涉及使用符号来表示一些推定代理人(putative agent)相信的命题集合的研究领域。 但是在另一方面,我们同时不想坚持这些符号必须代表代理人相信的主张。因为实际上代理人可能相信无数的命题,但只有一部分被表示出来。 而弥合所代表的事物与所相信的事物之间的差距将成为推理(reasoning)在知识表示中所承担的责任。因此,推理一般来说是对代表一系列代理所相信的命题符号进行形式化处理,以产生新的表征。 符号需要比它们表示的命题更容易操纵,因此它们必须足够具体,以便我们可以操纵它们(移动它们,拆开它们,复制它们,串起它们) 构建新命题的表征。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

时间复杂度技术

在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。例如,如果一个算法对于任何大小为 n (必须比 n0 大)的输入,它至多需要 5n3 + 3n 的时间运行完毕,那么它的渐近时间复杂度是 O(n3)。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

特征抽取技术

长距离依赖技术

也作“长距离调序”问题,在机器翻译中,比如中英文翻译,其语言结构差异比较大,词语顺序存在全局变化,不容易被捕捉

word2vec技术

Word2vec,为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。 训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系。该向量为神经网络之隐藏层。 Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

特征选择技术

在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择、属性选择或变量子集选择。 它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。

多任务学习技术

因式分解技术

在数学中,把一个数学因子(比如数字,多项式,或矩阵)分解其他数学因子的乘积。比如:整数15可以分解成两个质数3和5的乘积,一个多项式x^2 -4 可被因式分解为(x+2)(x-2)。

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

百度机构

百度(纳斯达克:BIDU),全球最大的中文搜索引擎、最大的中文网站。1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力,抱着技术改变世界的梦想,他毅然辞掉硅谷的高薪工作,携搜索引擎专利技术,于 2000年1月1日在中关村创建了百度公司。 “百度”二字,来自于八百年前南宋词人辛弃疾的一句词:众里寻他千百度。这句话描述了词人对理想的执着追求。 百度拥有数万名研发工程师,这是中国乃至全球最为优秀的技术团队。这支队伍掌握着世界上最为先进的搜索引擎技术,使百度成为中国掌握世界尖端科学核心技术的中国高科技企业,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

http://home.baidu.com/
ELMo技术

ELMO 是“Embedding from Language Models”的简称, ELMO 本身是个根据当前上下文对 Word Embedding 动态调整的思路。ELMO 采用了典型的两阶段过程,第一个阶段是利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的 Word Embedding 作为新特征补充到下游任务中。

Transformer-XL技术

Transformer-XL 预训练模型是对 Transformer 及语言建模的修正,这项前沿研究是2019年1月份公布。一般而言,Transformer-XL 学习到的长期依赖性比标准 Transformer 学到的长 450%,无论在长序列还是短序列中都得到了更好的结果,而且在评估时比标准 Transformer 快 1800 多倍。

MT-DNN技术

MT-DNN 是微软提出的在多种自然语言理解任务上学习表征的多任务深度神经网络。与 BERT 模型类似,MT-DNN 分两个阶段进行训练:预训练和微调。与 BERT 不同的是,MT-DNN 在微调阶段使用多任务学习,在其模型架构中具有多个任务特定层。

推荐文章
暂无评论
暂无评论~