モデル RNNエンコーダ・デコーダ入門
- RNNエンコーダ・デコーダとはRNNエンコーダ・デコーダは、入力データと出力データの両方が時間の流れに沿って変化する時系列データである場合に特に有効な深層学習手法です。例えば、日本語を英語に翻訳する場合を考えてみましょう。日本語の文も英語の文も、単語が順番に並んだ時系列データと見なすことができます。このような時系列データの変換を得意とするのが、RNNエンコーダ・デコーダです。RNNエンコーダ・デコーダは、その名の通り、エンコーダとデコーダと呼ばれる二つのRNN(リカレントニューラルネットワーク)を組み合わせた構造をしています。まず、エンコーダは入力となる時系列データを順番に読み込みます。そして、読み込んだ情報から、時系列データ全体の意味を表現するようなベクトルを生成します。このベクトルは「文脈ベクトル」と呼ばれ、入力データの持つ情報をぎゅっと凝縮したようなものと言えます。次に、デコーダはエンコーダが生成した文脈ベクトルを受け取ります。そして、文脈ベクトルを元に、出力データの時系列データを順番に生成していきます。翻訳の例で言えば、文脈ベクトルから英語の単語を順番に生成し、最終的に翻訳文を作り出すというわけです。このように、RNNエンコーダ・デコーダは、エンコーダで入力データの情報を文脈ベクトルに集約し、デコーダで文脈ベクトルから出力データを生成することで、時系列データの変換を実現しています。
