【DL小结4】seq2seq与attention机制_seq2seq模型是以编码(encode)和解码(decode)为代表的架构方式,seq2seq模型-程序员宅基地

技术标签: encode  深度学习之个人总结  attention  seq2seq  decode  

seq2seq概述

seq2seq模型是以编码(Encode)和解码(Decode)为代表的架构方式,顾名思义是根据输入序列X来生成输出序列Y。encode意思是将输入序列转化成一个固定长度的向量(语义向量,context vector),decode意思是将语义向量解码成输出序列。
在这里插入图片描述

编码阶段

纯粹的RNN/LSTM/GRU
在这里插入图片描述
在这里插入图片描述

解码阶段

在这里插入图片描述

在这里插入图片描述

由上图可以发现Seq2seq中Decoder的公式和RNN基本一样,差別只在于Decoder多了一个语义向量C 。

目标函数

在这里插入图片描述
在这里插入图片描述

seq2seq存在的问题

在Seq2seq模型中,Encoder将输入句子压缩成固定长度的语义向量,如果句子很长,效果就会不好
在这里插入图片描述

Attention机制

Attention model 用来帮助解決seq2seq在句子过长时效果不佳的问题

相比于之前的encoder-decoder模型,attention模型最大的区别就在于它不再要求编码器将所有输入信息都编码进一个固定长度的向量中。而是替输入句的每个文字都创造一个语义向量,好处是每个语义向量能够被更有效的解码。
在这里插入图片描述

如何计算每个语义向量

每个语义向量 c i c_i ci 是由编码时的隐藏向量序列 ( h 1 , … , h T x ) (h_1,…,h_{T_x}) (h1,,hTx)按权重相加得到的。权重 α i j α_{ij} αij的值越高,表示第i个输出在第j个输入上分配的注意力越多,在生成第i个输出的时候受第j个输入的影响也就越大。

Attention model的关键
由固定的中间语义表示c换成了根据当前输出单词来调整成加入注意力模型的变化的 c i c_i ci

在这里插入图片描述

如何权重 α i j α_{ij} αij

在这里插入图片描述

Attention model存在的问题

  • 不能平行化
  • 忽略了输入句中文字间和目标句中文字间的关系

参考教程

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38493025/article/details/88367036

智能推荐

为何人工智能 AI 首选Python 读完这篇文章你就知道了_janus dongye三篇文章-程序员宅基地

文章浏览阅读68次。为何人工智能 AI 首选Python 读完这篇文章你就知道了_janus dongye三篇文章

使用CEfSharp之旅(7)CEFSharp 拦截 http 请求 websocket 内容_cef websocket-程序员宅基地

文章浏览阅读1.4w次。废话不多说直接上代码: 不清楚的加群:群 :191065815 private void Form1_Load(object sender, EventArgs e) { try { //更改设置浏览器语言 CefSettings settings = new ..._cef websocket

QT_QsqLite 操作2_qsqlite操作-程序员宅基地

文章浏览阅读101次。学习目录1.数据库的删除2.数据库的更新3.数据在控件上的展示1.数据库的删除//删除 QString SqlDelete = QString("delete from staff where id = 2"); if(!query.exec(SqlDelete)) { qDebug() << "delete data error" << db.lastError(); }2.数据库的更新 //更新 QStri_qsqlite操作

CarSim 2019 2020 2021安装教程(最详细,版本通用)_carsim2022安装教程-程序员宅基地

文章浏览阅读1w次,点赞33次,收藏77次。1. 关闭杀毒软件!!!2. 以管理员身份运行安装程序_carsim2022安装教程

redis-4 搭建redis集群-程序员宅基地

文章浏览阅读1.8k次,点赞37次,收藏44次。搭建redis集群,新增主从节点,删除主从节点

实体类中日期时间的写法_java时间实体类怎么写-程序员宅基地

文章浏览阅读365次。本文讲了在实体类中日期时间的写法。_java时间实体类怎么写

随便推点

Java基础 - 反射篇 - 反射机制、Class类详解_根据字段设置以及反射机制构造class-程序员宅基地

文章浏览阅读247次。怎么说呢,应该只是懂了个皮毛吧_根据字段设置以及反射机制构造class

jdk8升级成jdk17报错 module java.base does not “opens java.lang“ to unnamed module @1941a8ff_module java.base does not "opens java.lang" to unn-程序员宅基地

文章浏览阅读8.5w次,点赞11次,收藏20次。jdk8升级jdk17常见错误_module java.base does not "opens java.lang" to unnamed module

安装Fiddler后浏览器请求被拦截无法上网问题_fidder开启拦截,网页进不去-程序员宅基地

文章浏览阅读3.9k次。菜单-&gt;设置-&gt;高级-&gt;系统-&gt;打开代理设置-&gt;高级-&gt;去掉图二的钩钩_fidder开启拦截,网页进不去

128个JAVA计算机本科毕业设计项目大全,轻松不求人。-程序员宅基地

文章浏览阅读48次。Springboot大学实验中心教学管理系统的设计马实现yabss。Springboot社区医院住院管理系统的设计与实现 c9ooo。Springboot疫情返乡人员管理系统的设计与实现161z7。Springboot基于Vue的学科竞赛报名管理系统11h3a。Springboot基于Spring的手机销售网站8o5t9。Springboot党支部信息管理系统的设计与实现6m7ni。Springboot高校宿舍管理系统的设计与实现ukgdt。Springboot高校餐饮管理系统的设计与实现ttu99。

数字孪生DARPA X-DATA项目_darpa部署大数据项目-程序员宅基地

文章浏览阅读128次。二是数据预处理之后,有可能遗失重要或关键信息,之所以大家采用预处理方式,是因为现有的数据工具不够先进,只能处理结构性数据,如果开发了新的数据工具,那么对原始数据的直接处理就变得可行了。经理克里斯·怀特(Chris White)表示,通过邀请技术社区专业人士参与构建面向未来的数据生态,特别是邀请商业企业的专家参与,可以提高美国国防技术的创新能力,例如,DARPA特别欢迎互联网领域的专家提供他们的智慧,诸如微软、谷歌、脸书、亚马逊等互联网公司就参与了DARPA不少云计算、人工智能和数据科学的项目。_darpa部署大数据项目

父元素设置了圆角,子元素没有设置圆角,子元素的直角会遮挡住父元素的圆角_vue 父组件圆角被子组件覆盖-程序员宅基地

文章浏览阅读1.5k次。父元素设置了圆角,子元素没有设置圆角,子元素的直角会遮挡住父元素的圆角在开发时,我们经常会遇到给父元素设置了圆角,但子元素没有设置圆角,子元素的直角会遮挡住父元素的圆角的问题,如何解决这个问题呢,只需要给父元素加上**overflow: hidden;**就好了;其实道理也很简单,仔细想想你就懂了;..._vue 父组件圆角被子组件覆盖

推荐文章

热门文章

相关标签