安静到无声

V1

2022/10/21阅读:15主题:萌绿

自注意机制

封面
封面

前言

本文主要介绍在看李宏毅自注意机制视频的一些自我总结

1.运行原理

图1 POS tagging
图1 POS tagging

当利用全连接网络,输入一段话(I saw a saw(我看到一个锯子)),输出对应单词数目的标签(假设输出为单词的词性表示(名词,动词,形容词等)),如图1所示,这种情况下,我们很难获得正确的答案。为了使网络能够理解问题的含义,就需要考虑语句的上下文信息。可以利用滑动窗口,每个向量查看窗口(window)中相邻的其他向量的性质,其中窗口大小的选择是靠人工经验设定的。但是这种方式不能解决整条句子的分析问题。所以就引入了自注意力机制(Self-attention)。

图2 Sequence Labling
图2 Sequence Labling

2. Self-attention

它的经典结构如图3所示,将一个语句向量送入Self-attention,产生对应个数的向量,然后再将结果送入全连接网络(FC),最终实现结果的预测(标签的输出)。

图3 Self-attention经典结构
图3 Self-attention经典结构

同时也可以将图1这种结构堆叠,如图4所示。

图4 多结构堆叠
图4 多结构堆叠

3. 运行机制

本节重点剖析Self-attention内部的计算流程,假定输入分别为 ,输出分别为 。在计算时需要考虑之间的相关性(各输入对一个输出的影响),如图5所展示的样子。

图5 输出与输入的相关性
图5 输出与输入的相关性

以输出 和输入 为例,来说明相关性。利用 的值,来表示 之间的相关性,如图6所示。

图6 相关性表示
图6 相关性表示

接下来便是如何计算 值了。这里有两个可学习的参数,分别是 ,将两输入分别与 进行向量相乘,可得 ,最终进项Dot-product可得到 ,这一过程用流程图(图7左)表述如下。

图7 的计算流程
图7 的计算流程

然后我们分别计算两两之间的关联性,流程如图8所示,首先计算出 ,可得下式:

之后将向量点乘,便得到了之间的关联性,如下式:

图8 ,和的计算流程
图8 的计算流程

需要说明的是 也是需要计算的,然后将4个值通过softmax进行标准化,获得 ,这些值可以同时计算得出(并行计算得出)。

图9 标准化实现
图9 标准化实现

将得到的相关性分数 分别与输入特征相乘并相加后得到 ,如下所示,流程图如图10所示:

图10 Extract information based on attention scores
图10 Extract information based on attention scores

我们以并行化(parallel)的方式得到 ,如下图所示:

图11 并行化处理
图11 并行化处理

矩阵化表示

从上文的分析可知,自注意力机制可学习的参数有3个 的计算如下:

图12 ,和的计算
图12 的计算

然后要求相关分数,一共有16项目,即 和${{\alpha_{1,4}}$,计算如图13所示:

图13 ,,和的计算
图13 的计算

将此过程转化为矩阵的相乘,即

图14 并行化运算(矩阵)
图14 并行化运算(矩阵)

然后求解 ,如下所示

图15 求解,,和
图15 求解

以上就是矩阵化的计算的过程,这一点和卷积神经网络类似,其特点是高效快速,很适合GPU和FPGA等设备进行计算。

最后我们对整个计算过程进行一个简单的归纳,定义 ,可学习参数分别为 和输出 。通过以上公式定义可得 ,计算如下:

之后便是求解注意力矩阵 (标准化之后),在上文图14,我们已经进行了分析,所以不在赘述,直接给出公式:

最终得到输出 的计算如下:

整个过程的简单归纳,如图16所示:

图16 自注意机制矩阵化计算流程
图16 自注意机制矩阵化计算流程

多头注意力

上文实际上是单头注意力,其实在Transform中,应用的是多头注意力,那什么是多头注意力呢?其实特别简单,就是在分出来的 ,再一次进行分支操作,有多少个分支,就叫做多少个头,图17是一个双头注意力模型,和之前相比,可学习参数不仅仅只有 这三个,还有 ,需要计算公式有:

图17 双头注意力模型
图17 双头注意力模型

此时的 如17图所示,即利用 以及 计算 ,利用 以及 计算

图18 和计算
图18 计算

在得到 之后,在引入一个矩阵 ,进行运算可得到输出 ,如图19所示:

图19 模型最终输出
图19 模型最终输出

参考

(多头)自注意力机制:https://zhuanlan.zhihu.com/p/484524337
台大李宏毅自注意力机制和Transformer详解!:强烈推荐!台大李宏毅自注意力机制和Transformer详解!_哔哩哔哩_bilibili

分类:

后端

标签:

后端

作者介绍

安静到无声
V1

公众号:安静到无声成长之路