编码encoder
在RNN中,当前时间的隐藏状态是由上一时间的状态和当前时间输入决定的,也就是
ht=f(ht−1,xt)
获得了各个时间段的隐藏层以后,再将隐藏层的信息汇总,生成最后的语义向量...
C=q(h1,h2,h3,…,hTx)
一种简单的方法是将最后的隐藏层作为语义向量C,即
C=q(h1,h2,h3,…,hTx)=hTx
解码decoder
解码阶段可以看做编码的逆过程。...
yt=g({y1,…,yt−1},C)
而在RNN中,上式又可以简化成
yt=g(yt−1,st,C)
其中s是输出RNN中的隐藏层
st=f(st−1,y t−1, C)
C代表之前提过的语义向量...在机器翻译任务上,Cho等人在Decoder部分进行了改进,为Decoder RNN的每个结点添加了由Encoder端得到的上下文向量作为输入,使得解码过程中的每个时刻都有能力获取到上下文信息,从而加强了输出序列和输入序列的相关性...上联给出 完全自动生成对联(上联也自动生成)
[使用Encoder-Decoder模型自动生成对联的思路