Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:エンコーダおよびデコーダブロックの構造化 | トランスフォーマーコンポーネントの構築
自然言語処理のためのトランスフォーマー
セクション 2.  5
single

single

bookチャレンジ:エンコーダおよびデコーダブロックの構造化

メニューを表示するにはスワイプしてください

エンコーダーブロックデコーダーブロックの構造を理解することは、Transformerがどのようにテキストを処理し生成するかを習得するための重要なポイントです。Transformerの各エンコーダーブロックは、入力シーケンスを文脈情報を含む表現へと変換するよう設計されており、各デコーダーブロックは、これまでの出力とエンコーダーの表現の両方に注意を向けながら出力シーケンスを生成します。翻訳や要約などのシーケンス間テキストタスクでは、エンコーダーが入力テキストを一連の隠れ状態にエンコードし、デコーダーはこれらの隠れ状態と自身の自己注意機構を用いてターゲットシーケンスを一歩ずつ生成します。エンコーダーとデコーダーブロック間のこの相互作用により、モデルはテキスト内の複雑な依存関係を捉えることができ、Transformerは幅広い自然言語処理タスクで非常に高い効果を発揮します。

以下の表は、Transformerエンコーダーブロックにおける処理の流れをまとめ、テキストデータにおける各処理の重要性を示しています。

StepOperationPurpose for Text Data
1Multi-head self-attentionCaptures relationships between all tokens in the input.
2Add & NormalizeStabilizes training and preserves information.
3Feed-forward networkApplies non-linear transformations to each token.
4Add & NormalizeFurther stabilizes and enables deep stacking.

Each operation ensures that the encoder builds increasingly abstract and context-aware representations of the input text, which are essential for downstream sequence-to-sequence tasks.

タスク

スワイプしてコーディングを開始

TransformerEncoderBlock クラスの不足部分を完成させ、主要なコンポーネントを正しく初期化し、順序通りに forward 計算で使用することが課題です。

TransformerEncoderBlock クラスは、Transformer アーキテクチャにおける単一のエンコーダーブロックをモデル化しています。クラスのコンストラクタ(__init__ メソッド)で、次の2つの主要コンポーネントを適切に初期化する必要があります:

  • MultiHeadAttention(hidden_dim) を用いた 自己注意層。この層は、入力内の各トークンが他のすべてのトークンに注意を向けることを可能にし、文脈的な関係を捉えます;
  • FeedForward(hidden_dim) を用いた フィードフォワードネットワーク。この層は、自己注意層の出力に対して各トークン表現ごとに非線形変換を適用し、さらに処理を進めます;
  • forward メソッドでは、これら2つの層を順番に適用してください:
    • まず、入力 x を自己注意層に通します;
    • 次に、自己注意層の出力をフィードフォワードネットワークに通します;
    • 最終的な出力を返します。

MultiHeadAttentionFeedForward の両方を、クラスに渡された hidden_dim パラメータでインスタンス化することを忘れないでください。これらのコンポーネントはエンコーダーブロックの中核構造を表し、正しい順序で適用される必要があります。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  5
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt