用語集

配列間モデル

翻訳、チャットボット、音声認識のようなAIタスクにパワーを与える、シーケンス・トゥ・シークエンス・モデルがどのように入力を出力シーケンスに変換するかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

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モデルの基本構造は、エンコーダー・デコーダーアーキテクチャである:

  1. エンコーダー:この部分は、通常LSTM(Long Short-Term Memory)やGRU(Gated Recurrent Unit)のようなリカレント・ニューラル・ネットワーク(RNN)を使って、入力シーケンス全体(例えばフランス語の文章)を段階的に処理する。その目的は、入力シーケンスからの情報を、しばしば "文脈ベクトル "または "思考ベクトル "と呼ばれる固定サイズの内部表現に圧縮することである。このベクトルは、入力シーケンスの本質や意味を捉えることを目的としている。
  2. デコーダー:この部分は、エンコーダーによって生成されたコンテキストベクトルを受け取り、出力シーケンスを段階的に生成する(例えば、English翻訳文)。また、コンテキストベクトルと前のステップで生成された要素を条件として、各時間ステップで1つの要素(単語や文字など)を生成するRNNが一般的である。

この基本構造を大幅に強化したのが、Bahdanauらの論文"Neural Machine Translation by Jointly Learning to Align and Translate"に詳述されている注意メカニズムの導入である。アテンションは、デコーダが出力シーケンスの各要素を生成する際に、単一の固定サイズのコンテキスト・ベクトルのみに依存するのではなく、入力シーケンスの異なる部分に選択的に焦点を当てることを可能にする。これにより、特に長いシーケンスの性能が劇的に向上した。このコンセプトは、アテンション・メカニズムに完全に依存するトランスフォーマーのようなアーキテクチャへの道を開き、再帰を完全に排除し、BERTや GPTのようなモデルの基礎となった。

実世界での応用

Seq2Seqモデルは、入力と出力がシーケンシャルでありながら、長さや構造が一対一に対応しないようなタスクに優れています。主なアプリケーションは以下の通りです:

  • 機械翻訳テキストをある言語から別の言語に翻訳すること(Google 翻訳や DeepL Translatorのようなサービスのパワーアップなど)。これはSeq2Seqモデルの最初の大きな成功の1つである。
  • テキストの要約長い文書や記事から簡潔な要約を生成する。入力は長いテキスト列で、出力は短い要約列である。
  • 会話AI /チャットボット対話システムで応答を生成する。入力はユーザーの問い合わせや発言で、出力はチャットボットの返答。Google Dialogflowのようなプラットフォームがこのような技術を利用している。
  • 音声認識話し言葉の音声(音声特徴のシーケンス)をテキスト(単語のシーケンス)に変換する。
  • 画像キャプション:画像(入力シーケンス、多くの場合CNNによって抽出された特徴として表現される)に対するテキストの説明(出力シーケンス)を生成すること。入力は厳密にはシーケンシャルではないが、出力生成プロセスはSeq2Seqパラダイムに適合する。
  • コード生成:自然言語記述に基づいてプログラミングコードを生成する。

主要概念と考察

Seq2Seqモデルの構築とトレーニングには、いくつかの重要な概念が含まれる:

Seq2Seqと他のアーキテクチャーとの比較

RNNに基づくSeq2Seqモデルは画期的であったが、この分野は進化している:

  • 標準的なRNN:通常、配列は同じ長さの配列にマップされるか、配列全体を分類する。
  • トランスフォーマー以前はRNNベースのSeq2Seqモデルによって処理されていた多くの自然言語処理タスクが、現在支配的なものとなっている。再帰の代わりに自己アテンションと位置エンコーディングを使用するため、並列化が容易で、長距離の依存関係をより効果的に捉えることができる。UltralyticsサポートするBaiduのRT-DETRようなモデルには、オブジェクト検出のためのTransformerコンポーネントが組み込まれている。
  • CNN主に画像のようなグリッド状のデータに使用される(例えば、以下のように)。 Ultralytics YOLO検出やセグメンテーションのためのモデル)、シーケンスタスクに適応されることもある。

Seq2SeqはRNNベースのエンコーダ・デコーダ構造を指すことが多いが、中間表現を使って入力配列を出力配列にマッピングするという一般的な原理は、翻訳や要約に使われるトランスフォーマーを含む、多くの最新アーキテクチャの中心であり続けている。以下のようなツールがある。 PyTorchTensorFlowのようなツールは、従来のシーケンスモデルと最新のシーケンスモデルの両方を実装するためのビルディングブロックを提供する。トレーニングプロセスの管理は、Ultralytics HUBのようなプラットフォームを使用して合理化することができます。

すべて読む