当前位置:   article > 正文

用一个小例子理解 seq2seq 的本质_seq2seq案例

seq2seq案例

我们知道序列预测有 one-to-one、many-to-one、many-to-many、one-to-many 几种类型。在前面的文章中,我们做过的任务大多是将一个序列映射为单个输出的问题,比如 NER 是预测单个单词的标签,语言模型是一个一个预测下一个单词的问题。

现在我们要看输出是一个序列的情况,也就是 to-many,这类问题有个挑战是它的输入和输出都是序列,而且序列的长度是不固定的,为了应对这种挑战,于是有了 seq2seq 模型。

什么是 seq2seq 模型

seq2seq 即 Sequence-to-sequence 模型,通常指 Encoder Decoder LSTM 模型,它由两个循环神经网络(可以是 RNN、LSTM、GRU 等)组成:

  • 一个 Encoder 编码器,输入为文本的序列,输出为一个固定维度的“上下文向量”。
  • 一个 Decoder 解码器,输入为这个“上下文向量”,输出为目标序列。

其中 Encoder 可以是双向的循环神经网络,这样的话,有一串 LSTM 是正向地读取输入序列,还有一串是反向地读取输入序列。因为是双向,我们会得到两个隐藏层状态,一个来自正向,一个来自反向,通过双向结构可以对文本的信息有更加全面的掌握。

Encoder 还可以增加层数,例如可以是多层双向 LSTM,每层的输出是下一层的输入。在一些复杂的任务中,为了得到更好的结果就可以用多层结构。

而且任务不同时,Encoder 的结构也可以选择不同的神经网络,比如做自然语言处理任务时用 LSTM࿰

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

闽ICP备14008679号