PaperNotes(20)-Attention Is All You Need

Attention Is All You Need

2014 - attention -《Neural Machine Translation by Jointly Learning to Align and Translate》-ICLR(Bengio)
2017 - self-attention -《Attention is all you need》- Transformer-谷歌

self-attention 计算 :
C = A t t e n t i o n ( Q , K , V ) = softmax Q K T d k ∗ V C = Attention(Q, K, V ) = \text{softmax} \frac{Q K^T}{\sqrt{dk}} * V C=Attention(Q,K,V)=softmaxdk QKTV

其中: d k \sqrt{dk} dk 为 scaling factor, 防止 Q K T QK^T QKT矩阵元素方差过大。
Q . s i z e ( ) = [ M , D ] Q.size() = [M, D] Q.size()=[M,D]: Query
K . s i z e ( ) = [ N , D ] K.size() = [N, D] K.size()=[N,D]: Key
V . s i z e ( ) = [ N , F ] V.size() = [N, F] V.size()=[N,F]: Value
Key 和 Value 是相同序列(含有N个元素在)不同高维空间下的表达,表征的本质对象是一致的。

self-attention:当 Q , K , V Q, K, V Q,K,V 为[同一个高维空间]+[同一集合特征] ( D = F , N = M ) (D=F, N=M) (D=F,N=M) , 计算V中元素间attention(加权求和)特征, 如上QKV 原始元素集合相同,即编码。
C . s i z e ( ) = [ N , F ] C.size() = [N, F] C.size()=[N,F]是集合元素 { S 0 , S 1 , . . . , S N } \{S_0, S_1,...,S_N\} {S0,S1,...,SN} 自注意力编码[特征轴各维度 收集到 每个成员在该位置特征加权和 ,后序可直接用于 { S 0 , S 1 , . . . , S N } \{S_0, S_1,...,S_N\} {S0,S1,...,SN} 相关任务的解码。

cross-attention: Qurey 目标序列,Key Value 源序列-(源序列和目标序列长度可能不一致 M != N)

Attention是将query和key映射到同一高维空间中去计算相似度,而对应的multi-head attention把query和key映射到高维空间 的不同子空间 中去计算相似度。

FFN

1 Introduction

递归神经网络(Recurrent Neural Network)在序列建模领域占据了稳固的地位。递归模型通常沿着输入和输出序列的符号位置进行计算(factor computation) 。在计算的过程中将位置和时间步长对齐,生成一系列的隐状态 h t h_t ht。隐状态 h t h_t ht是前一个时刻隐状态 h t − 1 h_{t-1} ht1和当前 t t t时刻位置信息的函数。这种固有的序列性质妨碍了样本的并行训练,在序列很长时这种串行性的缺点将变得十分明显。虽然最近有许多工作例如’因式分解’(factorization)[21] 条件计算(conditional computation)[32]致力于解决递归网络计算效率的问题,并且取得了良好的效果。但是递归网络的计算效率依旧是一个基本的限制条件。

注意力机制"attention mechanism"已经成为很多 序列建模/转换模型的一个重要组成部分。引入注意力机制之后,使得这些模型能够建模依赖性’dependencies’ 而不需要考虑’元素’在输入/输出序列中的位置。目前的这些注意力机制都是和递归神经网络一同出现的。

本文提出的Transformer模型,抛弃了递归的结构,完全依赖注意力机制来提取输入和输出序列之间的全局依赖关系。Transformer方便更大程度并行化,通过8个P100 训练12小时就能获得一个拥有先进水平翻译质量的模型。
【To be done】
2 Background
3 Model Architecture

参考文档:

  1. 论文解读:Attention is All you need
  2. 论文笔记:Attention is all you need
  3. Transformer–论文翻译:Attention Is All You Need 中文版
  4. 注意力机制Attention详解
  5. Attention and Self-Attention
  6. 【经典精读】万字长文解读Transformer模型和Attention机制

https://blog.csdn.net/m0_63097763/article/details/132293568 - 输出需要更改一下
output_a = torch.matmul(attentions_b, input_b) # (batch_size, seq_len_a, input_dim_b)
改为
output_a = torch.matmul(attentions_a, input_b) # (batch_size, seq_len_a, input_dim_b)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值