Attention is all your need——Transformer论文

news/2024/7/19 11:47:36 标签: transformer, 深度学习, 人工智能

摘要

此序列转录模型仅仅依赖于注意力机制,而不使用循环或者是卷积,将循环全部换成了multi-headed self- attention

介绍

RNN的特点、并行程度低。

Attention在RNN上的应用。

引入注意力机制,提高并行度。

背景

使用卷积对长的序列难以建模,因为卷积计算的时候一次只能看一个比较小的窗口,如果隔的很远需要很多层卷积一层一层上去才能把隔的远的像素融合起来。如果使用transformer的注意力,一层就能够把整个序列看到。卷积可以做多个输出通道,一个输出通道可以去识别不一样的模式,transformer也想这样多输出通道的效果所以提出一个Muti- Headed Attention,可以模拟卷积神经网络多输出通道的效果。

自注意力机制

Model

编码器:会将输入,就是一个长为n的输入(x1.....xn)xt表示第t个词,编码器会把它表示成一个长为n的向量Z,zt是对应的xt的一个向量表示。

解码器:拿到编码器的输出,生成一个长为m的序列(如果英文翻译成中文两个句子可能是不一样长的,这时n!=m),在解码器中词是一个一个生成的。因为编码器是一次性看整个句子,但是解码器是一个一个生成,叫自回归auto-regressivet。根据最开始给定的z,生成y1,有了y1之后再生成y2。生成yt要把y1~yt-1全部拿到。就是在翻译的时候是一个词一个词蹦。过去时刻的输出也是当前时刻的输入(自回归)

transformer使用的就是编码器解码器的结构

左边一块是编码器右边一块是解码器,shifted right就是一个一个往右输出

就是变成一个一个向量,就是n个层摞在一起,前馈神经网络

 残差连接编码器的输出最为解码器的输入从这里进去

编码器:使用了N=6个完全一样的层  因为是残差连接所以将输入和输出加在一起,输出维度都是512,使模型简单,所以目前只有2个参数,N和维度,调参只需要调这两个就行了。

LayerNorm:变长的应用里不使用batchnorm而使用LayerNorm
 

解码器:带掩码的注意力机制,因为输入的时候不能让他看到后面没有输入的东西,保证训练和预测的时候行为是一致的

注意力 

注意力函数是一个将一个query 和一些 key-value对映射成一个输出的函数,output是value的加权和,所以输出的维度和value的维度是一样的。每个value的权重是value对应的key和查询的query的相似度

transformer中的注意力叫scaled dot-product attention

query和key的长度是等长的都等于dk,value是dv所以输出也是dv,对query和每一个key做内积,softmax得到权重作用到value上就可以得到输出

蓝色query对所有key的一个内积值,再除以,再对每一行进行softmax,每一行之间是独立的,得到了权重然后再乘以V

mask 

将t之后的换成一个大的负数 ,大的负数做softmax运算的时候会变成0,所以权重都会变成0

Multi-Head Attention

Position-wise Feed-Forward Networks 

最后一次的MLP其实就是2个线性层,MLP在独立的点独立做就行了,因为已经经过了注意力机制。


http://www.niftyadmin.cn/n/232547.html

相关文章

ELK日志收集告警

elastic stack elastic search 日志持久化filebeats 日志收集kibana 日志展示elaticalert 日志告警 elastalert官网Elastic Observability APM 指标监控 java-agent 基于logback根据level进行日志的切分聚合宿主机上安装filebeats 配置inputs插件配置采集路径配置多行匹配规则…

Maven(三):Maven的使用(上)

Maven(三):Maven的使用(上)前言一、实验一:根据坐标创建 Maven 工程1、Maven 核心概念:坐标1.1 数学中的坐标1.2 Maven中的坐标1.3 坐标和仓库中 jar 包的存储路径之间的对应关系2、实验操作2.1…

【Python】自动化这么简单吗?——百度网盘自动上传文件教程

文章目录前言一、准备二、授权bypy访问百度网盘三、开始使用bypy四、文件上传功能五.文件同步功能总结前言 要使用Python自动上传文件到百度网盘,你可以使用bypy开源模块,它提供了丰富的功能,包括显示文件列表、同步目录、文件上传。 仅支持…

远程访问之SSH的几种使用技巧【包含内网穿透详细步骤与注意事项】

**约定:**下文以local$表示本地主机,remote_{数字}$表示远程主机,数字用以区别不同的远程主机,本地主机可以为linux也可以为windows,但是远程主机此处假定只为linux。 一、免密登录 Step 1: 确认本地是否已经生成id_…

YoloV8改进策略:来自谷歌最新的优化器——Lion,在速度和精度上双双提升。Adam表示年轻人不讲武德

文章目录 摘要论文翻译摘要1、简介2、算法的符号发现2.1、程序搜索空间2.2、高效搜索技术2.3、泛化:方案选择与简化3、Lion的推导与分析3.1、求导3.2、分析4、Lion评估4.1、图像分类4.2、视觉-语言对比学习4.3、扩散模型4.4、语言建模与微调4.5、与其他流行优化器的比较4.6、消…

平凡的Python为什么能一跃成为世界排名第一的语言

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 作者:大周|慕课网讲师 一、前言 本文将结合个人经历为各位同学客观的分析是否有学习Python的必要、Python适合谁学、为什么…

mac苹果电脑运行慢卡顿如何释放内存?

苹果电脑受到大众追捧的大部分原因是她高效的运行速度,为我们带来了很大的方便。但是大家有没有发现经过几年时间后,现在自己的苹果电脑运行速度没有以前快了呢?导致苹果电脑变慢的原因有哪些?苹果电脑变慢了怎么办?小…

数据结构_第十三关(1):简单排序算法

【本关目标】 排序的概念常见排序的算法思想和实现排序算法的复杂度以及稳定性分析 目录 【本关目标】 1.排序的概念 2.常见排序的算法思想和实现(代码默认都是从小到大排序) 2.1插入排序 1)直接插入排序 2)希尔排序 2.2选…