Encoder-Decoderモデルの枠組み

Encoder-Decoderモデルでは, Encoderは入力の系列 $ x= (x_1,..., x_{T_x})
$ をベクトルcに符号化する. 一般的なEncoder-Decoderモデルでは2.32式および2.33式で表されるRNNを用いて構成される.

$\displaystyle h_t=f(x_t,h_{t-1})$ (2.44)

$\displaystyle c=q(\{h_1,...,h_{T_x}\})$ (2.45)

ここで$ h_t$は各時刻tの隠れ層の状態であり, cは隠れ層を用いて生成されたベクトルである. fおよびqは活性化関数であり, Sutskeverら[5] はfにLSTMを用いた上, $ q=(f\{h_1,...,h_T\})=h_T$ としている. Decoderは文脈ベクトルcと既に生成された単語 $ f(y_1,...,y_{t'-1})$ が与えられた際の次の単語$ y_t$ を予測するように訓練され, 結合確率を 2.34式に示す条件式に分解することで翻訳文 $ y=(y_1,\cdots,y_{T_y})$ を得る条件付き確率を定義している.

$\displaystyle p(y)=\prod_{t=1}^{T}p(y_t\vert\{y_1,\cdots,y_{t-1}\},c)$ (2.46)

2.33式および2.34式で表されるRNNを用いて, それぞれの条件付き確率は 2.35式によりモデル化される. ここで, gは非線形の多層関数であり, $ y_T$の確率を生成する.$ s_t$はRNNの隠れ層となる.

$\displaystyle p(y_t\vert\{y_1,\cdots,y_{t-1}\},c)=g(y_{t-1},s_t,c)$ (2.47)