Код Middle Attention и трансформеры обновлено

Синусоидальное позиционное кодирование

Условие

Напишите pos_encoding(pos, d): синусоидальный вектор позиции из исходного трансформера: PE[2i] = sin(pos / 10000^(2i/d)), PE[2i+1] = cos(pos / 10000^(2i/d)). d чётное. Значения округлите до 4 знаков.

Примеры

pos_encoding(0, 4) // [0, 1, 0, 1]
pos_encoding(1, 2) // [0.8415, 0.5403]
pos_encoding(1, 4) // [0.8415, 0.5403, 0.01, 1]

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме