NLP预训练模型【7】 -- XLNet
目录
目录
1. 什么是XLNet
2. 自回归语言模型(Autoregressive LM)
3. 自编码语言模型(Autoencoder LM)
4. XLNet模型
4.1 排列语言建模(Permutation Language Modeling)
4.2 Transformer XL
4.2.1 vanilla Transformer
4.2.2 Transformer XL
5. XLNet与BERT比较
6. 代码实现
7. 参考文献
1. 什么是XLNet
XLNet是一个类似BERT的模型,而不是完全不同的模型。总之,XLNet是一种通用的自回归预训练方法。它是CMU和Google Brain团队在2019年6月份发布的模型,最终,XLNet在20个任务上超过了BERT的表现,并在18个任务上取得了当前最佳效果(state-of-the-art),包括机器问答、自然语言推断、情感分析和文档排序。
作者表示,BERT这样基于去噪自编码器的预训练模型可以很好地建模双向语境信息,性能优于基于自回归语言模型的预训练方法。然而,由于需要mask一部分输 ...
NLP预训练模型【6】 -- BERT
目录
目录
1. 什么是BERT
2. 从Word Embedding到Bert模型的发展
2.1 图像的预训练
2.2 Word Embedding
2.3 ELMO
2.4 GPT
2.5 BERT
2.5.1 Embedding
2.5.2 Masked LM
2.5.3 Next Sentence Prediction
3. BERT的评价
4. 代码实现
5. 参考文献
1. 什么是BERT
BERT的全称是Bidirectional Encoder Representation from Transformers,是Google2018年提出的预训练模型,即双向Transformer的Encoder,因为decoder是不能获要预测的信息的。模型的主要创新点都在pre-train方法上,即用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的representation。
Bert最近很火,应该是最近最火爆的AI进展,网上的评价很高,那么Bert值得这么高的评价吗?我个人判断是值得。那为什么会有这 ...
NLP预训练模型【5】 -- Transformer
p{text-indent:2em}
NLP预训练模型【5】 – TransformerTransformerTransformer
1. 什么是 TransformerTransformerTransformer
《 AttentionAttentionAttention Is All You Need》是一篇Google提出的将 AttentionAttentionAttention 思想发挥到极致的论文。这篇论文中提出一个全新的模型,叫 TransformerTransformerTransformer ,抛弃了以往深度学习任务里面使用到的CNN和RNN。目前大热的BERT就是基于 TransformerTransformerTransformer 构建的,这个模型广泛应用于NLP领域,例如机器翻译,问答系统,文本摘要和语音识别等等方向。
2. TransformerTransformerTransformer 结构
2.1 总体结构
TransformerTransformerTransformer 的结构和 AttentionAttentionAttenti ...
NLP预训练模型【4】 -- 注意力机制
p{text-indent:2em}
NLP预训练模型【4】 – 注意力机制
1. 什么是 $ Attention $ 机制
在” $ seq2seq $ ”一节⾥,解码器在各个时间步依赖相同的背景变量来获取输⼊序列信息。当编码器为循环神经网络时,背景变量来自它最终时间步的隐藏状态。
现在,让我们再次思考那一节提到的翻译例⼦:输⼊为英语序列“They”“are”“watching”“.”,输出为法语序列“Ils”“regardent”“.”。不难想到,解码器在⽣成输出序列中的每一个词时可能只需利用输⼊序列某一部分的信息。例如,在输出序列的时间步1,解码器可以主要依赖“They”“are”的信息来⽣成“Ils”,在时间步2则主要使用来自“watching”的编码信息⽣成“regardent”,最后在时间步3则直接映射句号“.”。这看上去就像是在解码器的每一时间步对输⼊序列中不同时间步的表征或编码信息分配不同的注意力一样。这也是注意力机制的由来。
仍然以循环神经网络为例,注意力机制通过对编码器所有时间步的隐藏状态做加权平均来得到背景变量。解码器在每一时间步调整这些权重, ...
NLP预训练模型【3】 -- seq2seq与LSTM等基础编解码器
NLP预训练模型【3】 – seq2seq模型与RNN、LSTM等基础编解码器
引自:@mantchs
GitHub:https://github.com/NLP-LOVE/ML-NLP
1. 什么是seq2seq?
在⾃然语⾔处理的很多应⽤中,输⼊和输出都可以是不定⻓序列。以机器翻译为例,输⼊可以是⼀段不定⻓的英语⽂本序列,输出可以是⼀段不定⻓的法语⽂本序列,例如:
英语输⼊:“They”、“are”、“watching”、“.”
法语输出:“Ils”、“regardent”、“.”
当输⼊和输出都是不定⻓序列时,可以使⽤编码器—解码器(encoder-decoder)或者seq2seq模型(seq2seq属于encoder-decoder结构的一种)。encoder-decoder结构的基本思想就是利用两个RNN,一个RNN作为encoder,另一个RNN作为decoder。encoder负责将输入序列压缩成指定长度的向量,这个向量就可以看成是输入序列的定长表征(通常被成为背景向量),这个过程称为编码。如下图,获取语义向量最简单的方式就是直接将最后一个输入的隐状态作为语 ...
NLP预训练模型【2】 -- 离散表示与分布式表示
NLP预训练模型【2】-- 离散表示与分布式表示
【摘要】 在了解深度学习的预训练模型之前,本文首先介绍一下分布式表示的起源,以及一些前期的语言模型。主要包括:One-hot、词袋、词频等离散表示模型;和NNLM、word2vec等浅层分布式表示模型。
本文引自CSDN 「kesisour」
1. 什么是词嵌入(Word Embedding)
⾃然语⾔是⼀套⽤来表达含义的复杂系统。在这套系统中,词是表义的基本单元。顾名思义,词向量是⽤来表⽰词的向量,也可被认为是词的特征向量或表征。把词映射为实数域向量的技术也叫词嵌⼊(word embedding)。近年来,词嵌⼊已逐渐成为⾃然语⾔处理的基础知识。
在NLP(自然语言处理)领域,文本表示是第一步,也是很重要的一步,通俗来说就是把人类的语言符号转化为机器能够进行计算的数字,因为普通的文本语言机器是看不懂的,必须通过转化来表征对应文本。早期是基于规则的方法进行转化,而现代的方法是基于统计机器学习的方法。
数据决定了机器学习的上限,而算法只是尽可能逼近这个上限,在本文中数据指的就是文本表示,所以,弄懂文本表示的发展历程,对于NLP ...
NLP预训练模型【1】 -- 总览
NLP预训练模型【1】 – 总览
【摘要】预训练模型( Pre-trained Models )的出现将NLP带入了一个全新时代。2020年3月,邱锡鹏老师发表了关于NLP预训练模型的综述《Pre-trained Models for Natural Language Processing: A Survey》1,系统地对预训练模型进行了归纳分类。
本文引自公众号「高能AI」
〇. 全文脑图
一、为什么要进行预训练?
深度学习时代,为充分训练深层模型参数并防止过拟合,通常需要更多标注数据喂养。在NLP领域,标注数据是一个昂贵资源。预训练模型从大量无标注数据中进行预训练使许多NLP任务获得显著的性能提升。总的来看,预训练模型的优势包括:
在庞大的无标注数据上进行预训练可以获取更通用的语言表示,并有利于下游任务;
为模型提供了一个更好的初始化参数,在目标任务上具备更好的泛化性能、并加速收敛;
是一种有效的正则化手段,避免在小数据集上过拟合(一个随机初始化的深层模型容易对小数据集过拟合)。
二、什么是词嵌入和分布式表示?预训练模型与分布式表示的关系?
(1)词嵌入
...