1. A basic LSTM encoder-decoder.
Encoder:
X 是 input sentence. C 是encoder 产生的最后一次的hidden state, 记作 Context Vector.
[C=LSTM(X).]
Decoder:
每次的输出值就是下一次的输入值, 第一次的输入值就是 encoder 产生的 Context Vector. Encoder最后输出的 hidden state 通常用来初始化 Decoder的 $y_{0}$.
基本公式:
[y_{0} = LSTM(s_{0}, C);]
$C$ 就是encoder 产生的 context vector.
[y_t = LSTM(s_{t-1}, y_{t-1});]
$s$ 是LSTM的 hidden state 状态 LSTM ($h$ and $c$).
[s_t=[h_t,c_t]]
2. A basic LSTM encoder-decoder with peek.
Encoder部分与上面相同。Decoder部分,每次的输入值为${s_{t-1},y_{t-1},C}$. 这边的peek value就是 每次迭代的时候都将 Context Vector作为输入。
初始化: [y(0) = LSTM(s0, C, C)]
每次的迭代公式: [y(t) = LSTM(s(t-1), y(t-1), C)]