admin 管理员组

文章数量: 1086019


2024年3月28日发(作者:网站首页模板修改后为什么不保存)

transformer模型公式详解

Transformer模型是一种基于自注意力机制的序列到序列模

型,在自然语言处理中取得了很多优秀的成果,如BERT、GPT等。

本文主要介绍Transformer模型的公式及其详解。

1. Multi-Head Attention

首先是Transformer模型的核心组件——多头注意力机制。其

公式为:

$$ Attention(Q,K,V)=softmax(frac{QK^T}{sqrt{d_k}})V $$

其中,$Q$、$K$、$V$是输入的查询(Query)、键值(Key)、值

(Value)向量,$d_k$是向量的维度。softmax表示对权重进行归一

化,使它们的和等于1。

Multi-Head Attention,即多头注意力机制,是将多个不同的

注意力机制并行地作用于同一个输入,然后将它们的输出在最后拼

接起来。具体公式如下:

$$ MultiHead(Q,K,V)=Concat(head_1,...,head_h)W^O $$

其中,$head_i=Attention(QW_i^Q,KW_i^K,VW_i^V)$,

$W_i^Q$、$W_i^K$、$W_i^V$为不同的线性映射矩阵,$W^O$为一个

线性映射矩阵,$h$是头的数量。

2. Position-wise Feed-Forward Network

除了多头注意力机制,Transformer模型还使用了一种简单的

前馈神经网络,即Position-wise Feed-Forward Network。其公式

为:

- 1 -

$$ FFN(x)=max(0,xW_1+b_1)W_2+b_2 $$

其中,$x$为输入,$W_1$、$b_1$、$W_2$、$b_2$为可学习的参

数。这种前馈神经网络可以看作是在每个位置独立地处理输入向

量。

3. Encoder Layer

接下来是Transformer模型的Encoder Layer。其公式为:

$$ EncoderLayer(x)=MultiHeadNorm(x+MultiHead(x))FFNNorm(x+F

FN(x)) $$

其中,$x$为输入,$MultiHead$表示多头注意力机制,$FFN$表

示前馈神经网络,$Norm$表示层归一化,即对每个位置的向量进行

归一化处理。

4. Decoder Layer

同样,Transformer模型的Decoder Layer也采用了类似的结

构。其公式为:

$$ DecoderLayer(x,

enc)=MultiHeadNorm(x+MultiHead(x,x,x))MultiHeadNorm(x+Multi

Head(x,enc,enc))FFNNorm(x+FFN(x)) $$

其中,$x$为Decoder的输入,$enc$为Encoder的输出,第一

个$MultiHead$表示Decoder自注意力机制,第二个$MultiHead$表

示Decoder与Encoder的注意力机制。

5. Transformer模型

- 2 -

最后是整个Transformer模型。其公式为:

$$ Transformer(enc, dec)=Decoder(Encoder(enc), dec) $$

其中,$enc$为Encoder的输入,$dec$为Decoder的输入。

Transformer模型的整个过程可以看作是对输入进行多次Encoder

和Decoder的迭代。

以上就是Transformer模型的公式详解,它们构成了

Transformer模型的核心组件。在自然语言处理中,使用这些组件

可以构建出很多优秀的模型,如BERT、GPT等。

- 3 -


本文标签: 模型 注意力 机制 公式 输入