Attention是当前模型的一切来源。


Transformer是基于encoder-decoder模型形成的端到端模型,基本作为如今的词向量预训练模型。

Transformer语言建模

Transformer 的许多后续工作尝试去掉编码器或解码器,也就是只使用一套堆叠得尽可能多的 transformer 模块,然后使用海量文本、耗费大量的算力进行训练。投入大量的计算(数十万美元用于训练其中一些语言模型,在AlphaStar的情况下可能是数百万美元)。

 

GPT-2 是使用「transformer 解码器模块」构建的,而 BERT 则是通过「transformer 编码器」模块构建的,GPT-2,以及一些诸如 TransformerXL 和 XLNet 等后续出现的模型,本质上都是自回归模型.

编码器

 

解码器:

解码器在自注意力(self-attention)层上还有一个关键的差异:它将后面的单词掩盖掉了。但并不像 BERT 一样将它们替换成特殊定义的单词,而是在自注意力计算的时候屏蔽了来自当前计算位置右边所有单词的信息。

能够清楚地区分 BERT 使用的自注意力(self-attention)模块和 GPT-2 使用的带掩模的自注意力(masked self-attention)模块很重要。普通的自注意力模块允许一个位置看到它右侧单词的信息(如下左图),而带掩模的自注意力模块则不允许这么做(如下右图)。

解码器每一步都只解码一个词,输出单词后放入解码器的输入,重复上述操作直到解码到<eos>为止。到这里就完成了句子的输出。


GPT的全称是Generative Pre-Training

GPT-2是通过transformer解码器模块构建的,而BERT是通过transformer的编码器模块构建的。


ELMO的全称是Embeddings from Language Models

ELMO 的本质思想是:我事先用语言模型学好一个单词的 Word Embedding,此时多义词无法区分,不过这没关系。在我实际使用 Word Embedding 的时候,单词已经具备了特定的上下文了,这个时候我可以根据上下文单词的语义去调整单词的 Word Embedding 表示,这样经过调整后的 Word Embedding 更能表达在这个上下文中的具体含义,自然也就解决了多义词的问题了。所以 ELMO 本身是个根据当前上下文对 Word Embedding 动态调整的思路。

ELMo是分别以和 作为目标函数

 

综合大全


BERT的全称是Bidirectional Encoder Representation from Transformers

Bert也就是基于Attention的搞出来的大规模语料预训练的模型.

综合大全

综合大全

相关文章: