首页 > 其他分享 >seq2seq中的注意力机制

seq2seq中的注意力机制

时间:2023-04-12 17:46:18浏览次数:41  
标签:梯度 Seq2Seq seq2seq 机制 注意力 输入

seq2seq中的注意力机制解决了长期梯度消失的问题,LSTM只解决了一部分长短期问题。

transformer中采用的自注意力机制多少借鉴该方法,其最核心的公式如下图所示。

Attention机制详解(一)——Seq2Seq中的Attention - 知乎 (zhihu.com)

Q、K、V分别代表询问、键值以及数据值,本质就是根据输入的x分配权值,关注更有意义的部分。Q、K、V其实都是从同样的输入矩阵X线性变换而来的。我们可以简单理解成:

Q = XW^Q \\ K = XW^K \\ V = XW^V \\

在这张图中,QK^\top经过MatMul,生成了相似度矩阵。对相似度矩阵每个元素除以\sqrt{d_k}d_kK的维度大小。这个除法被称为Scale。当d_k很大时,QK^\top的乘法结果方差变大,进行Scale可以使方差变小,训练时梯度更新更稳定。方差过大容易导致softmax结果非0及1,梯度更新后会造成结果振荡 ,不利于梯度稳定更新。

 

此外,为了便于理解,提供了seq2seq的pytorch实现。

 PyTorch实现Seq2Seq机器翻译 - 那少年和狗 - 博客园 (cnblogs.com)

 

seq2seq的基本架构如图所示,可以通过输入不定长的序列,输出不定长的序列。Seq2Seq在训练阶段和预测阶段稍有差异。如果Decoder第一个预测预测的输出就错了,它会导致“蝴蝶效应“,影响后面全部内容。为了解决这个问题,在训练时,Decoder每个时间步的输入不全是上一个时间步的输出,而以一定的概率选择真实值作为输入。

 

标签:梯度,Seq2Seq,seq2seq,机制,注意力,输入
From: https://www.cnblogs.com/xmds/p/17310576.html

相关文章

  • jwt验证机制
    jwt数据结构为1.header头:{"type":"JWT"}2.payload:有效载荷3.signature签名防止篡改 服务器和客户端jwt交互过程服务器给出token的时候:1.前提:账号密码验证通过得到用户信息或者其他信息(过期时间等)往header或者payload里面塞2. base64urlEncode(header)+"."+base64......
  • java事件处理机制
     事件源可以是一个键可以是一个鼠标可以是一个按钮.....发生了就是事件源事件就是事件的对象,当事件源发生了就会有事件对象(事件对象就会传递给事件监听者)事件监听者接受刀事件对象了之后会进行事件处理方法   ......
  • PCIe扫盲——中断机制介绍(INTx)
    一个简单的PCI总线INTx中断实现流程,如下图所示。1.    首先,PCI设备通过INTx边带信号产生中断请求,经过中断控制器(InterruptController,PIC)后,转换为INTR信号,并直接发送至CPU;2.    CPU收到INTR信号置位后,意识到了中断请求的发生,但是此时并不知道是什么中断请求。于是通过......
  • 58、K8S-监控机制-Prometheus-自定义metrics
    Kubernetes学习目录1、安装python环境1.1、下载python软件wgethttps://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz1.2、安装依赖包yuminstallgccgcc-c++glibc-develglibczlib-develzlibopenssl-developensslsqlite-develreadline-develbzip2-devel......
  • 加载中,三点循环机制
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>加载动画</title></head><style>.dotting{margin:20%auto;width:150px;}.dotting{margi......
  • WiredTiger的日志和检查点机制
    1.日志·对于每个写操作,mongodb将改变写入日志文件,即事务日志文件。写入的频率收到storage.journal.commitIntervalMs参数的控制。默认是100毫秒,可取值的范围是1--500毫秒。·WT缓存中的页数据也会被标记为脏数据日志文件的格式示例:$wtprintlog-u-x{"lsn":[15,256],......
  • 消息队列kafka及zookeeper机制
    一、zookeeper1、zookeeper简介Zookeeper:开源分布式的服务,为分布式框架提供协调服务的apache项目2、zookeeper特点①、zookper是一个领导者,多个跟随着组成②、集群中有半数以上节点存活,集群正常服务,奇数台最小3台③、全局数据一致,每个server保存一份相同的数据副本,client无论连......
  • 57、K8S-监控机制-Prometheus-PromQL基础-运算符、聚合、功能函数
    Kubernetes学习目录1、数据基础1.1、时间序列1.1.1、介绍时间序列数据:按照时间顺序记录系统、设备状态变化的数据,每个数据称为一个样本;数据采集以特定的时间周期进行,因而,随着时间流逝,将这些样本数据记录下来,将生成一个离散的样本数据序列;该序列也称为向量(Vector);而将多个序......
  • Java基础之RMI与JDNI机制
    一、RMI1.1概念RMI是用Java在JDK1.2中实现的,它大大增强了Java开发分布式应用的能力,Java本身对RMI规范的实现默认使用的是JRMP协议。而在Weblogic中对RMI规范的实现使用T3协议JRMP:JavaRemoteMessageProtocol,Java远程消息交换协议。这是运行在JavaRMI之下、TCP/IP之上的线路......
  • spring中的扫描机制
    背景项目中出现,一个bean在@ComponentScan注解的包下面却没有被扫描,并创建为bean的bug。所以需要了解spring的扫描机制。原因以及源码位置当项目里面有resources/META-INF/spring.components文件的时候,spring进入这个if判断if(this.componentsIndex!=null&&indexSupp......