Seq2Seqとは
Sequence-to-Sequence
入力系列を、長さの異なる別の系列へ変換するEncoder-Decoder型のニューラルネットワークアーキテクチャ
ひとことで言うと
ある系列のデータを、別の長さの系列に変換するAIモデルの型。翻訳などに使われる。
概要
Seq2Seq(Sequence-to-Sequence)とは、可変長の入力系列を受け取り、それとは異なる長さの出力系列を生成するニューラルネットワークアーキテクチャ。 入力系列を内部表現へ圧縮するEncoderと、その内部表現をもとに出力系列を1要素ずつ生成するDecoderの2つの構成要素からなる。 機械翻訳(異なる言語間の文の変換)、文章要約(長い文章から短い要約への変換)、音声認識(音声から文字列への変換)など、入力と出力の系列長が一致しないタスクに広く応用されてきた。
背景
従来のニューラルネットワークは固定長の入出力を前提とすることが多く、翻訳や要約のように入力と出力の長さが一致しない、あるいは事前に決まらないタスクを直接扱うのが難しかった。 Seq2Seqは、Encoderで入力を可変長のまま内部表現へ変換し、Decoderで別の可変長系列を生成することで、こうした系列変換タスクを統一的に扱うために考案された。
歴史
2014年: SutskeverらがLSTMを用いたEncoder-Decoder構成のSeq2Seqモデルを機械翻訳タスクに適用し、高い性能を報告。 2014年: Bahdanauらが、SeqSeqにAttention機構を組み合わせることで、長い系列における性能低下を緩和する手法を提案。 2017年: Transformerの登場により、Seq2SeqのEncoder・Decoderの内部構造がRNNから自己注意機構ベースへ置き換わっていった。
利点
- 入力と出力の系列長が異なるタスクを、統一的なアーキテクチャで扱える
- 機械翻訳・要約・音声認識など、幅広い系列変換タスクに応用できる
欠点
比較
- Encoder — EncoderはSeq2Seqモデルを構成する2つの要素のうち、入力側を処理する部分
- Attention — Attention機構は、Seq2Seqモデルが長い入力系列を扱う際の情報損失を緩和するために組み合わされた
- Transformer — TransformerはSeq2Seqの発展形で、RNNの代わりに自己注意機構でEncoder・Decoderを構成する