cs224n-笔记-lecture13-contextual-representations

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

ELMO

ELMO 的基本思想是利用双向的 LSTM 结构,对于某个语言模型的目标,在大量文本上进行预训练,从 LSTM layer 中得到 contextual embedding,其中较低层的LSTM代表了比较简单的语法信息,而上层的 LSTM 捕捉的是依赖于上下文的语义信息。 ELMO 的全称就是 Embeddings from Language Models。对于下游的任务,再将这些不同层的向量线性组合,再做监督学习。

详细来说,对于N个标记 (, , ..., ), forward language model 学习的是根据(, , ..., )的信息推测 tk 的概率:而 backward language model学习的是依据 (, ..., )的信息推测 的概率:
而bidirectional LSTM就是将两者结合起来,其目标是最大化

对于 k 位置的标记,ELMO 模型用 2L+1 个向量来表示,其中 1 个是不依赖于上下文的表示,通常是用之前提及的 word embedding 或者是基于字符的 CNN 来得到 。L层forward LSTM每层会产生一个依赖于上文的表示 , 同样的,L层backward LSTM每层会产生一个依赖于下文的表示 ,我们可以将他们一起简计为

其中,

得到每层的 embedding 后,对于每个下游的任务,我们可以计算其加权的表示

其中, 是利用softmax归一化的权重, 是引入的可调控的scale parameter。

采用了ELMO预训练产生的contextual embedding之后,在各项下游的NLP任务中,准确率都有显著提高。

GPT

GPT全称是Generative Pre-Training, 和之后的BERT模型一样,它的基本结构也是Transformer。

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


BERT

你可能感兴趣的:(cs224n-笔记-lecture13-contextual-representations)