【DL小结4】seq2seq与attention机制
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模型最大的区别就在于它不再要求编码器将所有输入信息都编码进一个固定长度的向量中。而是替输入句的每个文字都创造一个语义向量,好处是每个语义向量能够被更有效的解码。
如何计算每个语义向量
每个语义向量cic_ici 是由编码时的隐藏向量序列(h1,…,hTx)(h_1,…,h_{T_x})(h1,…,hTx)按权重相加得到的。权重αijα_{ij}αij的值越高,表示第i个输出在第j个输入上分配的注意力越多,在生成第i个输出的时候受第j个输入的影响也就越大。
Attention model的关键:
由固定的中间语义表示c换成了根据当前输出单词来调整成加入注意力模型的变化的cic_ici
如何权重αijα_{ij}αij
Attention model存在的问题
- 不能平行化
- 忽略了输入句中文字间和目标句中文字间的关系。
参考教程
- Seq2seq pay Attention to Self Attention: Part 1(中文版)
https://medium.com/@bgg/seq2seq-pay-attention-to-self-attention-part-1-中文版-2714bbd92727 - 深度学习之seq2seq模型以及Attention机制 - hank的DL之路 - 博客园
https://www.cnblogs.com/DLlearning/p/7834018.html
【DL小结4】seq2seq与attention机制相关推荐
- 完全图解RNN、RNN变体、Seq2Seq、Attention机制
完全图解RNN.RNN变体.Seq2Seq.Attention机制 本文作者:思颖 2017-09-01 18:16 导语:帮助初学者开启全新视角 雷锋网(公众号:雷锋网) AI科技评论按:本文作者何 ...
- seq2seq与Attention机制
学习目标 目标 掌握seq2seq模型特点 掌握集束搜索方式 掌握BLEU评估方法 掌握Attention机制 应用 应用Keras实现seq2seq对日期格式的翻译 4.3.1 seq2seq se ...
- 《自然语言处理学习之路》15 Seq2Seq、Attention机制
书山有路勤为径,学海无涯苦作舟 黑发不知勤学早,白首反悔读书迟. 1. Sequence-to-Sequence(N to M) 1.1 简介 先编码,再解码.STAR开始解码,END终止解码. EN ...
- Seq2Seq模型及Attention机制
Seq2Seq模型及Attention机制 Seq2Seq模型 Encoder部分 Decoder部分 seq2seq模型举例 LSTM简单介绍 基于CNN的seq2seq Transformer A ...
- Glove与Attention机制资料的整理
前言 2021.7.31 学习是一个持续的过程,重新梳理一下自己的文章.突然发现这篇文章好像是之前组会的时候准备汇报资料学习的参考文献2333.真的很推荐去看. 1 Glove 论文出处:<&l ...
- Transformer详解(二):Attention机制
1.Encoder-Decoder中的attention机制 上一篇文章最后,在Encoder-Decoder框架中,输入数据的全部信息被保存在了C.而这个C很容易受到输入句子长度的影响.当句子过长时 ...
- 【TensorFlow实战笔记】对于TED(en-zh)数据集进行Seq2Seq模型实战,以及对应的Attention机制(tf保存模型读取模型)
个人公众号 AI蜗牛车 作者是南京985AI硕士,CSDN博客专家,研究方向主要是时空序列预测和时间序列数据挖掘,获国家奖学金,校十佳大学生,省优秀毕业生,阿里天池时空序列比赛rank3.公众号致力于 ...
- 一文看懂 Bahdanau 和 Luong 两种 Attention 机制的区别
来自 | 知乎 作者 | Flitter 链接 | https://zhuanlan.zhihu.com/p/129316415 编辑 | 深度学习这件小事公众号 本文仅作学术交流,如有侵权,请联系 ...
- 第十二课.Seq2Seq与Attention
目录 Seq2Seq,机器翻译Encoder-Decoder 机器翻译数据集与数据预处理 Encoder-Decoder模型 损失函数 训练与测试 结合Luong Attention Luong At ...
- 「NLP」 聊聊NLP中的attention机制
https://www.toutiao.com/i6716536091681227267/ 本篇介绍在NLP中各项任务及模型中引入相当广泛的Attention机制.在Transformer中,最重要的 ...
最新文章
- src或者href值为base64编码代码
- bzoj1207(HNOI2004)打鼹鼠
- 我的Android进阶之旅------解决Android Studio编译后安装apk报错:The APK file does not exist on disk...
- 10.1 掌握大数据-机器学习笔记-斯坦福吴恩达教授
- 一条开启勇士王朝的短信
- Execution Environment for Non-64-bit Modes 和 64-bit Modes
- 只可顺守不可逆取书法_坚持练书法10年以上,会怎么样?
- 有关ACM学习的博客链接
- linux的多任务编程-线程池,Linux的多任务编程-线程池
- MFC选择目录和多个文件
- UG标准件库的使用方法
- 生物统计分析之主成分分析(PCA)
- 什么是爬虫?--关于爬虫的简介
- Python爬虫爬取滚动新闻
- 三步必杀(P4231)
- 哪些网站让你觉得发现了新大陆?分享几个神奇的黑科技网站
- 【UWB 定位】测距TOA 和 TDOA详解
- 小云管家(Rotor):一款开源的效率工具箱
- OpenCV-FLANN识别
- 他用一生换一个资本帝国
热门文章
- ADO.NET 数据库操作类
- CheckBoxList 只能选2个选项
- 投身管理工作(项目经理修炼手册正文的开头)
- Linux inittab和oracle lsntctl 启动的问题解决办法
- 2.自编码器(去噪自编码器,DAE)
- 计算机系统结构期末张晨曦,计算机系统结构(张晨曦)试题
- 二进制转bcd码c语言程序,微机课设求助 BCD码转换为二进制
- es 链接mysql,用python简单实现mysql数据同步到ElasticSearch的教程
- java severlet 例子_Java开发Servlet实例
- 不能忽视的情绪 -- 喜怒哀惧,也不过度关注