学习目标
- 了解Transformer的原理和基于预训练语言模型(Bert)的词表示
- 学会Bert的使用,具体包括pretrain和finetune
1. Attention
将有限的注意力集中在重要的信息上,从而节省资源,快速获取最有效的信息。这就是简单的attention is all you need。
个人理解:
有个图书馆(source),里面有很多的书籍,为了方便管理我们给他们做了标签,形成(标签,书籍)–>(K,V)这种方式,当我们需要了解某个信息,比如北京大学(query),我们需要从书籍中选取相关性比较高的来阅读理解,如北京大学的建校历史等,想关性比较低的可以稍稍过一遍,比如中国名校。这样权重高的信息得到较高的关注度。
attention的三个阶段
阶段1:query和key进行相似度计算
阶段2:将权值归一化,得到可用的权重
阶段3:将权重和value进行加权求和
接下来是相似度计算的几个计算方式解释如下图:
这就是注意力机制的个人理解,对信息加以提取纲要,下一步的transformer的就是融汇贯通。
Transformer
Transformer中的attention是self-attention,self-attention跟attention的主要区别是三个参数Q、K、V都是通过输入语句,就是自己来转换得到的。
2. Bert
bert是一个预训练语言模型,bert是一个考虑上下文(双向)的模型,为了适配多任务下的迁移学习,BERT设计了更通用的输入层和输出层。
bert的输入可以是单一的一个句子或者是句子对,实际的输入值是segment embedding与position embedding相加。
BERT的输入词向量是三个向量之和:
Token Embedding:WordPiece tokenization subword词向量。
Segment Embedding:表明这个词属于哪个句子(NSP需要两个句子)。
Position Embedding:学习出来的embedding向量。这与Transformer不同,Transformer中是预先设定好的值。
bert的三个阶段: