基于循环神经网络解决序列到序列任务
1. 利用循环神经网络解决序列到序列任务
在深入理解循环神经网络(RNN)之后,我们可以重新审视序列到序列(seq2seq)问题。有些seq2seq问题,如词性标注,无需考虑长期依赖关系就能生成合适的标签。但在语言翻译、视频摘要生成等任务中,长期依赖关系对模型的成功至关重要,这时RNN就派上用场了。
1.1 seq2seq的RNN方法
seq2seq的RNN方法与自编码器类似,由编码器网络和解码器网络组成:
- 编码器网络 :通常是使用LSTM单元的循环网络,用于处理整个输入序列,目标是生成对输入的浓缩理解,并将其总结为编码器网络最终状态所代表的单一思想。
- 解码器网络 :初始状态由编码器网络的最终状态初始化,逐词生成目标输出序列。在每个时间步,解码器网络将上一个时间步的输出作为当前时间步的输入。
以下是一个将英语句子翻译成法语句子的示例流程:
1. 对输入句子进行分词,并使用嵌入(类似于情感分析模型中的方法),逐词输入到编码器网络。
2. 在句子结束时,使用特殊的“句子结束”(EOS)标记向编码器网络指示输入序列的结束。
3. 获取编码器网络的隐藏状态,并将其作为解码器网络的初始化。
4. 解码器网络的第一个输入是EOS标记,输出被解释为预测的法语翻译的第一个单词。
5. 从那时起,将解码器网络的输出作为下一个时间步的输入,直到解码器网络输出EOS标记,表示完成了对原始英语句子的翻译。
1.2 学习序列的良好嵌入
seq2seq的
超级会员免费看
订阅专栏 解锁全文

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



