利用循环神经网络解决序列到序列任务
1. 循环神经网络解决seq2seq问题
在深入理解循环神经网络(RNN)后,我们重新审视序列到序列(seq2seq)问题。例如将句子中的单词序列映射到词性(POS)标签序列,这类问题相对容易解决,因为生成合适标签时无需考虑长期依赖。但在语言翻译、视频摘要生成等seq2seq问题中,长期依赖对模型的成功至关重要,这正是RNN发挥作用的地方。
RNN解决seq2seq问题的方法与自编码器类似,seq2seq模型由编码器网络和解码器网络两部分组成:
- 编码器网络 :通常是使用LSTM单元的循环网络,它会处理整个输入序列,目标是生成对输入的浓缩理解,并将其总结为编码器网络最终状态所代表的单一思想。
- 解码器网络 :起始状态由编码器网络的最终状态初始化,逐词生成目标输出序列。在每一步,解码器网络将上一步的输出作为当前步的输入。
以将英语句子翻译成法语为例,具体步骤如下:
1. 对输入句子进行分词,并使用嵌入(类似于情感分析模型中的方法),逐词输入到编码器网络。
2. 句子结束时,使用特殊的“句子结束”(EOS)标记向编码器网络表明输入序列结束。
3. 获取编码器网络的隐藏状态,作为解码器网络的初始化。
4. 解码器网络的第一个输入是EOS标记,输出被解释为预测的法语翻译的第一个单词。
5. 从这一点开始,将解码器网络的输出作为下一步的输入,直到解码器网络输出EOS标记,此时表明网络已完成对原始英语句子的翻译。
seq2seq RNN架构还可用于学习序列的良好嵌入。例如,通过将段落划分为
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



