Positional encodings (sinusoidal)
4.1.6· AI-ML › Transformer Architecture
Transformers saare tokens ko parallel mein process karte hain, jisse woh sequential order information kho dete hain jo RNNs naturally preserve karti hai. Positional encoding position information ko token embeddings mein inject karti hai taaki model ko pata chale "kaun sa word pehle aaya."

Even dimensions sine use karti hain, odd dimensions cosine. Inhe token embeddings mein add kiya jaata hai (concatenate nahi).
Derivation: Yeh Formula Kyun?
Step 1: Kuch aisa chahiye jo position ke saath change ho Hum chahte hain ki har position ke liye unique ho. Ek simple counter kaam karta lekin yeh unboundedly scale karta—position 1000 embedding values par dominate kar leta.
Step 2: Bounded functions—sine aur cosine Trig functions mein oscillate karti hain, values bounded rehti hain. Ek single frequency ke liye:
Yeh step kyun? Sine hume periodicity deta hai. Alag-alag positions ko alag-alag values milti hain, lekin function repeat hota hai. Ek frequency kaafi nahi hai kyunki yeh repeat hoti hai (period ), jisse door positions similar lagti hain.
Step 3: Alag-alag dimensions ke liye multiple frequencies Har embedding dimension ke liye alag frequency use karo. Dimension ko frequency milti hai:
Frequencies decreasing kyun?
- Low dimensions ( chhota): high frequency position ke saath rapidly change hota hai fine-grained local order capture karta hai
- High dimensions ( bada): low frequency slowly change hota hai coarse global position capture karta hai
Factor wavelength range set karta hai. Sabse lamba wavelength positions hai.
Step 4: Alternating sine aur cosine Even dimensions sine use karti hain, odd dimensions same frequency ka cosine use karti hain:
Dono kyun? Pair frequency ke circle par position ki 2D representation banata hai. Isse model trig identities use karke relative positions compute karne ke liye linear transformations seekh sakta hai:
Ek linear layer weights aur seekh sakti hai taaki kisi bhi position ko steps shift kiya ja sake.
Relative Position: Kisi bhi fixed offset ke liye, , ka ek linear function hai:
jahan ek linear transformation hai. Isse relative distances learnable ho jaati hain.
Bounded Values: Saare components mein rehte hain.
Extrapolation: Training sequences se lambi positions ke liye bhi kaam karta hai (unlike learned positional embeddings jo max length par cap hoti hain).
Worked Example 1: 4-Dimensional Model ke liye PE Compute Karna
lo, compute karo.
Dimensions: (kyunki aur indices 0,1,2,3 cover karte hain).
Dimension 0 (i=0, even → sine):
Dimension 1 (i=0, odd → cosine):
Dimension 2 (i=1, even → sine):
Dimension 3 (i=1, odd → cosine):
Yeh steps kyun? Lower dimensions (0,1) rapidly oscillate karti hain (high ), exact position capture karti hain. Higher dimensions (2,3) slowly oscillate karti hain (low ), sequence mein coarse position capture karti hain.
Final:
Worked Example 2: Relative Position Linearity Demonstrate Karna
Dikhao ki , se linearly related hai dimension pair ke liye.
Dimension ke liye, lo. Hamare paas hai:
Position ke liye:
Angle addition use karke:
Yeh step kyun? Trig identity nayi position ko purani position ki encoding ke weighted sum mein convert karti hai. Weights aur sirf offset (1 step) par depend karte hain, absolute position par nahi.
Similarly cosine dimension ke liye:
Matrix form mein:
Yeh ek rotation matrix hai! +1 offset 2D representation ko angle se rotate karta hai. Model yeh transformation seekh sakta hai taaki relative positions par attend kiya ja sake.
Worked Example 3: Base 10000 Kyun?
Dimension ka wavelength hai:
ke liye:
- Dimension 0 (): (high frequency)
- Dimension 255 (): (low frequency)
(Note: thoda se kam hai, isliye maximum wavelength se thodi kam hai.)
Yeh range kyun?
- Short wavelengths () adjacent positions distinguish karte hain (har position alag dikhti hai)
- Long wavelengths () lambe documents mein global position encode karte hain (sequences ~10k tokens tak)
Geometric progression scales mein smooth coverage ensure karti hai—har dimension position ka ek specific "zoom level" handle karta hai.
Yeh step kyun? Bahut chhota base (jaise 100) → sabse lamba wavelength sirf ~628 positions → lambi sequences par fail. Bahut bada → spectrum bahut zyada stretch ho jaata hai, resolution waste hoti hai. Value fine local resolution aur long-range coverage ke beech balance banata hai.
Step 1: Tokens ko vectors mein embed karo (embedding table se):
- "The" →
- "cat" →
- "sat" →
Step 2: Positions 0,1,2 ke liye positional encodings compute karo ( use karke):
ke liye:
ke liye:
ke liye:
Step 3: Embeddings mein positional encodings add karo:
- "The" + =
- "cat" + =
- "sat" + =
Yeh position-aware embeddings pehle transformer layer mein jaati hain.
Yeh step kyun? Addition (concatenation nahi) dimensionality preserve karta hai aur model ko semantic content (embeddings) aur positional information (encodings) blend karne deta hai.
Kyun sahi lagta hai: Kyunki hum PE per position compute karte hain, aisa lagta hai jaise yeh token khud ko encode kar raha hai.
Fix: Positional encoding SIRF yeh encode karta hai ki token kahan hai, kya hai nahi. Token embedding meaning encode karta hai ("cat" vs "dog"). Inhe saath add kiya jaata hai:
Embedding ke bina, model ko bilkul nahi pata ki words ka matlab kya hai. PE ke bina, model ko bilkul nahi pata ki unka order kya hai.
Kyun sahi lagta hai: Concatenation information ko distinct rakhta hai: mein dono components intact hain.
Fix: Concatenation dimensionality double kar deta hai ( → ), compute cost badh jaata hai. Addition kaam karta hai kyunki:
- Embeddings aur PE same space mein rehte hain
- Self-attention learned projections ke zariye inhe disentangle karna seekhta hai
- PE values chhoti hoti hain (bounded in [-1,1]) embeddings ke comparison mein (larger variance se initialize ki gayi), isliye yeh "nudge" karti hain overwhelm nahi karti
Empirically, addition concatenation jitna hi kaam karta hai, aadhe parameters ke saath.
Kyun sahi lagta hai: Index , 0 se tak jaata hai, same jaise positions 0 se tak.
Fix: Har dimension ek frequency component encode karta hai jo SABHI positions par present hai. Dimension 0 har position par quickly oscillate karta hai (high frequency). Dimension 511 har position par slowly oscillate karta hai (low frequency). Ise Fourier transform ki tarah socho: low frequencies big picture capture karti hain, high frequencies details capture karti hain. Har position saari dimensions use karti hai.
Recall Ek 12-Saal ke Bacche ko Samjhao
Socho tum ek comic book padh rahe ho, lekin kisine saare panels kaat ke shuffle kar diye. Tum dekhoge Batman ek villain ko punch kar raha hai, phir villain crime plan kar raha hai, phir Batman aa raha hai—bilkul ulte order mein! Tumhe panels ko sahi order mein laane ke liye panel numbers (1, 2, 3...) chahiye.
Ek Transformer ek super-smart reader ki tarah hai jo saare panels ek saath dekhta hai. Lekin agar hum isse panels bina numbers ke dein, toh yeh story sahi se nahi bata sakta. Isliye hum har panel par ek secret code likhte hain jo kehta hai "yeh panel 3 hai" bina actually "3" likhe.
Yeh code waves ka pattern hai—jaise wiggly lines se bani fingerprint. Panel 1 ko ek fingerprint milti hai, panel 2 ko doosri, aur aise hi aage. Fingerprint ke kuch hisse fast wiggle karte hain (paas wale panels alag karne ke liye), aur kuch slow wiggle karte hain (yeh batane ke liye ki tum comic ki shuruaat mein ho ya ant mein). Hum yeh fingerprint har panel mein add karte hain, taaki Transformer order jaane jab tak saari pictures ek saath dekhe.
- Fixed (learned nahi)
- Addition to embeddings
- Sine on even, cosine on odd
- Ten-thousand base (10000)
Visual: Ek spiral notebook imagine karo jahan har coil (dimension) ki tightness alag hai—tight coils fine position ke liye, loose coils coarse position ke liye.
Connections
- Token Embeddings: PE inhe add hota hai taaki position-aware inputs bane
- Self-Attention Mechanism: PE attention ko "pichle word par attend karo" aur "agle word par attend karo" mein distinguish karne deta hai
- Multi-Head Attention: Alag-alag heads alag-alag relative position offsets par focus karna seekh sakte hain
- Learned Positional Embeddings: Sinusoidal ka alternative; learned lookup table (training sequence length tak limited)
- Relative Positional Encodings: Modern alternative (T5, Transformer-XL) jo directly attention mein relative distances encode karta hai
- Fourier Transform: Sinusoidal PE position ko frequency components mein decompose karta hai, frequency analysis se analogous
- Rotary Position Embeddings (RoPE): Modern variant jo embeddings mein add karne ki jagah attention space mein rotation apply karta hai
#flashcards/ai-ml