之前的Word Representation方法,Word2Vec, GloVe, fastText等对每个单词仅有一种表示,而通常单词的含义依赖其上下文会有所不同,而且每个单词不仅有一方面特征,而应有各方面特征如语义特征,语法特征等,这一讲集中讨论contextual word representation,主要比较了ELMO,GPT与BERT模型。

Elmo

L层forward LSTM每层会产生一个依赖于上文的表示hk,jLM\overrightarrow{\mathbf{h}}_{k, j}^{L M}
CS224n笔记:contextual word representation
γtask\gamma^{\operatorname{tas} k}是利用softmax归一化的权重,
stask \mathbf{s}^{\text {task }}是引入的可调控的scale parameter。

这里还是有点意思,大概和CNN一样,不同层似乎有不同的语义语法信息?较低层的LSTM代表了比较简单的语法信息,而上层的LSTM捕捉的是依赖于上下文的语义信息。
对于下游的任务,再将这些不同层的向量线性组合,再做监督学习。
CS224n笔记:contextual word representation

Transformer

CS224n笔记:contextual word representation
Transformer下次再详细写
这是他的基本单元
CS224n笔记:contextual word representation

GPT

GPT的核心思想是利用Transformer模型对大量文本进行无监督学习,其目标函数就是语言模型最大化语句序列出现的概率,不过这里的语言模型仅仅是forward单向的,而不是双向的。得到这些embedding后,再对下游的task进行supervised fine-tuning。

Bert

BERT原理与GPT有相似之处,不过它利用了双向的信息,因而其全称是Bidirectional Encoder Representations from Transformers。
BERT做无监督的pre-training时有两个目标:

一个是将输入的文本中 k%的单词遮住,然后预测被遮住的是什么单词。
这里可以高中英语完形填空来理解。
另一个是预测一个句子是否会紧挨着另一个句子出现。
预训练时在大量文本上对这两个目标进行优化,然后再对特定任务进行fine-tuning。
对这些任务的分析,以后写Albert会写到。

BERT由于采用了Transformer结构能够更好的捕捉全局信息,并且利用了上下文的双向信息,所以其效果要优于之前的方法,它大大提高了各项NLP任务的性能。

对比Elmo, GPT2, Bert

CS224n笔记:contextual word representation

相关文章:

  • 2021-06-20
  • 2021-09-29
  • 2021-07-09
  • 2021-06-14
  • 2021-12-07
  • 2021-07-19
  • 2021-12-08
  • 2021-04-09
猜你喜欢
  • 2021-06-23
  • 2021-12-11
  • 2021-12-13
  • 2021-10-01
  • 2021-12-22
  • 2021-06-05
  • 2022-01-22
相关资源
相似解决方案