江东的笔记

Be overcome difficulties is victory

0%

对Transformer中FeedForward层的理解

在Multi-Head Attention中,主要是进行矩阵乘法,即都是线性变换,而线性变换的学习能力不如非线性变换的学习能力强

上一篇我们介绍了对Add&Norm层的理解,有不大熟悉的可以看一下上篇文章。

今天来说一下Transformer中FeedForward层,首先还是先来回顾一下Transformer的基本结构:首先我们还是先来回顾一下Transformer的结构:Transformer结构主要分为两大部分,一是Encoder层结构,另一个则是Decoder层结构,Encoder 的输入由 Input Embedding 和 Positional Embedding 求和输入Multi-Head-Attention,然后又做了一个ADD&Norm,再通过Feed Forward进行输出。

FeedForward的输入是什么呢?是Multi-Head Attention的输出做了残差连接和Norm之后得数据,然后FeedForward做了两次线性线性变换,为的是更加深入的提取特征。
在这里插入图片描述
可以看出在每次线性变换都引入了非线性激活函数Relu,在Multi-Head Attention中,主要是进行矩阵乘法,即都是线性变换,而线性变换的学习能力不如非线性变换的学习能力强,FeedForward的计算公式如下:max相当于Relu
在这里插入图片描述

所以FeedForward的作用是:通过线性变换,先将数据映射到高纬度的空间再映射到低纬度的空间,提取了更深层次的特征