1. 学ぶ
  2. /
  3. コース
  4. /
  5. Modèles Transformer avec PyTorch

Connected

演習

Créer des encodages positionnels

L'intégration des jetons est un bon début, mais ces représentations ne contiennent pas encore l'information sur la position de chaque jeton dans la séquence. Pour y remédier, l'architecture Transformer utilise des encodages positionnels, qui injectent l'information de position de chaque jeton dans les vecteurs d'intégration.

Vous allez créer une classe PositionalEncoding avec les paramètres suivants :

  • d_model : la dimension des vecteurs d'intégration en entrée
  • max_seq_length : la longueur maximale de séquence (ou la longueur de séquence si elles ont toutes la même longueur)

指示

100 XP
  • Créez une matrice de zéros de dimensions max_seq_length par d_model.
  • Effectuez les calculs de sinus et cosinus sur position * div_term pour créer les valeurs d'encodage positionnel paires et impaires.
  • Assurez-vous que pe n'est pas un paramètre apprenable pendant l'entraînement.
  • Ajoutez les encodages positionnels transformés aux vecteurs d'intégration des jetons en entrée, x.