赞
踩
我们知道序列预测有 one-to-one、many-to-one、many-to-many、one-to-many 几种类型。在前面的文章中,我们做过的任务大多是将一个序列映射为单个输出的问题,比如 NER 是预测单个单词的标签,语言模型是一个一个预测下一个单词的问题。
现在我们要看输出是一个序列的情况,也就是 to-many,这类问题有个挑战是它的输入和输出都是序列,而且序列的长度是不固定的,为了应对这种挑战,于是有了 seq2seq 模型。
seq2seq 即 Sequence-to-sequence 模型,通常指 Encoder Decoder LSTM 模型,它由两个循环神经网络(可以是 RNN、LSTM、GRU 等)组成:
其中 Encoder 可以是双向的循环神经网络,这样的话,有一串 LSTM 是正向地读取输入序列,还有一串是反向地读取输入序列。因为是双向,我们会得到两个隐藏层状态,一个来自正向,一个来自反向,通过双向结构可以对文本的信息有更加全面的掌握。
Encoder 还可以增加层数,例如可以是多层双向 LSTM,每层的输出是下一层的输入。在一些复杂的任务中,为了得到更好的结果就可以用多层结构。
而且任务不同时,Encoder 的结构也可以选择不同的神经网络,比如做自然语言处理任务时用 LSTM
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。