この記事の読者
- seq2seq #まとめ編
Index
文章生成というタスク
文章生成のタスクにも大きくわけると2つのタスクがある.
- 予測モデル
- 生成モデル
予測モデル
既存テキストを入力として、後続の単語を予測することで文章を生成する.
使用されるモデルは、分類の予測モデルなので RNN (LSTM / GRU etc) が使われる.
文章を生成する際には、最初の文章がいくつらか必要になるのも特徴.
生成モデル
既存テキストに関連するが、完全に異なるテキストを生成する場合もある.
翻訳、質問生成、要約などがこれにあたる.
その手法の1つの seq2seq / Encoder-Decoder モデルをまとめる.
seq2seq / Encoder-Decoder モデル とは
Encoder と Decoder とよばれる 2 つのネットワークアーキテクチャによって構成されている.
Encoder は「文章」を入力とし、ベクトルとして情報を圧縮する.
Decoder は Encoder が出力したベクトル情報を入力として、「文章」を生成する.
Encoder と Decoder が協力して、時系列データを別の時系列データに変換する.
Encoder
Encoder は、時系列データを隠れ状態ベクトルに変換する.
隠れ状態ベクトルは、固定長のベクトルで、情報がコンパクトにまとめられている.
Decoder
Decoder は、前時刻のデータから次時刻のデータを予測することで、時系列なデータを生成する.
まとめ
- seq2seq は、文章生成のタスクに用いられる手法
- 構造は、Encoder と Decoder の2つ構成されている
- Encoder は時系列データから情報を圧縮、抽出
- Decoder はその情報から時系列情報を生成する
参考
- Sequence to Sequence Learning with Neural Networks
- [2014]
- arxiv.org
書籍
生成 Deep Learning / オライリー
- 6章 書く
-
ゼロから作るDeep Learning 2
- 7 RNNによる文章生成