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)\]