当前位置:   article > 正文

三种传统Seq2Seq的框图,简单理解_seq2seq模型框架

seq2seq模型框架

统的Seq2Seq模型

在这里插入图片描述Encoder负责将输入序列x1 x2 x3 编码;图中的方块可以是一个简单的RNN单元,也可以是LSTM或者GRU单元。Encoder的最后一个hidden state作为Decoder的输入;我们把这个输入Decoder的向量称为context vector,即图中的c。注意,这个向量是固定长度的,不随输入序列的长度变化。

上图展示的是Auto-regressive mode,即Decoder的前一个输出yi-1 输入进下一个单元,用于生成yi

在这里插入图片描述

上图展示的是Teaching forcing mode,即Decoder不是用前一个时刻的输出 yi-1作为输入,而是直接用正确答案 y*i-1

它是一种网络训练方法,对于开发用于机器翻译,文本摘要,图像字幕的深度学习语言模型以及许多其他应用程序至关重要。它每次不使用上一个state的输出作为下一个state的输入,而是直接使用训练数据的标准答案(ground truth)的对应上一项作为下一个state的输入这篇文章解释的不错:一文弄懂关于循环神经网络(RNN)的Teacher Forcing训练机制

在这里插入图片描述上图展示的是稍微进阶一点的版本:Decoder的每一个时刻都把context vector 作为输入,而不是像之前那样仅作为第一个单元的输入。

传统Seq2Seq弊病

分析一下Seq2Seq的结构,心中难免有疑问,Decoder真的能有效提取context vector的全部信息吗?这个固定长度的context vector真的能反映输入序列的全部信息吗?

答案是,不一定。而这恰恰要改进的地方:是不是可以对Decoder的每一个单元都计算一个context vector, 这个向量反映了Encoded sequence的各个位置对于Decoder当前单元的输出的影响。这就是所谓的注意力机制,以后有机会再讲注意力机制。

参考

https://zhuanlan.zhihu.com/p/577664617

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/687678
推荐阅读
相关标签
  

闽ICP备14008679号