0、网络图结构
从上图可以看出,编码是一个RNN网络,当然可以是一个单向RNN也可以是一个双向RNN,C是一个context为背景变量,将输入信息进行编码汇总得到一个信息。接着由这个背景变量作为解码的输入,加上隐藏变量和输出变量,得到结果在进行映射,依次得到序列的每个预测结果。
以上x1,x2,x3分别表示时间步输入,h1,h2等分别表示时间步隐藏状态,y1,y2分别表示时间步输出,s1,s2分别表示输出时间步的隐藏状态。
注意:
(1)h0一般初始化为零向量;
(2)y0一般初始化为< bos >表示序列的开始(因为y0无法观测到);
(3)s0一般初始化为:系数W乘以输入序列的第一个字的反向隐藏层信息,在经过双正切激活函数tanh。
补充:
这里的背景变量C可以取自于输入编码的最后一个输出,也可以取自于q(h1,h2,h3,…,hT),这个函数q根据需求改变。
1、编码器
编码器的作用是把一个不定长的输入序列变换成一个定长的背景变量 c