增加attention的seq2seq和transformer有什么区别

1.seq2seq是什么

seq2seq 是一个Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列。Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列。
  很多自然语言处理任务,比如聊天机器人,机器翻译,自动文摘,智能问答等,传统的解决方案都是检索式(从候选集中选出答案),这对素材的完善程度要求很高。seq2seq模型突破了传统的固定大小输入问题框架。采用序列到序列的模型,在NLP中是文本到文本的映射。其在各主流语言之间的相互翻译以及语音助手中人机短问快答的应用中有着非常好的表现。

RNN的encoder和decoder结构是什么?

2.增加attention的seq2seq

  • 带注意力的解码器RNN接收的嵌入(embedding)和一个初始的解码器隐藏状态(hidden state)。
  • RNN处理输入,产生输出和新的隐藏状态向量(h4),输出被摒弃不用。
  • attention的步骤:使用编码器隐藏状态(hidden state)和h4向量来计算该时间步长的上下文向量(C4)。
  • 把h4和C4拼接成一个向量。
  • 把拼接后的向量连接全连接层和softmax完成解码
  • 每个时间点上重复这个操作

encoder之后的向量,不一定包含了所有信息,能让decoder输出。加入attention,让decoder自己选择需要什么信息,来缓解信息瓶颈的问题。

注意力机制,可以粗略地理解为是一种对于输入的信息,根据重要程度进行不同权重的加权处理(通常加权的权重来源于softmax后的结果)的机制

attention

attention计算的变体

1.通常情况下,query向量和value向量的维度相同时,可以使用直接点积相乘。

2.维度不同时,可以增加一个权重矩阵,让他们可以相乘

3.使用一层前馈神经网络,将两个向量,变成一个标量。

attention的优点

1.解决了encoder往decoder方向传递信息时的信息瓶颈的问题

2.缓解了rnn的梯度消失的问题,通过在encoder和decoder之间提供了一种直接连接的方式,防止了梯度在rnn中传播过程中过长,进而导致梯度消失

3.attention给神经网络增加了 一些可解释,通过权重大小,表示语义关系

3.transformer

这是一个具体的模型结构。

为什么需要它?因为rnn是序列计算,顺序执行,不能并行。尽管后面用了GRU、lstm,rnn还需要加入attention,这一个机制不允许同时触达太多状态。计算速度上不去,是不行的。

整体情况:

通过堆叠的形式得到一个更深和表达能力更强的模型

输入编码:

之前RNN切词,通常使用空格等进行切分,这样切分存在的问题是跟词表长度有关,会导致词表数量很大,还会存在一些没出现在词表中的词;另外一个是一个单词的复数跟原单词可能表示不同的embedding。

这里全新的分词方式:BPE(byte pair encoding):

4区别

参考:
1.https://www.bilibili.com/video/BV1rS411F735?p=22&vd_source=2e3106349b9444378baccafe2d93e018

2.https://www.cnblogs.com/liuxiaochong/p/14399416.html

3.https://blog.csdn.net/Wisimer/article/details/104419977

4.https://cloud.baidu.com/article/3248548

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# Winform 开源UI库

WinForms,作为微软.NET框架下的一个桌面应用程序开发工具,自1999年首次亮相以来,已经走过了二十多年的发展历程。它以其简单直观的拖拽式界面设计和丰富的控件库,成为了大众喜爱的入门学习编程工具。由于它是比较基础的开发工具&a…

宠物健康顾问系统的设

计 管理员账户功能包括:系统首页,个人中心,顾问管理,用户管理,健康知识管理,管理员管理,论坛管理,公告管理 顾问账户功能包括:系统首页,个人中心&#xff0…

带颜色的3D点云数据发布到ros1中(通过rviz显示)python、C++

ros中发布点云数据xyz以及带颜色的点云数据xyzrgb ros中发布点云数据xyz可以直接用python来做或者C(看个人偏好) ros中发布带颜色的点云数据xyzrgb环境1.新建ROS工作空间2.创建功能包 ros中发布点云数据xyz 可以直接用python来做或者C(看个人偏好) 在这里我们带有颜色的点云数…

Unity【入门】光源、物理、音效系统

核心系统 文章目录 核心系统1、光源系统基础1、光源组件2、光面板相关 2、物理系统之碰撞检测1、刚体 RigidBody2、碰撞器 Collider3、物理材质4、碰撞检测函数5、刚体加力 3、音效系统1、音频文件导入2、音频源和音频监听器脚本3、代码控制音频源4、麦克风输入相关 1、光源系统…

【单片机毕业设计选题24018】-基于STM32和阿里云的农业大棚系统

系统功能: 系统分为手动和自动模式,上电默认为自动模式,自动模式下系统根据采集到的传感器值 自动控制,温度过低后自动开启加热,湿度过高后自动开启通风,光照过低后自动开启补 光,水位过低后自动开启水泵…

C++初学者指南第一步---11.字符串(基础)

C初学者指南第一步—11.字符串(基础) 文章目录 C初学者指南第一步---11.字符串(基础)1. std::string2. char std::string的元素类型3. std::string字符串操作4. 字面量4.1 C风格字符串字面量4.2 "std::string 字面量"s…

openEuler 22.03 (LTS-SP1)服务器用ntpd同步GPS时间服务器的案例

本文记录了openEuler 22.03 (LTS-SP1)的二级时间服务器用chronyd不能自动同步GPS时间服务器,改用ntpd同步GPS时间服务器成功的案例 一、环境简述 1、本环境中有两台GPS一级时间服务器,IP如下: 192.168.188.66 192.168.188.74 2、有一台o…

交易中的特殊存在

在交易的广袤天空中,有一群特殊的存在——他们,是Eagle Trader。 他们以鹰眼般的洞察力,捕捉市场的微妙变化,每一次决策都如同猎食者般精准;他们运用策略,如同雄鹰在风中翱翔,利用风向&#xf…

3dsMax怎样让渲染效果更逼真出色?三套低中高参数设置

渲染是将精心构建的3D模型转化为逼真图像的关键步骤。但要获得令人惊叹的渲染效果,仅仅依赖默认设置是不够的。 实现在追求极致画面效果的同时,兼顾渲染速度和时间还需要进行一些调节设置,如何让渲染效果更加逼真? 一、全局照明与…

AI播客下载:The Gradient-AI前沿见解

The Gradient 是一个致力于让更多人轻松了解人工智能,并促进人工智能社区内讨论的组织。我们目前开展的项目包括 The Gradient 杂志、The Gradient 播客、The Update 通讯以及 Mastodon 实例 Sigmoid Social。 我们是一个由来自不同机构和公司的研究生、研究人员及…

【Ubuntu下 qmqtt6.2编译及使用】

这里写自定义目录标题 一、编译二、使用 背景:最近用QT编写简单的HMI软件,mqtt通信,记录下编译过程,供参考。 一、编译 QT6.5.3 qmqtt6.2(源码地址:https://github.com/qt/qtmqtt/tree/6.5.3) …

E84-晶圆载具交接自动化

E84是一种通讯协议,它的核心作用在于为通讯传感器/设备的开发提供基础架构。 E84协议详细阐述了晶圆载具(如FOUP/POD等)在工厂自动化物料搬运系统(AMHS)与机台装载端口(LP)之间,如何…

c++ 里构造函数的形参与数据成员的同名问题

如题,这时,或许在 java 里,会报语法错误。但在 c vs2019 开了 c20语法规范。这不再是错误。这样的好处是解决了咱们的起变量名的麻烦:重名现在已不是错误,编译器可以解决了。测试如下: 我们看看 c 编译器是…

Android studio中如何下载sdk

打开 file -> settings 这个页面, 在要下载的 SDK 前面勾上, 然后点 apply 在 platforms 中就可以看到下载好的 SDK: 如果sdk下载失败是不是硬盘没有权限,管理员权限从启android studio运行下载sdk

鸿蒙开发:【组件启动规则(FA模型)】

组件启动规则(FA模型) 启动组件是指一切启动或连接应用组件的行为: 启动PageAbility、ServiceAbility,如使用startAbility()等相关接口。连接ServiceAbility、DataAbility,如使用connectAbility()、acquireDataAbili…

程序猿大战Python——面向对象——对象属性

什么是属性 目标:了解什么是属性? 在现实生活中,属性就表示固有特征,比如:一辆小轿车的属性有轮胎数、颜色、品牌等。 仔细观察后会发现,属性可以简单理解为与生俱来的特征,比如一个人的姓名、年…

ArcGIS消除碎图斑

​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 点击学习——>遥感影像综合处理4大遥感软件ArcGISENVIErdaseCognition 这次是上次 我们经常在相交、标识、更新等操作后或者是栅格转矢量可能存在很多的细碎图斑&#…

RGB彩色模型理解与编程实例

一、引言 RGB彩色模型中的R、G和B为三原色,通常R、G和B分别用8位表示,因此24位的RGB 真彩色图像能表示16777216种颜色。在如右图所示RGB彩色立方体可知,任意两种原色混合可以合成一种新的颜色。红(1,0,0&a…

【算法训练记录——Day32】

Day32——贪心算法Ⅱ 1.leetcode122买卖股票的最佳时机II2.leetcode55跳跃游戏3.leetcode45跳跃游戏II4.eetcode1005K次取反后最大化的数组和 目标: leetcode122买卖股票的最佳时机IIleetcode55跳跃游戏leetcode45跳跃游戏IIleetcode1005K次取反后最大化的数组和 1…

AI音乐:创新引擎还是创意终结者?

✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您的点赞、关注、收藏、评论,是对我最大…