变换器模型 Transformer R写RR
变换器模型 (Transformer)
自注意力机制 要使用n个输入生成n 个输出,我们可以将每个 输入复制为键(key), Outputs 值(value)和查询 Self-attention (quey)中 Keys,values, queries ·不保留顺序信息 ·并行计算 t-1 t+1 D2L.ai
自注意力机制 • 要使用 n 个输入生成 n 个输出,我们可以将每个 输入复制为键(key), 值(value)和查询 (query)中 • 不保留顺序信息 • 并行计算
Transformer模型架构 Dense 它是一个编码器-解码器 传递到每块 Add Norm 架构 Position- State wise FFN ·与seq2seq不同,注意 Add Norm Add Norm 力集中在3个地方 Position- Muti-head x n wise FFN Attention Seq2seg with Attenti 变换器块 Add Norm Add Norm Encoder Decoder Multi-head Multi-head Attention Attention Attention Dense 顺序信息 n x Recurrent layer Recurrent layer Positional Positional Encoding Encoding Embedding Embedding Embedding Embedding Sources Targets Sources Targets D2L.ai
Transformer模型架构 • 它是一个编码器 - 解码器 架构 • 与 seq2seq 不同,注意 力集中在 3 个地方 变换器块 传递到每块 顺序信息
多头注意力机制(Multi--head Attention) Dense Dense Transformer Concat Add Norm Position- State wise FFN Attention Attention Add Norm Add Norm Dense Dense De Dense Dense Dense Position- Muti-head wise FFN Attention Queries Keys Values Add Norm Add Norm W9∈RP,x4,W9∈RPx4,andW0∈RP,xa, Multi-head Multi-head Attention Attention ()=attention(Wq Wk,Wv) Positional Positional Encoding Encoding for i=1,...,h 0=W。 Embedding Embedding Sources Targets D2L.ai
多头注意力机制(Multi-head Attention) Dense Attention Queries Keys Values Dense Dense … Dense Attention Dense Dense Concat Dense Multi-head Attention Add & Norm Positional Encoding Embedding Positionwise FFN Add & Norm Muti-head Attention Add & Norm Positionwise FFN Add & Norm Sources Dense Multi-head Attention Add & Norm Positional Encoding Embedding Targets x n n x State Embedding Sources Decoder n x Embedding Targets Dense Encoder Attention Recurrent layer Recurrent layer x n Seq2seq with Attention Transformer
位置前馈网络 Dense 将输入(批量大小,序列长度,特征集大小) Transformer Add Nomm Position- 重新整形为(批量*序列长度,特征集大小) wise FFN Add &Norm ·用两层MLP ·转换为3-D形态 。 等于应用两(1,1)个卷积层 Embedding D2L.ai
位置前馈网络 • 将输入(批量大小,序列长度,特征集大小) 重新整形为(批量*序列长度,特征集大小) • 用两层 MLP • 转换为 3-D 形态 • 等于应用两(1,1)个卷积层
添加与归一化 Layer norm 层规范(Layer Norm)类似 Transformer 于批量规范(Batch Norm) State Block ·但是平均值和方差是沿最后 一个维度计算的 Add Nom uEi-honc X.mean(axis=-1)而 不是批量归一化 X.mean中的第一个批 Embedding 次维度(axis=0) Sources D2L.ai
添加与归一化 • 层规范(Layer Norm)类似 于批量规范(Batch Norm) • 但是平均值和方差是沿最后 一个维度计算的 • X.mean(axis = -1)而 不是批量归一化 • X.mean 中的第一个批 次维度(axis = 0)
位置编码 ·假设嵌入Ⅹ∈Rxd输出的形状(序列长度 Transformer ,嵌入维度) State ·创建P∈Rxd P,2j=sin(i/100002j/a) P,2j+1=c0s(i/100002ja) ·输出X+P D2L.ai
位置编码 • 假设嵌入 𝑋 ∈ ℝ 𝑙×𝑑 输出的形状(序列长度 ,嵌入维度) • 创建 𝑃 ∈ ℝ 𝑙×𝑑 • 输出 X + P 𝑃𝑖,2𝑗 = sin(𝑖/100002𝑗/𝑑 ) 𝑃𝑖,2𝑗+1 = cos(𝑖/100002𝑗𝑑)
预测 在时刻t预测: ·用之前输入的键和值 Output 。 时刻t输入作为查询 以及键和值,以预测 Self-attention 输出 Keys,values Query 1 D2L.ai
预测 • 在时刻 t 预测: • 用之前输入的键和值 • 时刻 t 输入作为查询, 以及键和值,以预测 输出