跟李沐学AI:使用注意力机制的seq2seq

动机

机器翻译中,每个生成的单词可能相关于源句子中的不同词。但Seq2sqe模型不能对此直接建模。

简单的Seq2Seq模型存在一个问题,即它将整个输入序列的信息压缩到了一个固定长度的向量中,这可能导致信息丢失,尤其是当输入序列很长的时候。此外,不同单词对于最终输出的重要性可能不同,但在传统模型中每个时间步的隐藏状态都被同等对待。

往Seq2Seq中加入注意力

注意力机制允许解码器在生成每一个输出元素时,动态地关注输入序列的不同部分。具体来说,注意力机制会在每一步解码时计算一个与当前解码步骤相关的权重分布,该分布表示输入序列中每个位置对当前预测的重要性。通过这种方式,模型能够“聚焦”于输入序列中与当前预测最相关的信息上。

编码器对每次词的输出(hidden_state)作为注意力机制的key和value。

query则是解码器对上一个词的预测输出,即解码器的前一个隐状态。

计算得出注意力后,注意力的输出和下一个词的embedding合并作为解码器RNN的输入。

加入注意力机制后的Seq2Seq模型工作流程大致如下:

  1. 编码阶段:编码器读取整个输入序列并为每个输入元素生成相应的隐藏状态。
  2. 初始化解码器:通常用编码器最后一个时间步产生的隐藏状态来初始化解码器的第一个隐藏状态。
  3. 解码阶段
    • 在解码器生成每个输出词的过程中,首先根据当前解码器的状态以及所有编码器隐藏状态来计算注意力分数。
    • 使用这些注意力分数作为权重,对编码器的所有隐藏状态进行加权求和,得到当前步骤的上下文向量。
    • 将上下文向量、前一时刻的输出以及解码器当前状态一起送入解码器以产生下一个词的概率分布,并选择最高概率的词作为输出。
  4. 重复上述过程直到达到最大长度或者遇到结束标志为止。

相当于,加入注意力之前,解码器总以上一个RNN的输出作为当前的隐状态。但现在,可以对所有编码器的隐状态加权求和,能够更加“注意”与当前预测相关的信息。

总结

Seq2Seq中通过hidden_state在编码器和解码器中传递信息

注意力机制可以根据解码器RNN的输出来匹配到合适的柏宁玛琪RNN输出来更有效地传递信息。

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

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

相关文章

网站建设公司哪家好?好的网站建设公司应该有哪些特别之处?

面对众多的网站建设公司,企业该如何选择呢?如何才能避坑呢?本文将探讨好的网站建设公司应该具备的特别之处 案例,这是最直观的表现,一个好的网站建设公司必然拥有为数众多的的案例展示,且这些案例质量高&a…

分布式事务seata AT和XA性能对比

1. AT模式和XA模式性能对比: AT的阻塞是阻塞在了业务服务层,全局锁。 而XA模式是阻塞在了数据库,对数据库的性能影响很大。 肯定是优选AT,可以提升数据库的性能。 (由于AT模式数据库事务阻塞小,那么同一…

自动化测试中如何高效进行元素定位!

前言 在自动化测试中,元素定位是一项非常重要的工作。良好的元素定位可以帮助测试人员处理大量的测试用例,加快测试进度,降低工作负担。但是在实际的测试工作中,我们常常遇到各种各样的定位问题,比如元素定位失败、元…

Python(十一)-__init__()方法,__str__()方法,__del__()方法

目录 魔法方法 无参__init__()方法 有参__init__()方法 __str__()方法 __del__()方法 魔法方法 魔法方法指的是:可以给Python类增加魔力的特殊方法。有两个特点: (1)总是被双下划线所包围; (2&…

kubernetes 中 pod 的管理及优化

目录 一 kubernetes 中的资源 1.1 资源管理介绍 1.2 资源管理方式 1.2.1 命令式对象管理 1.2.2 资源类型 1.2.3 基本命令示例 1.2.3 运行和调试命令示例 1.2.4 高级命令示例 二 什么是pod 2.1 创建自主式pod (生产不推荐) 2.2 利用控制器管理…

零工市场转型数字化的挑战和机遇

我们的生活因为科技而变的更加方便、便利,例如手机支付、网上购物,那么就目前的就业市场来说,零工市场也面临着数字化转型的挑战和机遇。 零工市场数字化的机遇: 1.通过大数据的计算,极大的提高了零工市场中的匹配效率…

定点数和浮点数的详细介绍(一)定义、范围、位宽

1.定点数 1.1定点数描述 定点数包括定点小数(纯小数)、定点整数(纯整数)、整数和小数位数固定的实数。 1.2定点小数: 小数点默认在符号位后面,首位为符号位,其他为数值位(在用二进制代表小数时,例如0xFF,就表示0.5+0.25+0.125+0.0625+0.03125........) 例如,用…

希亦超声波清洗机值得购买吗?清洁技术之王多维度测评大揭秘!

随着人们生活质量的提升,高质量眼镜愈发受到欢迎,但它们的清洁与保养却常常被疏忽,导致镜片蒙尘受损,影响佩戴者的视觉清晰度。为此,超声波眼镜清洗机作为一种新兴潮流应时而生,以其高效清洁眼镜及珠宝、精…

无线AC——FW1——RT1——FW2——无线AP配置

无线AC——FW1——RT1——FW2——无线AP配置 AC: ! service dhcp ! ip dhcp pool v130 network-address 172.168.130.0 255.255.255.0 default-router 172.168.130.

三好夫人“硬控”嘴强王者老公

工作有点累了… 有点困了… 喝酒了… 吃的太饱了… 今天外面下雨的原因… 外面太热了… 最近压力大… 姐妹们是不是很熟悉这些话术,三好夫人可以很明确的告诉大家,天下的老公都一样,嘴上厉害的很,但是一到实践,…

React复习

文章目录 常用的HooksuseStateuseReduceruseRefuseContextuseMemouseCallbackuseEffect 组件通信Props(属性)Ref(引用)Context(上下文)State(状态)回调函数Event Bus(事件…

KDTS 实现MySQL至KingbaseES迁移实践

此文章以linux环境实践,KingbaseES一下使用KES代替。 KDTS KDTS工具安装KES时会一起安装,一般存在目录为:ClientTools目录下guitools文件夹中 启动 进入KDTS-WEB下bin目录,执行sh文件 cd /opt/Kingbase/ES/V8/ClientTools/guit…

盘点2024年15大投屏软件电脑版,看看哪款最好用?

无线投屏软件哪个好用,相信这个问题困扰过不少同鞋,最重要的当然是画质高、投屏流畅,最好还是免费滴! 接下来就分享下国内外一些流行的投屏工具,共计15款,通过对比他们的 优缺点,相信你可以快速…

2025西安电子科技大学研招网拟招生人数VS 24年实际录取人数

研招网拟招生人数 VS 24年实际录取人数(分析速览) 10月8日研招网公布拟招生人数信息后,就有同学问研招网人数准不准确,其实研招网公布的人数并不不准确,但是学长学姐还是给大家统计了一下,与去年实际录取人…

nginx问题解决-nginx代理数据库端口

一.问题背景 无法直接访问数据库地址,需要公网转发访问 二.配置文件 stream {upstream sql_socket {server IP:端口;#sql ip和端口}server {listen 端口;proxy_connect_timeout 60s;proxy_pass sql_socket;} } 三.异常处理 重新编译Nginx并在编译选项中包含--wi…

开源计算器应用的全面测试计划:确保功能性和可靠性

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

abc374 g

很容易想到建图,初始想法为,建完图后,求一个最小路径覆盖,但因为整个图不是DAG,所以需要缩点,但路径覆盖有两种说法,一种是最小不相交路径覆盖,另一种是最小可相交路径覆盖。 对于最…

Linux-更多的结构化命令

for命令 C语言风格的for语句 while命令 until命令 嵌套循环 循环处理文件数据 控制循环-break命令 控制循环-continue命令 处理循环输出 实例:查询可执行文件、创建多个用户账户

【华为OD机试真题】95、最少面试官数

package mainimport ("fmt""sort" )type s struct {start intend intworkCount int }type duration struct {start intend int }// 查询时间段内是否有可用的面试官 func getFreeS(sList []*s, d *duration, workCountLimit int) (sIndex int)…

DASCTF 2024暑期挑战赛wp

WEB 题目:Sanics revenge 解题步骤 首先看到给出的附件: from sanic import Sanic import os from sanic.response import text, html import sys import random import pydash # pydash5.1.2 # 这里的源码好像被admin删掉了一些,听他说里面藏有大秘密 c…