CS224N WINTER 2022Transformers详解(附Assignment5答案)

Posted 囚生CY

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CS224N WINTER 2022Transformers详解(附Assignment5答案)相关的知识,希望对你有一定的参考价值。

CS224N WINTER 2022(一)词向量(附Assignment1答案)
CS224N WINTER 2022(二)反向传播、神经网络、依存分析(附Assignment2答案)
CS224N WINTER 2022(三)RNN、语言模型、梯度消失与梯度爆炸(附Assignment3答案)
CS224N WINTER 2022(四)机器翻译、注意力机制、subword模型(附Assignment4答案)
CS224N WINTER 2022(五)Transformers详解(附Assignment5答案)

序言


文章目录


lecture 9 Transformers

slides

[slides]

Transformer是对自然语言处理研究领域的一场革新,几乎目前NLP中所有的先进模型都离不开Transformer。典中典的Attention Is All You Need,很多人都有写过Transformer的原理解析,这里不赘述。

  1. RNN的缺陷:slides p.19

    线性交互距离(linear interaction distance):联系两个相隔很长的节点的时间复杂度是 O ( sequence length ) O(\\textsequence length) O(sequence length)

    不能并行:GPU和TPU能够高效地并行巨量的独立运算,然而RNN无法享受这样的红利。

  2. 自注意力(self attention):slides p.22

    注意力机制将每个单词的表示视为查询向量(query),然后与一系列值向量结合(参考lecture7中相关内容),在encoder-decoder模型架构中,注意力得分是根据decoder中当前需要解码的一个隐层状态与encoder中所有隐层状态计算得到的一个相似度向量(如点积),这称为encoder-decoder注意力。

    自注意力则是encoder-encoder注意力(或decoder-decoder注意力),具体而言,在机器翻译模型中,注意力刻画的两种不同的语言序列(称之为输入语句和输出语句)之间的相似度,那么自注意力就是刻画输入语句(或输出语句)与自身的一个相似度。

  3. Transformer的优势:slides p.24

    ① 非并行的运算复杂度不会随着序列长度的增加而增加;

    ② 因为自注意力机制的存在,每个单词都相互关联,因此联系两个相隔很长的节点的时间复杂度是 O ( 1 ) O(1) O(1)

  4. Transformer详解(编码器部分):slides p.26

    下图摘自Transformer提出文:Attention Is All You Need

    • 自注意力机制:这是Transformer的核心区块(多头注意力)。

      假想有一个模糊的哈希表,如果我们想要查询某个(value),我们需要将查询(query)与表中的(key)进行对比(因为这是一个模糊的哈希表)。

      上图左边是各标准哈希表,每个查询恰好对应一个键值对,右边是自注意力机制,每个查询可能匹配多个键值对,因此我们将根据查询与键的相似度对每个进行赋权

      首先我们来看Transformer中编码器的自注意力机制:

      ① 对于每个输入的词向量 x i ∈ R d m o d e l x_i\\in\\R^d_\\rm model xiRdmodel d m o d e l d_\\rm model dmodel表示词向量的维度),计算其查询向量键向量值向量
      q i = W Q x i ∈ R d k k i = W K x i ∈ R d k v i = W V x i ∈ R d v i = 1 , 2 , . . . , n (9.1) q_i=W^Qx_i\\in\\R^d_k\\quad k_i=W^Kx_i\\in\\R^d_k\\quad v_i=W^Vx_i\\in\\R^d_v\\quad i=1,2,...,n\\tag9.1 qi=WQxiRdkki=WKxiRdkvi=WVxiRdvi=1,2,...,n(9.1)
      ② 计算查询向量键向量之间的注意力得分(点积), n n n表示序列长度:
      e i j = q i k j ∈ R i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , n (9.2) e_ij=q_ik_j\\in\\R\\quad i=1,2,...,n;j=1,2,...,n\\tag9.2 eij=qikjRi=1,2,...,n;j=1,2,...,n(9.2)
      ③ 对注意力得分取softmax进行得到标准化的概率分布:
      α i j = softmax ( e i j ) = exp ⁡ ( e i j ) ∑ p = 1 n exp ⁡ ( e i p ) ∈ R i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , n (9.3) \\alpha_ij=\\textsoftmax(e_ij)=\\frac\\exp(e_ij)\\sum_p=1^n\\exp(e_ip)\\in\\R\\quad i=1,2,...,n;j=1,2,...,n\\tag9.3 αij=softmax(eij)=p=1nexp(eip)exp(eij)Ri=1,2,...,n;j=1,2,...,n(9.3)
      ④ 根据概率分布计算值向量的加权累和:
      output i = ∑ j = 1 n α i j v j i = 1 , 2 , . . . , n (9.4) \\textoutput_i=\\sum_j=1^n\\alpha_ijv_j\\quad i=1,2,...,n\\tag9.4 outputi=j=1nαijvji=1,2,...,n(9.4)
      可以将式 ( 9.1 ) (9.1) (9.1)到式 ( 9.4 ) (9.4) (9.4)写成统一矩阵的形式:
      Q = X W Q K = X W K V = X W V E = Q K ⊤ A = softmax ( E ) Output = A V ⇒ Output = softmax ( Q K ⊤ ) V (9.5) \\left.\\beginaligned Q=XW^Q\\quad K=XW^K\\quad V=XW^V&\\\\ E=QK^\\top&\\\\ A=\\textsoftmax(E)&\\\\ \\textOutput=AV&\\endaligned\\right\\ \\Rightarrow\\textOutput=\\textsoftmax(QK^\\top)V\\tag9.5 Q=XWQK=XWKV=XWVE=Q以上是关于CS224N WINTER 2022Transformers详解(附Assignment5答案)的主要内容,如果未能解决你的问题,请参考以下文章

      CS224N WINTER 2022词向量(附Assignment1答案)

      CS224N WINTER 2022Transformers详解(附Assignment5答案)

      CS224N WINTER 2022Transformers详解(附Assignment5答案)

      CS224N WINTER 2022Transformers详解(附Assignment5答案)

      CS224N WINTER 2022 前沿问题探讨(QANLG知识集成与检索Coreference)

      CS224N WINTER 2022 前沿问题探讨(QANLG知识集成与检索Coreference)