Attention Is All You Need

news2024/11/24 5:02:45

摘要

  • The dominant sequence transduction models 显性序列转换模型。
  • complex recurrent 复杂的递归。
  • convolutional neural networks 卷积神经网络。
  • an encoder and a decoder 编码器和解码器。
  • The best performing models性能最佳的模型
  • the encoder → \rightarrow an attention mechanism → \rightarrow decoder。
  • a new simple network architecture: 新的简单的网络架构。
  • , the Transformer :完全基于注意力机制:
  • recurrence and convolutions 免除了递归和卷积。
  • Experiments on two machine translation tasks: 两个机器翻译任务上的实验表明:
  • 这些模型能够在质量上最优和要求并行化 在训练时间上所需的时间更少。
  • WMT 2014 Englisht-o-German translation task: 2014年WMT英德翻译任务上,
  • the existing best results 现有的最佳结果。
  • BLEU
  • On the WMT 2014 English-to-French translation task
  • eight GPUs 八块GPU上。
  • a new single-model :一个新的单模型。
  • state-of-the-art BLEU score:最先进的BLEU scores.
  • a small fraction of the training costs 培训成本的一个小部分。
  • the literature 文献中。
  • English constituency parsing :英语选民分析。
  • large and limited training data:大量有限训练数据。

介绍

  • Recurrent neural networks:递归神经网络
  • long short-term memory 长短时记忆。
  • gated recurrent 门控递归
  • neural networks 神经网络
  • firmly 牢固地。
  • state of the art approaches in sequence modeling and transduction problems最先进序列模型的方法转换问题。
  • language modeling and machine translation: 语言模式和机器翻译。
  • Numerous efforts:无数的努力
  • recurrent language models 循环语言模型
  • encoder-decoder architectures:编解码器架构。
  • Recurrent models typically factor computation along the symbol positions of the input and output sequences:
  • 训练模型通常沿输入输出序列的符号位置进行计算。
  • Aligning the positions to steps in computation time 将计算时间内的位置与步骤对齐。
    (隐藏状态) (先前的隐藏状态)
  • generate a sequence of hidden states h t h_t ht.
  • a function of the previous hidden state h t − 1 h_{t - 1} ht1
  • the input for position t t t
  • at longer sequence lengths. (更长的序列长度)
  • memory constraints 内存约束。
  • batching across examples 跨示例批处理。
  • factorization tricks 因式分解。
  • conditional computation 条件计算:模型压缩的一个子方向。
  • sequential computation 连续计算
  • compelling:引人注目。
  • with regrad to 不考虑。
  • eschewing recurrence 避免复发。
  • eight P100 GPUs. 八个P100GPUS.

背景

  • the Extended Neural GPU G P U 图 形 GPU图形 GPU
  • ByteNet
  • ConvS2S
  • convolutional neural networks: 作为基础的构建模块。
  • computing hidden representations in parallel for all input and output positions
  • 在所有输入和输出位置上并行的计算隐藏层表示。
  • two arbitrary input or output positions 两个任意输入输出位置。
  • linearly for ConvS2S and logarithmically for ByteNet
  • albeit 尽管。
  • averaging attention-weighted positions, 平均注意力权重位置。
  • counteract 抵消。
  • Multi-Head Attention 多头注意力机制 in section 3.2.
  • Self-attention 自注意力机制。
  • reading comprehension 阅读理解。
  • abstractive summarization 抽象总结。
  • textual entailment: 文本蕴涵:两个文本片段有指向关系
  • task-independent sentence representations:任务依赖句子表示。
  • End-to-end memory networks: 端到端的记忆网络。
    (基于循环注意力机制:a recurrent attention mechanism
    • simple-language question answerin : 简单的语言问答系统。
  • simple-language question answerin 语言模型任务。
  • To the best of our knowledge 据我们所知。

模型架构

Most competitive neural sequence transduction models: 最具有竞争力的神经序列转换模型。
an encoder-decoder structure 编码和解码架构。

  • the encoder:
    maps an input sequence of symbol representation:
    ( x 1 , x 2 , ⋯ x n ) (x_1,x_2,\cdots x_n) (x1,x2,xn)
  • a sequence of continuous representations
    z = ( z 1 , ⋯   , z n ) z = (z_1,\cdots,z_n) z=(z1,,zn) Given z:
  • the decoder then generates an output sequence:
    ( y 1 , ⋯   , y n ) (y_1,\cdots,y_n) (y1,,yn)
  • At each step the model is auto-regressive.
  • 在生成下一个时,先前的符号作为一个额外输入。tha additional input.
  • Transformer: stacked self-attention 堆积自我注意力。
  • Point-wise 按照点操作属性和规则的集合。
    fully connected layers: 全连接层。
    在这里插入图片描述

Encoder and Decoder Stacks

Encoder

  • a stack of N = 6 N = 6 N=6 idential layers.
  • Each layer has two sub-layers.

分别为:

  • a multi-head self-attention mechanism

  • a simple position-wise fully connected feed-forward network.

  • a multi-head self-attention mechanism (残差链接): around each of the two sub-layers. followed by layer normalization

  • the output of each sub-layer is layerNorm,:
    l a y e r N o r m ( x + S u b l a y e r ( x ) ) layerNorm(x + Sublayer(x)) layerNorm(x+Sublayer(x))

  • S u b l a y e r ( x ) Sublayer(x) Sublayer(x)

  • is the function implemented by the sub-layer itself.
    为了促进这些残差链接,模型中的所有的副层,还有嵌入层产生
    d m o d e l = 512 d_{model} = 512 dmodel=512的产出维度。

Decoder

  • a stack of N = 6 N = 6 N=6 idential layers. (相同图层)

Attention

  • An attention function can be described as mapping a query and a set of key-value pairs to an output,
  • the query,keys,values and output are all vectors.
  • The output is a weighted sum of the values.(值的权重和)
  • 计算每个值得权重:使用一个函数,通过相应得键进行查询
  • 在这里插入图片描述

Scaled Dot-Product Attention

我们成为特别关注:Scaled Dot-Product Attention.

  • input: queries and keys of dimension d k d_k dk.

  • values of dimension d v d_v dv

  • 我们计算the dot prodcuts of the query with all keys.

  • divide each by d k \sqrt{d_k} dk

  • apply the softmax function to obtain the weights on the values.

  • 我们计算这个输出矩阵为 as :
    A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V) = softmax(\frac{QK^{T}}{\sqrt{d_k}})V Attention(Q,K,V)=softmax(dk QKT)V

  • the scaling factor 比例因子: 1 d k \frac{1}{\sqrt{d_k}} dk 1

add

  • additive attention
  • the compatibility function using a feed-forward network with a single hidden layer.
  • dot-product 在实践中,是更快得和空间更加有效性的。

Multi-Head Attention

  • a single attention function with d m o d e l d_{model} dmodel-dimensional keys,values,and quies.
  • 产生输出值为 d v d_v dv-dimensional output values.

M u l t i H e a d ( Q , K , V ) = C o n c a t ( h e a d 1 , ⋯   , h e a d h ) W O MultiHead(Q,K,V) = Concat(head_1,\cdots,head_h)W^{O} MultiHead(Q,K,V)=Concat(head1,,headh)WO

where h e a d i head_i headi = Attention(Q W i Q W^Q_i WiQ,K W i K W^K_i WiK,V W i V W^V_i WiV)

在这里插入图片描述

Applications of Attention in our Model

![在这里插入图片描述](https://img-blog.csdnimg.cn/d26ad98c3b254843a53a240db2a198b4.png

Position-wise Feed-Forward Networks

F F N ( x ) = m a x ( 0 , x W 1 + b 1 ) W 2 + b 2 FFN(x) = max(0,xW_1 + b_1)W_2 + b_2 FFN(x)=max(0,xW1+b1)W2+b2

  • the linear transformations are the same across different positions
  • use different parameters from layer to layer.
  • as two convlutions with kernel size 1.
  • 输入和输出的维度是 d m o d e l = 512 d_{model} = 512 dmodel=512
  • the inner-layer has dimensionality d f f d_{ff} dff = 2048

Embeddings and Softmax

  • other sequence transduction models 序列转换模型
  • use learned embedding to convert the input tokens and output tokens to vectors of dimension d m o d e l d_{model} dmodel
  • the usual learned linear transformation and softmax function to convert the decoder output to predicted next-token probabilities
  • share the weight matrix between the two embedding layers and the pre-softmax linear transformation.

Positional Encoding

在这里插入图片描述

  • sine and cosine functions of different frequencies:
    在这里插入图片描述
    p o s pos pos is the position. i i i is the dimension.

Why Self-Attention

  • a recurrent layer requires O ( n ) O(n) O(n)sequential operations,

Training

Training Data and Batching

  • the standard WMT 2014 English-German dataset
  • 4.5 million sentence pairs.
  • . Sentences were encoded using byte-pair encoding .
  • approximate sequence length 最大化序列长度。
  • source tokens 源词和target tokens 目标词。

Hardware and Schedule

  • 训练模型:8 NVIDIA P100 GPUs

Optimizer

  • the Adam optimizer
    在这里插入图片描述

Regularization在这里插入图片描述

  • Residual Dropout
  • Label Smoothing

Results

Machine Translation

  • On the WMT 2014 English-to-German translation task
  • On the WMT 2014 English-to-French translation task
  • the sustained single-precision floating-point capacity of each GPU
  • 持续每个GPU的单精度浮点容量。

Model Variations

慢慢的将模型变体,啥的全部都将其搞定,研究透彻,研究彻底。慢慢的将这个研究透彻,研究的相当好都行啦的理由。

Transfomrer的输入

Transformer中单词的输入表示 x x x由单词Embedding和位置Embedding(Poxitional Encoding)相加得到

在这里插入图片描述

单词Embedding

单词的Embedding有很多方式可以获取,例如可以采用Word2VecGlove等算法预训练得到,也可以在Transformer中训练得到

位置Embedding

Transformer中除了单词的Embedding,还需要使用位置Embedding表示单词出现在句子中的位置因为Transformer不采用RNN的结构,而是使用全局信息,不能利用单词的顺序信息,而这部分信息对于NLP来说非常重要。所以,Transformer中使用位置Embedding保存单词在序列中的相对或绝对位置
(位置Embedding 保存单词在序列中的相对或绝对位置
位置Embedding用PE来表示,PE的维度与单词Embedding是一样的,PE可以通过训练得到,也可以使用某种公式计算得到,在Transformer中采用了后者,位置Embedding的计算公式如下:

在这里插入图片描述
p o s pos pos 表示单词在句子中的位置。
d d d表示PE的维度。

自注意力机制

在这里插入图片描述

  • Encoder block
  • Decoder block
  • Multi-Head Attention
  • Add:表示残差链接:用于防止网格退化。
  • Norm表示Layer Normalization: 用于对每一层的激活进行归一化。

总结

慢慢的将 t r a n s f o r m e r transformer transformer框架都给其搞透彻,将其研究彻底,研究透彻。
后面开始在开始研究代码,将代码运行一波,然后开始慢慢的将其搞定都行啦的回事与打算。慢慢的将代码给其研究彻底。研究透彻!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87082.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

D. Lucky Chains

传送门 题意:给你两个数x,y让你求满足xk,yk并且GCD(xk,yk)!1的最小值。 思路:要求满足xk,yk并且GCD(xk,yk)!1的最小值,那么就相等于存在(xk)%d(yk)%d 变化一下就等于(x-y)%d0,那么就是找x-y的约数,然后这个约数可能是…

疫情散去想看电影,用css动画模拟一个阿凡达2完美开场

在历经了艰苦卓绝的3年抗疫后,疫情终于还是来了,很多小伙伴变成了小洋人酸奶,我相信过不了多少天,疫情终将散去,那个时候就可以和家人走进电影院啦。 今天用css布局一个阿凡达2的影院场景,提前过一过瘾。 目…

ARM 异常返回地址

armv7-a armv8-a linux5.15 Preferred exception return address armv7 exception return address correction armv8-32 exception return address correction armv8-64 没有查到link value offset表 arm32 data abort exception为例 周期1周期2周期3周期4周期5指令1pc-8取指…

[附源码]Node.js计算机毕业设计电影推荐系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

【LSTM预测】基于鲸鱼算法优化双向长短时记忆BiLSTM(多输入单输出)航空发动机寿命预测含Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

CloudCompare算法库(CCCorelib)编译与使用

文章目录一、简介二、编译过程三、举个栗子优秀的算法库,值得所有点云爱好者去使用和研究*~*。 一、简介 之前一直没注意到CloudCompare的作者(光头大佬)已经将CloudCompare的算法库与其可视化部分进行了分离,今天正好有同学问了这…

以太坊地址Address介绍附代码示例

Address是什么 通常情况下,地址代表一外部账户或合约账户,它们都可以在区块链上接收(目标地址)或发送(源地址)。 更具体地说,它是根据ECDSA算法,从公钥的Keccak-256哈希值的最后20个…

MapRecuce 词频统计案例

文章目录初探MapReduce一、MapReduce核心思想二、MapReduce编程实例-词频统计思路1、map阶段(映射)2、reduce阶段(归并阶段)三、词频统计编程实现1、准备数据文件2、将文件上传到hdfs指定路径3、在java里创建词频统计映射器类4、创建词频统计驱动类5、运行词频统计驱动类&#…

【机器学习】SVM多分类问题及基于sklearn的Python代码实现

SVM多分类问题及Python代码实现1. 什么是SVM?2. SVM的分类3. SVM决策函数类型4. SVM多分类的Python代码实现参考资料1. 什么是SVM? 对于这个点已经介绍的非常多了,不管是西瓜书还是各种博客,就是需要找到一个超平面,用…

【Redis】Zset和Hash类型

Hash类型 Redis hash 是一个键值对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。 Hash 类型的底层数据结构是由压缩列表或哈希表实现的: 如果哈希类型元素小于512个,所有值的大小小于64字节。Redis…

一不小心手动实现了k8s的自动化构建

背景 由于公司需要对公司内部的软件需要对外部署,对于前端的部署,需要一套部署的方案。尝试了写了一个适配多模块可配置的部署脚本,本文对实现的过程进行一个记录。 目的 脚本采用的是node,前端同学的首选。脚本的目的就是实现k8s…

企业在ERP系统下的全面预算管理系统的实现

现代企业的发展离不开各种管理系统的建立和应用,针对于企业预算管理而言,全面的管理系统对于企业实现现代化管理有着较为深入的影响,ERP系统可以帮助企业更好的实现此项功能,本文就是在此背景下展开论述的。 编辑搜图 一、全面预算…

文件上传自动化测试方案

一、概述 【测试地址】:https://pan.baidu.com 【测试工具】selenium、requests 【脚本语言】Python 【运行环境】Windows 百度网盘作为文件存储及分享的平台,核心功能大部分是对文件的操作,如果要对它进行自动化测试,优先覆…

马克思主义基本原理笔记(黄色标记要求会背)

马克思主义基本组成部分 马克思主义哲学马克思主义政治经济学科学社会主义历史学、政治学、法学、文化学、新闻学、军事学等 唯物主义,唯心主义划分标准 唯物主义:把世界的本原归结为物质,主张物质是第一性,意识第二性&#xff0c…

Docker容器网络入门

1、查看默认网络模式 首先假定已经安装好docker了,不会安装的可以看我其他文章,很简单。docker安装好后默认是提供三种网络模式(bridge、host、none),可以使用命令docker network ls查看网络状态 [rootlocalhost ~]#…

构建平衡二叉树(数据结构)

构建二又平衡树,插入的节点序列依次为:70 60 40 90 80 98 我们先了解一个构造规则 1、将每一个节点按照顺序依次使用 2、先将第一个节点画在图上,将第二个节点与第一个节点比较, (1)若比该节点大,第二个…

飞行员兄弟(蓝桥杯C/C++B组真题详解)

目录 题目链接:116. 飞行员兄弟 - AcWing题库​​​​​​ 题目思路: 代码详解: 题目链接:116. 飞行员兄弟 - AcWing题库​​​​​​ 题目思路: 1.我们可以知道 对于任意一个点 重复的按两次的话 回不改变原状…

ADI Blackfin DSP处理器-BF533的开发详解43:图像处理专题-ReverseColor (图像反色处理)(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像反色处理,代码运行时,会通过文件系统打开工程文件根目下" …/ImageView"路径中的 tes…

Linux下局域网yum源配置

文章目录一 需求二 搭建环境准备三 服务端1 创建镜像存放目录与挂载目录2 上传centos7镜像3 对镜像文件进行挂载4 配置本地yum源5 对挂载点建立软链接6 安装http服务7 浏览器验证http服务是否正常启动四 客户端1 修改yum配置文件2 查看yum源一 需求 公司集群架构中&#xff0c…

【linux】之大数据基础平台实施及运维上

一、大数据介绍 学习目标 能够了解为什么使用大数据技术 能够了解大数据指的是什么 为什么使用大数据技术? 数据量越来越大 数据量越来越大数据分析的实时性越来越强数据结果的应用越来越广泛 结论:我们需要使用大数据技术 大数据的定义 大数据是收…