ステップ 1: 入力と表現 📥
AIモデルは直接テキストや画像を見るわけではありません。まず、人間の言葉やデータが機械が理解できる形式に変換されます。
1. プロンプトの入力
テキスト(文章、会話)、画像、音声など。
2. トークン化
テキストの場合、文章が単語やサブワードの「トークン」に分割されます。
3. 埋め込み(Embeddings)
各トークンは、その意味や文脈的特徴を捉えた「固定長ベクトル」に変換されます。
4. コンテキストの萌芽
ここで既に、ベクトル空間上での単語間の距離が、ある程度の意味的な近さを反映します。
ステップ 2: コンテキストのエンコード 🔄
入力された情報(埋め込みベクトル)は、モデルの「エンコーダ」部分で処理され、より豊かで密度の高い「コンテキストベクトル」に変換されます。
1. リカレントニューラルネットワーク (RNN, LSTM, GRU)
シーケンスデータを順に処理し、隠れ状態 を通して過去の情報を現在のステップに引き継ぎます。この隠れ状態こそが、それまでのコンテキストを凝縮した表現です。各ステップの隠れ状態が、その時点までの文脈を反映します。
2. トランスフォーマーモデル
- RNNのように逐次処理するのではなく、入力シーケンス全体を一度に考慮します。
- 自己注意機構(Self-Attention Mechanism) が中心的な役割を果たし、シーケンス内の各単語が他のすべての単語とどのように関連しているかを学習します。
- マルチヘッド注意機構 は、複数の異なる「注意の視点」からコンテキストを捉え、より多様な関係性をエンコードします。
- このプロセスを通じて、各単語は他の単語との関係性を含んだ、リッチな**コンテキストベクトル**に変換されます。これが、Transformerの強力なコンテキスト理解の源です。
ステップ 3: コンテキストの活用と焦点 🔍
エンコードされたコンテキストは、出力生成の段階で最大限に活用されます。この際、「注意機構(Attention Mechanism)」が非常に重要な役割を果たします。
1. アライメントスコアの計算
デコーダが次の単語を生成する際、エンコーダが生成した多数のコンテキストベクトルの中から、どのベクトルが最も重要かを判断するためのアライメントスコアが計算されます。
- Bahdanau Attention や Luong Attention といった具体的な手法が、このスコアの計算とコンテキストベクトルの重み付けを行います。
2. コンテキストベクトルの形成
関連性の高いエンコーダのコンテキストベクトルは、そのアライメントスコアに基づいて重み付けされ、現在のデコードステップのための「コンテキストベクトル」を形成します。これは、デコーダが「今、最も注目すべき情報」を示します。
3. 関連情報の抽出
注意機構は、モデルが入力された膨大な情報の中から、出力に必要な「関連するコンテキスト」を動的に抽出し、焦点を当てることを可能にします。
ステップ 4: 出力生成 💬
最後に、モデルは現在のコンテキストと注意機構から得られた情報に基づいて、最終的な出力を生成します。
1. デコード
デコーダは、前のステップで生成された単語(または現在の状態)と、ステップ3で形成されたコンテキストベクトル、そして独自の隠れ状態を組み合わせて、次の単語(または出力要素)の生成確率を計算します。
2. 確率分布の計算
全ての可能な出力(例: 全ての単語)に対して確率を割り振り、最も確率の高いものを次の出力として選択します。この際、**ソフトマックス関数**がよく使われます。
3. 連続的な生成
このプロセスを繰り返すことで、文章全体の生成やタスクの完了が行われます。
まとめ: コンテキスト理解のサイクル 🔄
AIは、
- Step1
生の入力データ (プロンプト) を受け取り - Step2
それを洗練されたコンテキストベクトルに変換し - Step3
そのコンテキストの中から必要な情報に「注意」を向け - Step4
最終的な出力を生成します
この一連のプロセスが、AIが私たちの言葉や世界を理解し、適切に反応するための「プロンプト入力➡AI回答」までのロードマップと言えます。この深いコンテキスト理解こそが、今日のAIの高度な能力を支える鍵となっています。