10_从Attention层到Transformer网络

简介: 10_从Attention层到Transformer网络

一、Multi-Head Attention(多头)


1.1 Single-Head Self-Attention(单头Self-Attention)


输入为一个序列(X1 ,X2 ,X3 ,···,Xm),Self-Attention层有三个参数矩阵(WQ ,WK ,WV),输出是一个序列(C:1 ,C:2 ,C:3 ,···,C:m)


1.2 Multi-Head Self-Attention(多头Self-Attention)


Using L single-head self-attentions (which do not share parameters.) (多头Self-Attention是由L个单头的Self-Attention组成的,它们各自有各自的参数,不共享参数)

A single-head self-attention has 3 parameter matrices: WQ ,WK ,WV 。(每个单头self-attention有三个参数矩阵)


Totally 3L parameters matrices.(因此的,多头self-attention共有3L个参数矩阵)

所有单头Self-Attention都有相同的输入,但是它们的参数矩阵各不相同,所以输出的C序列也各不相同,把 L个单头Self-Attention输出的序列做合并堆叠起来,作为多头Self-Attention的最终输出,堆叠起来的C向量变得更高。



Suppose single-head self-attentions’ outputs are dxm matrices. (如果每个单头的输出都是d×m的矩阵)


Multi-head’s output shape: (Ld) xm. (多头的输出是 (Ld)×m )


550f9db2211f2ddc8c533e090180a458.png


1.3 Multi-Head Attention(多头Attention)


Using L single-head attentions (which do not share parameters.) (多头Self-Attention是由L个单头的Self-Attention组成的,它们各自有各自的参数,不共享参数)


Concatenating single-head attentions’ outputs. (合并堆叠单头attention的输出)


输入为两个序列(X1 ,X2 ,X3 ,···,Xm),(X‘1 ,X’2 ,X‘3 ,···,Xt)


二、Stacked Self-Attention Layers(堆叠)


多头Self-Attention和全连接层搭建一个encoder网络


2.1 Self-Attention Layer+Dense Layer


这几个全连接层是相同的,参数矩阵都是Wu

搭建的是两层。


U:i 向量不仅仅依赖于Xi ,U:i 向量依赖于所有m个Xi 向量。改变任何Xi 向量,U:i 向量都会发生变化,对U:i 向量影响最大的还是Xi 向量。


ec72365dc71cbead6fd23588b73c16df.png


2.2 Stacked Self-Attention Layers


ca031e762dcf4a96b2fe32710d699bc4.png


2.3 Transformer’s Encoder


一个block有两层,一个是self-attention层和全连接层。

输入是512×m的矩阵,输出也是512×m的矩阵

m是输入序列X的长度,每个X向量都是512维的

Transformer的encoder网络一共有6个blocks,每个block有两层,每个block都有自己的参数,block之间不共享参数

最终的输出是512×m的矩阵,输出与输入的大小是一样的


1dd5282a2bfcdcf028a15a43a17d5b81.png


三、Stacked Attention Layers


3.1 Stacked Attentions


Transformer is a Seq2Seq model (encoder + decoder).

Encoder’s inputs are vectors X1 ,X2 ,X3 ,···,Xm 。

Decoder’s inputs are vectors X‘1 ,X‘2 ,X’3 ,···,X‘t 。

Transformer’s encoder contains 6 stacked blocks。(Transformer的encoder包含6个blocks)

1 block 1 multi-head attention layer + 1 dense layer.(1个block包含两层)


ed8f23efdbf340eeb0b8a417590c9552.png


3.2 Transformer’s Decoder


decoder的一个block包含:Self-Attention层,Attention层,全连接层。


这个block需要两个输入序列,两个序列都是512维的向量,两个序列的长度分别为m和t。


0f2d0788d4f442b4bab1d15a109b45a8.png


四、Transformer


9bc454dba3ab0d5a1d4816bceefb1ae2.png


五、Summary(总结)


5.1 From Single-Head to Multi-Head


Single-head self-attention can be combined to form a multi-head self-attention.

Single-head attention can be combined to form a multi-head attention.


a512163d08fe4783a921b163fe57ecf9.png


5.2 Encoder Network of Transformer


1 encoder block ≈ multi-head self-attention + dense.

Input shape: 512xm.

Output shape: 512xm.

Encoder network is a stack of 6 such blocks.(这些blocks之间不共享参数)


5.3 Decoder Network of Transformer


1 decoder block ≈ multi-head self-attention + multi-head attention + dense.

Input shape: ( 512 x m,512 x t ).

Output shape:512 x t ;

Decoder network is a stack of 6 such blocks.(这些blocks之间不共享参数)


5.4 Transformer Model


Transformer is Seq2Seq model; it has an encoder and a decoder.(Transformer是Seq2Seq模型,它有encoder和decoder网络,可以用来做机器翻译)

Transformer model is not RNN.(Transformer不是RNN,它没有循环结构)

Transformer is based on attention and self-attention 。 (Transformer完全基于attention和全连接层,Transformer和RNN的输入输出大小完全一样)

Transformer outperforms all the state-of-the-art RNN models. (Transformer用在自然语言处理问题上效果非常好,可以完爆最好的RNN+attention,因此Transformer现在已经是业界标准)


目录
相关文章
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
Transformer:Attention机制、前馈神经网络、编码器与解码器
Transformer:Attention机制、前馈神经网络、编码器与解码器
285 1
|
6天前
|
机器学习/深度学习 网络架构
揭示Transformer重要缺陷!北大提出傅里叶分析神经网络FAN,填补周期性特征建模缺陷
近年来,神经网络在MLP和Transformer等模型上取得显著进展,但在处理周期性特征时存在缺陷。北京大学提出傅里叶分析网络(FAN),基于傅里叶分析建模周期性现象。FAN具有更少的参数、更好的周期性建模能力和广泛的应用范围,在符号公式表示、时间序列预测和语言建模等任务中表现出色。实验表明,FAN能更好地理解周期性特征,超越现有模型。论文链接:https://arxiv.org/pdf/2410.02675.pdf
88 68
|
30天前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
155 30
|
5月前
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
219 2
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
Transformer 能代替图神经网络吗?
Transformer模型的革新性在于其自注意力机制,广泛应用于多种任务,包括非原始设计领域。近期研究专注于Transformer的推理能力,特别是在图神经网络(GNN)上下文中。
150 5
|
6月前
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv8改进- Backbone主干】BoTNet:基于Transformer,结合自注意力机制和卷积神经网络的骨干网络
【YOLOv8改进- Backbone主干】BoTNet:基于Transformer,结合自注意力机制和卷积神经网络的骨干网络
|
8月前
|
机器学习/深度学习 存储 人工智能
神经网络算法 —— 一文搞懂Transformer !!
神经网络算法 —— 一文搞懂Transformer !!
364 0
|
8月前
|
机器学习/深度学习 自然语言处理 并行计算
神经网络结构——CNN、RNN、LSTM、Transformer !!
神经网络结构——CNN、RNN、LSTM、Transformer !!
334 0
|
机器学习/深度学习 存储 人工智能
大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍
大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍
大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍
|
机器学习/深度学习 存储 自然语言处理
10行代码搞定图Transformer,图神经网络框架DGL迎来1.0版本
10行代码搞定图Transformer,图神经网络框架DGL迎来1.0版本
260 0

热门文章

最新文章