Misalnya, untuk kata pada posisi dalam urutan input , dengan penyematan 4 dimensi , dan , operasi akan menjadi
wpos∈[0,L−1]w=(w0,⋯,wL−1)ewdmodel=4e′w=ew+[sin(pos100000),cos(pos100000),sin(pos100002/4),cos(pos100002/4)]=ew+[sin(pos),cos(pos),sin(pos100),cos(pos100)]
di mana rumus untuk pengkodean posisional adalah sebagai berikut
dengan (dengan demikian ) di kertas aslinya.PE(pos,2i)=sin(pos100002i/dmodel),
PE(pos,2i+1)=cos(pos100002i/dmodel).
dmodel=512i∈[0,255]
Teknik ini digunakan karena tidak ada gagasan urutan kata (kata 1, kata 2, ..) dalam arsitektur yang diusulkan. Semua kata dari urutan input dimasukkan ke jaringan tanpa urutan atau posisi khusus (tidak seperti arsitektur RNN atau ConvNet yang umum), sehingga, model tidak tahu bagaimana kata-kata tersebut dipesan. Akibatnya, sinyal yang tergantung posisi ditambahkan ke setiap penyisipan kata untuk membantu model memasukkan urutan kata. Berdasarkan percobaan, penambahan ini tidak hanya menghindari penghancuran informasi yang disematkan tetapi juga menambahkan informasi posisi vital. Dalam kasus RNN, kami memberi makan kata-kata secara berurutan ke RNN, yaitu kata ke- diumpankan pada langkah , yang membantu model memasukkan urutan kata-kata.nn
Artikel ini oleh Jay Alammar menjelaskan makalah dengan visualisasi yang sangat baik. Sayangnya, contohnya untuk pengkodean posisi saat ini salah (menggunakan untuk paruh pertama dimensi penyertaan dan untuk babak kedua, alih-alih menggunakan untuk indeks genap dan untuk indeks ganjil).sincossincos