1. 学ぶ
  2. /
  3. コース
  4. /
  5. PyTorchで学ぶTransformerモデル

Connected

演習

位置エンコーディングを作成する

トークンを埋め込むことは良い出発点ですが、これだけでは各トークンの系列内での位置情報が含まれていません。これを補うために、Transformer アーキテクチャでは位置エンコーディングを用います。各トークンの位置情報を埋め込みに組み込みます。

次のパラメータを持つ PositionalEncoding クラスを作成します。

  • d_model: 入力埋め込みの次元数
  • max_seq_length: 最大系列長(すべての系列長が同じであればその系列長)

指示

100 XP
  • max_seq_length × d_model のゼロ行列を作成します。
  • 偶数・奇数の位置埋め込み値を作るために、position * div_term に対して sine と cosine の計算を行います。
  • 学習中に pe が学習可能パラメータにならないようにします。
  • 変換した位置埋め込みを入力トークンの埋め込み x に加算します。