注意!Transformer
本博客主要内容是讲解
- 编码器-解码器架构
- 注意力机制
模型
编码器-解码器架构由论文《
下面就让我来介绍一下吧!
编码器-解码器架构
为解决
编码器-解码器架构将长度可变的序列作为输入和输出,其中:
- 编码器可将长度可变的序列作为输入,并将其转换为具有固定形状的编码状态
- 解码器将具有固定的编码状态映射为长度可变的序列
编码器
假设输入序列为
编码器通过选定的函数
解码器
假设输出序列为
在获得解码器的隐状态后,我们可以使用输出层和
在实现解码器时,我们需要使用编码器最后一个时间步的隐状态来初始化解码器的隐状态,这就要求使用循环神经网络实现的编码器和解码器具有相同数量的层和隐藏单元。
注意力机制
自主性的与非自主性的注意力提示解释了人类的注意力的方式。
是否包含自主型提示将注意力机制与全连接层或汇聚层区别开来。在注意力机制的背景下,自主型提示被称为查询。给定任何查询,注意力机制通过注意力汇聚将选择引导至感官输入。
即:查询(自主性提示)、键(非自主性提示)、值(感官输入),其中,查询与键之间的交互称为注意力汇聚,注意力汇聚可以有选择性的汇聚了值以生成最终的输出。
- 核回归模型
根据输入的位置对输出进行加权:
其中,
其中的系数值越大,表示分配给这个键的权重越大,也就是“获得了更多的注意力”。
注意力评分函数
评分函数的输出结果输入
由于注意力权重是概率分布,因此加权和在本质上就是加权平均数。
注意力汇聚函数本质:
加性注意力(适用于查询与键是不同长度的向量时),其评分函数为:
将查询与键输入到一个多层感知机中,感知机包含一个隐藏层,其隐藏单元数是一个超参数
缩放点积注意力可以得到计算效率更高的评分函数,但点积操作需要要求查询和键具有相同的长度
注意力
多头注意力
本质上是将多头连接后线性变换,将每个查询、键、值使用全连接层分布连接后,进入注意力层,再将所有注意力层连接并进入一个新的全连接层。
其中的
自注意力和位置编码
给定一个由词元组成的序列
与卷积神经网络相同,自注意力也有并行计算的优势。
位置编码是在处理序列时需要进行的操作。自注意力由于并行计算放弃了顺序操作,为了使用序列的顺序进行,通过在输入时添加位置编码来注入绝对的或相对的位置信息。
假设输入是一个包含
模型
本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。