Attention is all your need——Transformer论文

news2024/11/27 2:38:24

摘要

此序列转录模型仅仅依赖于注意力机制,而不使用循环或者是卷积,将循环全部换成了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.coloradmin.cn/o/423749.html

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

相关文章

数据结构——排序

排序一、排序的概念二、直接插入排序希尔排序三、直接选择排序四、堆排序1、堆的概念2、堆排序五、冒泡排序六、快速排序七、归并排序八、基数排序排序算法的时间复杂度和空间复杂度一、排序的概念 课本概念(P165) (1)内部排序。内部排序指…

一图看懂 pyexcel_io 模块:提供统一 API用来读写操作 Excel 文件的库, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 pyexcel_io 模块:提供统一 API用来读写操作 Excel 文件的库, 资料整理笔记(大全)摘要模块图类关系图模块全展开【pyexcel_io】统计常量s…

【LeetCode】剑指 Offer 59. 队列的最大值 p288 -- Java Version

1. 题目介绍(59. 队列的最大值) 面试题59:队列的最大值, 一共分为两小题: 题目一:滑动窗口的最大值题目二:队列的最大值 2. 题目1:滑动窗口的最大值 题目链接:https://l…

3.rabbitmq-集群

1.修改3台的主机名称,也可以不改 vi /etc/hostname 2.配置各个节点的host文件,让各节点都能识别对方 vi /etc/hosts 192.168.3.132 host-rabbitmq 192.168.3.133 host-rabbitmq2 192.168.3.134 host-rabbitmq3 3.以确保各个节点的cookie文件使用的同一个值 在node1上执行远程命…

基于矩阵分解的推荐算法

1.背景 推荐系统的两大应用场景分别是评分预测(Rating Prediction)和Top-N推荐(Item Ranking)。其中评分预测主要用于评价网站,比如用户给自己看过的电影评多少分,或者用户给自己看过的书籍评价多少分,矩阵分解技术主要应用于评分预测问题&am…

买车了

最近先后去试驾了比小鹏P7i、蔚来ET5、智己LS7、亚迪汉这几辆车,这四个品牌总共花了三天时间,也算是比较深度的试驾吧,静态和动态、前后排、主副驾都感受了一下。前面写了比亚迪汉的试驾体验,详细分析了它的优缺点:不愧…

Vue过滤器、自定义指令、组件

目录 一:生命周期 1.1 生命周期实例 1.2 生命周期函数(引入) 二:过滤器 三:自定义指令 四:组件 4.1 非单文件组件 4.2 组件的嵌套 4.3 单文件组件 模板 4.3.1 架构 4.3.2 不同版本的vue.JS 4…

ASRT语音识别系统部署及模型训练笔记

ASRT语音识别系统部署及模型训练笔记 前言 ASRT是一个中文语音识别系统,由AI柠檬博主开源在GitHub上。 GitHub地址:nl8590687/ASRT_SpeechRecognition 国内Gitee镜像地址:AI柠檬/ASRT_SpeechRecognition 文档地址:ASRT语音识…

ping telnet curl的使用方法和应用场景

文章目录一、区别二、使用方法pingtelnetcurl三、应用场景一、区别 ping命令基于ICMP协议,通过发送发送ICMP数据包,并查看对方是否有返回数据来检测网络是否连通,仅包含控制信息,不包含端口号; telnet是对服务器的远程登录&#…

全网火爆,Python接口自动化测试,从0到1分层封装框架撸码(带接口)

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 随着行业内卷越来越…

3D开发工具HOOPS最新解析合集,助力实现web端高性能模型渲染

一、3D技术为创新提供强大助力 不管您想搭建桌面、WEB或者移动端APP应用,技术领先全球的HOOPS Platform组件都可以为您提供弹性的3D集成架构,同时,一批可信任的工业领域3D技术专家也将为您提供技术支持服务。 如果您的客户期望有一种在多个…

Docker 配置远程访问

Docker客户端通常通过Unix套接字在本地与守护程序通信 /var/run/docker.sock,或通过网络通过TCP套接字。 以下是启动时提供给Docker守护程序的选项的典型示例: # ps -ef |grep dockerd root 23438 1 0 00:41 ? 00:00:03 /usr/bin/dock…

Spring入门案例--IOC入门案例

IOC入门案例思路分析 (1)Spring是使用容器来管理bean对象的,那么管什么? 主要管理项目中所使用到的类对象,比如(Service和Dao) (2)如何将被管理的对象告知IOC容器? 使用配置文件 (3)被管理的对象交给IOC容器,要想从容器中获取对象&…

TCP协议详解

1.TCP的准备条件在古代的时候,古人们经常写书信进行交流,写书信的前提是你要知道这份信是要寄给谁在网络中,我们通过ip端口号找对目标对象,但是现在网站一般会对ip端口注册一个域名,所以我们一般就是对域名进行查找&am…

minikube安装与运行(阿里云环境运行)

说下为啥选择云环境,最开始在本地电脑上安装的minikube,但是由于国内的网络访问不了谷歌的镜像仓库,安装ingress-nginx或者其他插件时着实的恶心。要不翻墙,要不自己搭建个镜像仓库。最终决定用阿里云境外的节点,按小时…

Windows操作系统C盘快速扩容工具推荐

Windows 系统C 盘扩容教程 1️⃣前言 大家在使用电脑过程中,随着时间的推移,经常会发现C盘空间爆红的情况,主 要原因是电脑软件在使用过程中产生的缓存文件或者日志文件大部分都会存储在C盘,这样时间一久,C盘的存储空…

不联网新华字典

介绍 首页字典 更多 包含内容 内容对应Json数据文件百家姓baijiaxing.json曹操诗集caocao.json弟子规dizigui.json成语idiom.json论语lunyu.json纳兰性德诗集nalanshiji.json千家诗qianjiashi.json千字文qianziwen.json三字经-传统版sanzijing_ct.json三字经-新版sanzijing_x…

「STM32入门」TIM定时中断

定时器的简介 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断,在中断内可以执行中断事件不仅具备基本的定时中断功能,而且还包含内外时钟源选择,主从触发模式,输入捕获,输出捕获&#xff…

MySQL调优笔记——慢SQL优化记录

上周,项目出现线上问题,在这家公司做的是一个SAAS平台,总用户量大约10万人; 经过排查,发现是SQL问题,导致数据库响应慢,进而拖垮了整体服务; 通常,查询耗时较长的SQL涉…

我在windows10下,使用CMake gui 编译krita源码,CMake gui报错:LibMyPaint_DIR-NOTFOUND

系列文章目录 文章目录系列文章目录前言一、原因二、解决1.引入库前言 我在windows10下,使用CMake gui 编译krita源码 where is the source code:E:/krita-dev/krita where to build the binaries:E:/krita-dev/krita_camke current generator:MinGW Makefiles 分别…