論文メモ Sequence to Sequence Learning with Nueral Networks
June 6, 2020概要
Sequence to Sequenceの論文。 入出力が系列データを学習する場合、入力と出力の長さが等しかったり対応関係にある箇所が系列の方向に単調でなければならなかったりする。 これらの制約に対処するために、Sequence to Sequenceでは、入力全体を固定長のベクトルに一度変換し、そのベクトルをもとに出力を予測する。 2種類のLSTMをもち、入力を与えるLSTMの最終層の隠れ状態で、固定長ベクトルをつくる。 固定長のベクトルは、単調の制約を緩めるはたらきをする。 このベクトルは、もう一方のLSTMにあたえられ、その主力が最終的な出力になる。 実験では、入力系列を反転してあたえると、入力と出力の対応関係にある箇所の距離が近づき、予測性能が上がることが確認された。
アーキテクチャ
モデルの目標は、長さ\(T\)の入力系列\(x_1, \cdots , x_T\)から長さ\(T'\)の系列\(y_1, \cdots , y_{T'}\)の条件付き確率を出力することである。 入力と出力で長さの違う系列でも学習するため、入力から分散表現\(v\)をつくり、\(v\)をもとに系列を予測する。 \(v\)にはLSTMの最終層の状態がもちいられる。 これを式で示すと次のようになる。
$$
p(y_1 , \cdots , y_{T'}\mid x_1 , \cdots , x_T) = \prod_{t=1}^{T'}p(y_t\mid v, y_1 , \cdots , y_{t-1})
$$
\(p(y_t\mid v, y_1,\cdots , y_{t-1})\)の計算には、語彙にある単語についてのソフトマックス関数をもちいる。
また、出力系列の長さを有限にするために、系列の最後には終端を示す記号"<EOS>"
を追加し、系列に終端を予測できるようにする。
学習では、入力系列\(S\)と出力系列\(T\)を含む学習データセットを\(\mathcal{S}\)として、次の目的関数をもちいる。 $$ 1/\mid \mathcal{S}\mid \sum_{(T, S)\in \mathcal{S}} \log p(T\mid S) $$
予測時には、条件付き確率の最も高い\(T\)を出力する。 $$ \hat{T} = \underset{T}{\operatorname{argmax}} p(T\mid S) $$
入力系列の反転
入力系列を反転することで予測性能が向上する理由について完全な説明はなされていない。
次の図は、モデルによって入力系列から出力系列を予測する様子を示している。
入力と出力系列に単調な対応関係があれば、入力系列を反転すると、対応関係にある記号間の距離の平均値を変えずに、系列の先頭に近いほど記号間の距離が短くなり、後になるほど遠くにできる。
論文では、一部の記号間の対応関係の距離を変えることが、予測性能の向上の理由と考えられている。
- 論文はこちらからダウンロードできます。
- 画像はすべて論文から引用されています。