1. Learn
  2. /
  3. Cursuri
  4. /
  5. Modele Transformer w PyTorch

Connected

exercițiu

Tworzenie kodowań pozycyjnych

Osadzenie tokenów to dobry początek, ale takim osadzeniom (embeddings) nadal brakuje informacji o pozycji każdego tokenu w sekwencji. Aby to naprawić, architektura transformera korzysta z kodowań pozycyjnych, które wplatają informację o pozycji każdego tokenu bezpośrednio w osadzenia.

Stworzysz klasę PositionalEncoding z następującymi parametrami:

  • d_model: wymiarowość wejściowych osadzeń
  • max_seq_length: maksymalna długość sekwencji (lub długość sekwencji, jeśli wszystkie sekwencje mają tę samą długość)

Instrucțiuni

100 XP
  • Utwórz macierz zer o wymiarach max_seq_length na d_model.
  • Wykonaj obliczenia sinus i cosinus na position * div_term, aby uzyskać parzyste i nieparzyste wartości osadzeń pozycyjnych.
  • Upewnij się, że pe nie jest parametrem uczonym podczas treningu.
  • Dodaj przekształcone osadzenia pozycyjne do wejściowych osadzeń tokenów x.