增加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

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

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

相关文章

package.json简介

1、package.json简介 通过 npm init 初始化一个项目,会生成3个目录/文件, node_modules, package.json和 package.lock.json。其中package-lock.json文件是为了锁版本。 2、package.json常用属性 1)name name是项目的名称,命名…

2024最新1小时零基础编写uniapp和小程序管理后台,基于uniadmin和vue3实现uniapp小程序的网页管理后台

一,创建uniAdmin项目 打开开发者工具Hbuilder,然后点击左上角的文件,点新建,点项目。如下图。 选择uniadmin,编写项目名,然后使用vue3 记得选用阿里云服务器,因为最便宜 点击创建,等待项目创…

示例:WPF中应用DependencyPropertyDescriptor监视依赖属性值的改变

一、目的:开发过程中,经常碰到使用别人的控件时有些属性改变没有对应的事件抛出,从而无法做处理。比如TextBlock当修改了IsEnabled属性我们可以用IsEnabledChanged事件去做对应的逻辑处理,那么如果有类似Background属性改变我想找…

Atcoder Beginner Contest 359

传送门 A - Count Takahashi 时间限制:2秒 内存限制:1024MB 分数:100分 问题描述 给定 N 个字符串。 第 i 个字符串 () 要么是 Takahashi 要么是 Aoki。 有多少个 i 使得 等于 Takahashi ? 限制 N 是整数。每个…

探索ChatTTS项目:高效的文字转语音解决方案

文章目录 📖 介绍 📖📒 ChatTTS 📒📝 项目介绍📝 项目亮点📝 UI 🎈 项目地址 🎈 📖 介绍 📖 在AI技术迅速发展的今天,文本到语音&…

指令调度基本概念

概述 为了提高处理器执行指令的并行度,处理器将计算机指令处理过程拆分为多个阶段,并通过多个硬件处理单元,将不同指令处理的前后阶段重叠并行执行,形成流水线(pipeline) 处理器的流水线结构是处理器微架构最基本的要素&#xf…

数据类型 运算符

基本数据类型与引用数据类型的区分 存储内容: 基本数据类型:直接存储实际的数据值,如整数、浮点数、字符等。引用数据类型:存储对象的引用(内存地址),而不是对象本身。 内存分配: 基…

本地离线模型搭建指南-本地运行显卡选择

搭建一个本地中文大语言模型(LLM)涉及多个关键步骤,从选择模型底座,到运行机器和框架,再到具体的架构实现和训练方式。以下是一个详细的指南,帮助你从零开始构建和运行一个中文大语言模型。 本地离线模型搭…

打印机状态显示错误是什么原因?这5个有效方法要记好!

打印机是现代办公中不可或缺的设备之一,但在使用过程中,打印机状态显示错误是一个常见的问题。本文将详细探讨打印机状态显示错误的原因及其解决方法。 摘要 打印机状态显示错误的原因及解决方法如下: 1、网络连接问题:原因&…

LLM agentic模式之reflection:SELF-REFINE、Reflexion、CRITIC

SELF-REFINE SELF-REFINE出自2023年3月的论文《Self-Refine: Iterative Refinement with Self-Feedback》,考虑到LLM第一次生成结果可能不是最好的输出,提出一种包括反馈(feedback)和改善(refinement)两个步骤的迭代方法来改进LLM的初始输出。 基本思路…

【Orange Pi 5与Linux系统编程】-POSIX消息队列

Linux系统中的POSIX消息队列编程 文章目录 Linux系统中的POSIX消息队列编程1、POSIX 消息队列2、Linux 中的 POSIX 消息队列命名3、POSIX 消息队列调用3.1 mq_open, mq_close3.2 mq_timed_send、mq_send、mq_timed_receive、mq_receive3.3 mq_notify3.4 mq_unlink3.5 mq_getatt…

【Java】已解决java.lang.FileNotFoundException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.lang.FileNotFoundException异常 在Java编程中,java.lang.FileNotFoundException是一个常见的异常,它通常表示程序试图打开一个不存在的文件、文…

使用Let‘s Encrypt 申请通配符证书

为什么不使用阿里云/腾讯云等公有云厂商提供的免费证书? 上篇介绍了从阿里云上面申请免费证书,有效期一年 为网站配置https证书 公有云提供的证书不支持通配符,只支持某个确定的解析。 不管是二级域名还是三级域名,只要是具体的确定的地址,都…

号外!号外!全网第一手Android P刘海屏适配大揭秘,唯一Kotlin算法

如下图所示: 4.2.适配刘海屏 在刘海屏调试打开之后,浏览应用的所有页面,测试所有遮挡问题,或者是下移导致的问题,对有问题的页面进行布局适配。适配方案如下: Google 提供的适配方案,可以设置…

使用VisualBox+Vagrant搭建Centos虚拟机环境

1.下载并安装VisualBox; 2.下载并安装Vagrant; 3.打开cmd窗口,执行命令vagrant init centos/7,初始化centos环境,该步骤受网络带宽影响,可能挂级30分钟到1个小时; 4.启动虚拟机:vagrant up&…

数据库理论大题与编译原理大题(笔记)

目录 数据库(求最小函数依赖) 数据库(求属性集的闭包和候选码) 编译原理(NFA ——> DFA) 编译原理(识别文法的活前缀 DFA 和 LR(0) 分析表) 哈哈!这是本人作者才…

WordPress强大多功能主题模板The7 v9.16.0

模板介绍 The7可以与WPBakery Page Builder(原Visual Composer)和Ultimate Addons的完全无缝集成。它也与大多数流行的插件完全兼容,例如WooCommerce,WPML,Yoast SEO,All in One WP Migration,…

Windows系统下安装RabbitMQ详细步骤

声明:原文参考链接出自: 如何在Windows系统下安装RabbitMQ_rabbitmq windows安装-CSDN博客 https://zhuanlan.zhihu.com/p/693160757 一、RabbitMQ安装软件资源准备 因为RabbitMQ是Erlang语言开发的,因此安装Erlang环境在进行安装RbbitMQ的…

无需破解,打开就是旗舰版!

在当今快节奏的工作环境里,有效的视觉沟通变得至关重要。流程图、思维导图、组织结构图等图表能够帮助我们以清晰、直观的方式传达复杂信息。而Wondershare Edraw Max正是这样一款强大的绘图工具,它能够帮助用户轻松创建各种专业图表。 软件链接&#x…

基于springboot websocket和okhttp实现消息中转

1、业务介绍 消息源服务的消息不能直接推给用户侧,用户与中间服务建立websocket连接,中间服务再与源服务建立websocket连接,源服务的消息推给中间服务,中间服务再将消息推送给用户。流程如下图: 此例中我们定义中间服…