Transformer学习记录

Transformer学习

一 预备知识

(1)softmax

softmax函数,又称归一化指数函数,是二分类sigmoid在多分类上的推广。

在输出一个多分类结果时,其概率大于0小于1,且概率之和为1。易知:概率有两个性质:1)预测的概率为非负数;2)各种预测结果概率之和等于1。

softmax就是将在负无穷到正无穷上的预测结果按照这两步转换为概率的。

指数函数图像如下所示:

Transformer学习记录_第1张图片

我们可以知道指数函数的值域取值范围是零到正无穷。softmax第一步就是将模型的预测结果转化到指数函数上,这样保证了概率的非负性。

为了确保各个预测结果的概率之和等于1。我们只需要将转换后的结果进行归一化处理。方法就是将转化后的结果除以所有转化后结果之和,可以理解为转化后结果占总数的百分比。这样就得到近似的概率。
引用自-永不妥协-

二 论文解读

(1)摘要
我们提出了一种新的简单网络架构,Transformer,它完全基于注意机制,完全不需要递归和卷积。在两个机器翻译任务上的实验表明,这些模型在质量上具有优越性,同时更具并行性,训练时间明显减少

(2)结论

Transformer扩展到涉及输入和输出模式而非文本的问题,并研究本地受限注意机制,以有效处理图像、音频和视频等大型输入和输出。

(3)导言
RNN缺点:无法并行,性能低。

Transforemer是个全新模型,采用了attention,可以并行运算。

(4)模型架构

编码器:将长为n的一个序列

在这里插入图片描述

转化为一个向量表示
在这里插入图片描述

解码器:解码器则将上面的z转换成

在这里插入图片描述

n可等于m也可以不等于。

Transformer使用了编码器-解码器的架构。

模型框图如下所示:

Transformer学习记录_第2张图片
其中:Transformer学习记录_第3张图片
为编码器
Transformer学习记录_第4张图片
为解码器

具体细节如下:

1)编码器:N=6,采用6个完全一样的部分layer构成编码器模块。

一个layer种包含2个sub-layer(组成成分):
multi-head self-attention mechanism
和a simple, position-wise fully connected feed-forward network(这个相当于MLP)。

子层(layer)输出为:

在这里插入图片描述

其中LayerNorm:
Transformer学习记录_第5张图片
蓝色为Batch Norm,黄色为Layer Norm,BatchNorm对统一特征进行归一化,而Layer Norm则是对同一序列进行归一化。BatchNorm一般用于图片处理,LayerNorm一般用于文本处理。

2)解码器

相对于编码器,多了一个子层。
带掩码的多头机制

3)注意力
注意力函数是将一个query和一些key-value对映射成一个输出的一个函数。

output为value的一个加权和。

那么权重是怎么得到的呢?

对于value权重,则是value对应得key与query得相似度算来得。
Transformer学习记录_第6张图片
本文所用到得注意力机制为Scaled Dot-Product Attention。

计算公式如下所示:
在这里插入图片描述
计算例图如下:
Transformer学习记录_第7张图片
其结构如下:
Transformer学习记录_第8张图片

对于解码器中mask多头注意力机制,根据上图,假设在计算t位置得数据,它会同计算后面t+1位置得数据,这时候我们需要在计算前将其赋予极小值,以便于在进行softmax时其概率为0。

多头注意力机制:
Transformer学习记录_第9张图片
其计算公式为:
Transformer学习记录_第10张图片
设计该机制是这样可以引进参数W可以学习。

自注意力机制:QKV相同
4)feed-forword
就是一个MLP。
公式如下:
在这里插入图片描述
5)Embeddings and Softmax

你可能感兴趣的:(transformer,学习,深度学习)