NLP(五):Transformer及其attention机制
NLP(五):Transformer及其attention机制
2024年8月20日修改
作者:紫气东来
Transformer 模型自 2017 年 6 月在论文《Attention Is All You Need》被提出以来,已经成为 NLP 领域中的首选模型。Transformer 抛弃了 RNN 的顺序结构,采用了 Self-Attention 机制,使得模型可以并行化训练,而且能够充分利用训练资料的全局信息,加入 Transformer 的 Seq2seq 模型在 NLP 的各个任务上都有了显著的提升。本文将试图从多角度更加清晰地讲解 Transformer 的运行原理。
Transformer 由且仅由 self-Attention 和 Feed Forward Neural Network 组成。Transformer中包括了编码器和解码器各 6 层,总共 12 层的 Encoder-Decoder。Transformer 中的核心机制就是 Self-Attention。Self-Attention 机制的本质来自于人类视觉注意力机制。
attention详解
输入是一个序列, x1,x2...,xn x^{1},x^{2}...,x^{n} ,进行embedding之后形成 a1,a2...,a4 a^{1},a^{2}...,a^{4} ;然后每个 xi x^{i} 都会经过三个矩阵处理( WQ W^{Q} , WK W^{K} 和 WV W^{V} ),得到三个向量 Q,V Q,V 和 K K 。
Q:query(tomatchothers)Qi=WQai Q : query (to ~match ~others) ~~~~~~~Q^{i}=W^{Q} a^{i}
K:key(tobematched)Ki=WKai K: key (to ~be ~matched)~~~~~~~K^{i}=W^{K} a^{i}
V:value(informationtobeextracted)Vi=WVai V: value(information ~to ~be ~extracted)~~~~~~V^{i}=W^{V} a^{i}
Attention最核心的公式如下,下面将逐步剖析这一公示的含义
Attention(Q,K,V)=softmax(QKTdk)V \operatorname{Attention}(Q, K, V)=\operatorname{softmax}\left(\frac{Q K^{T}}{\sqrt{d_{k}}}\right) V
附件不支持打印
加载失败,