自注意力机制
去处理输入是一个向量序列的情况,向量的数目可以改变。
输入
- 句子:句子中的词汇不一样,编码方式:One-hot Encoding(无语义信息)Word Embedding(含语义信息,每个单词的具体含义与其编码相关)
- 声音讯号
- 一个图(Graph):例如一个社会关系图、化学分子等
输出
- 每个输入的向量均有一个标签的输出:例如分析句子中每个词汇的词性。
- 一整个序列只需要一个输出标签:判断句子是积极的还是消极的。判断一句语音是哪个人说的。
- 无确定长度的输出,由模型自己决定:SEQ2SEQ,例如回复一句话。
以输出是只有一个标签的输出为例,比如分析句子中的词性,要考虑整个句子的关系,同一个单词在不同的位置可能词性不同。也就是自注意力机制解决的问题。
其中
α
\alpha
α代表两个单词的相关联程度,计算其大小的方式:
对应每个句子中每两个单词的相关程度计算:
这样就计算得到了每个单词与第一个词的关联性,最后求和
抽取基于注意力分数的信息,谁的注意力分数最大, 最后就越接近最后的输出B1,
考虑到位于句子中的不同位置所带来的影响不同,例如在句尾不容易出现动词。因此需要位置编码。positional encoding。