1. Learn
  2. /
  3. Курси
  4. /
  5. Моделі Transformer з PyTorch

Connected

Вправа

Створення позиційних кодувань

Вкладення (embeddings — векторні представлення) токенів — гарний початок, але цим вкладенням бракує інформації про позицію кожного токена в послідовності. Щоб це виправити, архітектура Transformer використовує позиційні кодування. Вони додають позиційну інформацію з кожного токена до вкладень.

Ви створите клас PositionalEncoding з такими параметрами:

  • d_model: розмірність вхідних вкладень
  • max_seq_length: максимальна довжина послідовності (або довжина послідовності, якщо всі послідовності однакової довжини)

Інструкції

100 XP
  • Створіть матрицю з нулів розміром max_seq_length на d_model.
  • Виконайте обчислення sine та cosine для position * div_term, щоб отримати парні та непарні позиційні значення вкладень.
  • Переконайтеся, що pe не є навчуваним параметром під час тренування.
  • Додайте перетворені позиційні вкладення до вхідних вкладень токенів x.