ya n=Ta.x 注意力机制 Sino+smnB 2an erf x e' =mcA
注意力机制
动机 ·每个生成的tokeni可能与不同的源token:相关 bonjour 、le monde hidden state 中中中 hello world bonjour monde D2L.ai
动机 • 每个生成的token可能与不同的源token相关
注意力层 ·注意力层明确选择相关信息 它的存储器(memory) Memory 由“键值对”组成 键和查询越相似,则输 Values Output 出的值越相近 Attention Keys Query D2L.ai
注意力层 • 注意力层明确选择相关信息 • 它的存储器(memory) 由“键值对”组成 • 键和查询越相似,则输 出的值越相近
注意力层 假设“一条询问”为q∈Rag,存储器为(k1,V1),…,(kVn); 。 k;eRak,V:∈Ra, ·计算n分数a1,,an;ai=(q,ki) 改变a可以 ·使用softmax获得注意力 获得不同 b1,…,bn=softmax(a1,…,an) 的注意力 ·输出是值的加权和 层 m 0=∑b1 i=1 D2L.ai
注意力层 • 假设“一条询问”为 𝐪 ∈ ℝ 𝑑𝑞 ,存储器为 (𝐤1, 𝐯1), … , (𝐤𝑛, 𝐯𝑛) ; 𝐤𝑖∈ ℝ 𝑑𝑘 ,𝐯𝑖 ∈ ℝ 𝑑𝑣 • 计算 n 分数 𝑎1, …, 𝑎𝑛;𝑎𝑖 = 𝛼(𝐪, 𝐤𝑖) • 使用 softmax 获得注意力 𝑏1, … , 𝑏𝑛 = softmax(𝑎1, … , 𝑎𝑛) • 输出是值的加权和 𝐨 = ∑ 𝑖=1 𝑛 𝑏𝑖𝐯𝑖 改变α可以 获得不同 的注意力 层
点乘注意力 ·假设询问的长度与值相同q,k;∈Rd a(q,k)=(q,k)/Vd ·向量化版本 ·m个询问Q∈Rmxd和n个键K∈Rnxd a(Q,K)QKT/Vd D2L.ai
点乘注意力 • 假设询问的长度与值相同 𝐪, 𝐤𝑖 ∈ ℝ 𝑑 𝛼(𝐪, 𝐤) = ⟨𝐪, 𝐤⟩/ 𝑑 • 向量化版本 • m 个询问 𝐐 ∈ ℝ 𝑚×𝑑 和 n 个键 𝐊 ∈ ℝ 𝑛×𝑑 𝛼(𝐐,𝐊) = 𝐐𝐊 𝑇 / 𝑑
多层感知注意力 ·可学习的参数Wk∈Rhxk,W。∈Rhxda,v∈Rh a(k,q)vTtanh(Wik Waq) ·相当于连接“键”(key)和“询问”(quey),然后输入隐含 大小为h和输出大小1的单个隐含层感知 D2L.ai
多层感知注意力 • 可学习的参数 𝐖𝑘 ∈ ℝ ℎ×𝑑𝑘 ,𝐖𝑞 ∈ ℝ ℎ×𝑑𝑞 , 𝐯 ∈ ℝ ℎ • 相当于连接“键”(key)和 “询问”(query),然后输入隐含 大小为 ℎ 和输出大小 1的单个隐含层感知 𝛼(𝐤, 𝐪) = 𝐯 𝑇 tanh(𝐖𝑘𝐤 + 𝐖𝑞𝐪)
Seq2seq与注意力机制 D2L.ai
Seq2seq 与注意力机制
模型架构 添动加额外的注意层以编码器的输出作为存储器 ·注意力的输出用作解码器的输入 Attention Key-values Query Output Input Encoder Decoder D2L.ai
模型架构 • 添加额外的注意层以编码器的输出作为存储器 • 注意力的输出用作解码器的输入
编码器一解码器上的注意力机制 Encoder Decoder 。1 使用编码器中最后一个循环神经 Attention 网络层的输出 Dense 个 ·然后,注意力输出与嵌入输出拼 Recurrent layer Recurrent layer 接,以输入解码器中的第一个循 环神经网络层 Recurrent layer Recurrent layer ↑ Embedding Embedding 入 Sources Targets D2L.ai
编码器—解码器上的注意力机制 • 使用编码器中最后一个循环神经 网络层的输出 • 然后,注意力输出与嵌入输出拼 接,以输入解码器中的第一个循 环神经网络层