周报5
本周主要学习了self-attention的原理、精读论文《A Self-Attentive model for Knowledge Tracing》和他人复现该论文的代码。 1.self-attention介绍 2015-2017年,自从 attention 提出后,基本就成为 NLP 模型的标配。 《attention is all you need》中指出:1. 靠attention机制,不使用rnn和cnn,并行度高 2.通过attention,抓长距离依赖关系比rnn强 (1)self-attention基本结构: 图1 Q(Query), K(Key), V(Value)三个矩阵均来自同一输入。 (2)self-attention计算 第一步:从每个编码器的输入向量(每个单词的词向量)中生成三个向量。即对于每个单词,创造一个查询向量Q、一个键向量K和一个值向量V。这三个向量都是通过词嵌入与三个权重矩阵后相乘创建的,如下图所示。 图2 X 1 与W Q 权重矩阵相乘得到q1, 就是与这个单词相关的查询向量,同理得到键向量和值向量。W Q 、W K 、W V 都是随机初始化得到的。 第二步:计算得分,计算本例子中的第一个词“Thinking”自注意力向量