NLP模型小总结

位置编码、多头注意力、双向模型

  • 位置编码
  • 多头注意力
  • 双向模型
  • LSTM
  • GRU
  • BERT
  • Transformer
  • GPT

位置编码

在这里插入图片描述
  位置编码公式如上,感觉大家跟我的疑惑一样,公式肯定是能看懂的,就差个例子。那么,做为Transformer第1个位置( p o s = 1 pos=1 pos=1)的输入,维度假设为7维(dmodel=7),那么他的位置编码如下,位置编码的维度和特征的维度相同,两者相加,就得到了包含位置信息的输入:
( s i n 1 1000 0 0 128 , c o s 1 1000 0 1 128 , s i n 1 1000 0 2 128 , c o s 1 1000 0 3 128 , s i n 1 1000 0 4 128 , c o s 1 1000 0 5 128 , s i n 1 1000 0 6 128 ) (sin\frac{1}{10000^\frac{0}{128}},cos\frac{1}{10000^\frac{1}{128}},sin\frac{1}{10000^\frac{2}{128}},cos\frac{1}{10000^\frac{3}{128}},sin\frac{1}{10000^\frac{4}{128}},cos\frac{1}{10000^\frac{5}{128}},sin\frac{1}{10000^\frac{6}{128}}) (sin1000012801,cos1000012811,sin1000012821,cos1000012831,sin1000012841,cos1000012851,sin1000012861)
  这么一写,了然了吧?

多头注意力

  就是有多个self-attention,每个头都会得到自己的一个注意力系数,最后将这些注意力系数concat,做为最终的注意力。这就是集成学习的思想

双向模型

  单向模型仅能保留过去的信息,因为它看到的唯一输入来自过去。使用双向模型将以两种方式运行您的输入,一种从过去到未来,一种从未来到过去,这种方法与单向的不同之处在于,在向后运行的模型中,保留来自未来的信息并使用两个隐藏状态组合,能够在任何时间点保存过去和未来的信息。可以获得更多的知识。

LSTM

输入输出忘记门

GRU

复位门、更新门;重要性有多大,输出多少。LSTM和GRU相似,在一些情况下GRU胜过LSTM。

BERT

  因为BERT是生成语言模型,所以只使用Transformer中的encoder部分。它主要包含两个任务:1. MLM(Mask Language Model),相当于一个完形填空任务;2. NSP(Next Sentence Predict),判断两个句子是不是上下文。训练时,将两个任务的loss相加。在海量单预料上训练完BERT之后,便可以将其应用到NLP的各个任务中了。也是个双向模型。

Transformer

  包括encoder、decoder、多头注意力、自注意力、位置编码等关键部分。

GPT

  删除Transformer的decoder部分的多头注意力,大规模堆叠。巨量数据训练。到底有多巨量?7000本书、8亿单词、5GB文本、8个GPU训练一个月。

你可能感兴趣的:(深度学习基础,nlp)