翻訳、チャットボット、音声認識のようなAIタスクにパワーを与える、シーケンス・トゥ・シークエンス・モデルがどのように入力を出力シーケンスに変換するかをご覧ください。
Sequence-to-Sequence(Seq2Seq)モデルは、入力シーケンスと出力シーケンスの長さが異なる場合に、入力シーケンスを出力シーケンスに変換するように設計されたディープラーニングモデルのクラスである。この機能により、特に自然言語処理(NLP)のような幅広いタスクで非常に強力な能力を発揮するが、音声認識や、シーケンシャルなデータを含む特定のコンピュータ・ビジョンの問題のような他のドメインでも適用可能である。Sutskeverらによる"Sequence to Sequence Learning with Neural Networks"やChoらによる"Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation"などの論文で紹介されたコアとなるアイデアは、機械が可変長のシーケンス変換を処理する方法に革命をもたらした。
ほとんどのSeq2Seqモデルの基本構造は、エンコーダー・デコーダーアーキテクチャである:
この基本構造を大幅に強化したのが、Bahdanauらの論文"Neural Machine Translation by Jointly Learning to Align and Translate"に詳述されている注意メカニズムの導入である。アテンションは、デコーダが出力シーケンスの各要素を生成する際に、単一の固定サイズのコンテキスト・ベクトルのみに依存するのではなく、入力シーケンスの異なる部分に選択的に焦点を当てることを可能にする。これにより、特に長いシーケンスの性能が劇的に向上した。このコンセプトは、アテンション・メカニズムに完全に依存するトランスフォーマーのようなアーキテクチャへの道を開き、再帰を完全に排除し、BERTや GPTのようなモデルの基礎となった。
Seq2Seqモデルは、入力と出力がシーケンシャルでありながら、長さや構造が一対一に対応しないようなタスクに優れています。主なアプリケーションは以下の通りです:
Seq2Seqモデルの構築とトレーニングには、いくつかの重要な概念が含まれる:
RNNに基づくSeq2Seqモデルは画期的であったが、この分野は進化している:
Seq2SeqはRNNベースのエンコーダ・デコーダ構造を指すことが多いが、中間表現を使って入力配列を出力配列にマッピングするという一般的な原理は、翻訳や要約に使われるトランスフォーマーを含む、多くの最新アーキテクチャの中心であり続けている。以下のようなツールがある。 PyTorchや TensorFlowのようなツールは、従来のシーケンスモデルと最新のシーケンスモデルの両方を実装するためのビルディングブロックを提供する。トレーニングプロセスの管理は、Ultralytics HUBのようなプラットフォームを使用して合理化することができます。