6.4.11 · D1 · AI-ML › AI Safety & Alignment › Data poisoning and backdoor attacks
Ek machine-learning model bas ek aisi machine hai jo un examples se patterns copy karti hai jo usse dikhaye jaate hain . Data poisoning aur backdoor attacks isliye kaam karte hain kyunki agar tum us pile mein bure examples chupaa do, to machine us bure pattern ko bhi faithfully copy kar leti hai — kabhi kabhi sirf tab jab ek secret "trigger" present ho.
Is page par assume kiya gaya hai ki tumne parent note ki koi bhi notation pehle nahi dekhi . Hum har symbol ko ek picture se build karenge, tab formula mein use karenge. Upar se neeche padho — har idea uske upar wale idea pe lean karta hai.
Sab kuch ek single training example se shuru hota hai. Ek example ek sawaal aur uska jawaab ek saath jodd ke hota hai.
x (bold x)
x wo cheez hai jo model dekhta hai — "sawaal". Ek image ke liye yeh pixel brightnesses ka grid hai; ek email ke liye yeh words ki list hai. Hum isse bold likhte hain taaki yaad rahe ki yeh bahut saare numbers ki list hai, na ki ek single number.
y
y us input ka sahi jawaab hai — "answer key". Ek stop-sign image ke liye, y = "stop" . Yeh plain (bold nahi) hai kyunki yeh aam taur par sirf ek value hoti hai (ek category).
Picture dekho: input numbers ka ek bag hai, label usse chipka hua tag hai.
Intuition Is topic ko yeh kyun chahiye
Ek poisoning attack bas itna hi hai — input par galat tag staple karna (y wrong ), ya input ke saath chhedchaad karna (x + δ ). Agar tumne pehle yeh nahi samjha ki honest pair ( x , y ) kya hai, to tum nahi dekh sakte ki attacker ne kya badla.
Bold ka matlab hai "vector" ::: numbers ki ek list (saare pixels / features), ek number nahi
y ko kehte hain ::: label, wo sahi jawaab jo model ko produce karna sikhna chahiye
Ek example kaafi nahi hota. Model poori pile se seekhta hai.
i
x i mein chhota i bas ek name tag / counter hai: "example number i ". Toh x 1 pehla input hai, x 2 doosra, aur x i generally "i -vaan wala" hai.
x i matlab x ko power i tak raise kiya"
Kyun sahi lagta hai: zyaadatar chhhote raised-looking symbols powers hote hain.
Kyun galat hai: yeh i ek subscript hai (line ke neeche), ek counter, na ki exponent (line ke upar). x i matlab hai "i -vaan example", kuch multiply nahi ho raha.
n count karta hai ::: training examples ki total sankhya
i ek ::: counter / index hai jo ek particular example ko naam deta hai
Ab wo machine jo input leti hai aur jawaab guess karti hai.
f
f ek machine hai: tum ek taraf input x daalte ho, doosri taraf se guess nikalti hai. Hum guess ko f ( x ) likhte hain — "f of x ", matlab "machine ko x par chalao".
θ (theta)
θ machine ke andar adjustable knobs ka bag hai — lakho numbers (jinhein weights kehte hain). Knobs ghumaane se machine ki guess badal jaati hai. Hum f θ likhte hain (theta as subscript) — "machine is particular knob-setting ke saath ".
θ kyun chahiye
Training = knob values θ choose karna. Ek attacker box kholke seedha knobs nahi ghuma sakta (zyaadatar). Iske bajay wo un examples ko badalta hai jinhein machine copy karti hai, aur training process knobs uske liye ghumaata hai. Toh θ hi wo cheez hai jo poisoned ho jaati hai. Parent note mein θ ∗ (theta-star) bas matlab hai training khatam hone ke baad final knob setting .
θ (theta) represent karta hai ::: model ke andar saare tunable numbers (weights)
f θ ( x ) ka matlab hai ::: model chalao, knobs θ par set hokar, input x par
θ ∗ mein star ka matlab hai ::: training ke baad mile best / final knob values
Knobs sensibly ghumaane ke liye machine ko apni galtiyon ka score chahiye .
ℓ (script-ell)
ℓ ( guess , truth ) ek wrongness meter hai. Isme model ki guess f θ ( x i ) aur sahi label y i daalo; yeh ek number return karta hai. Bada number = bahut galat. Zero = perfect.
Meter dekho: jab guess truth se milti hai to needle 0 par hoti hai; jitni door hogi utna zyaada upar jaayegi.
Intuition Ek single number kyun chahiye
Tum kisi cheez ko "improve" nahi kar sakte agar tum usse measure nahi kar sakte. Loss "yeh guess kitni buri thi" ko ek number mein squeeze karta hai taaki training process jaane ki knobs kis taraf ghumaane hain. Attackers exactly isi ko exploit karte hain: wo meter ko jhooth khilaate hain , toh "wrongness minimize karna" secretly matlab hota hai "attacker ka rule seekhna".
Loss ℓ output karta hai ::: ek single number: ek guess kitni galat thi (0 = perfect)
Wrongness meter kaun sa symbol hai — f , θ , ya ℓ ? ::: ℓ (script-ell)
Ek example ki wrongness kaafi nahi; hum chahte hain machine average mein acchi ho.
Isko ek piece ek baar , left se right padhte hain:
L ( θ ) — ek capital script-L: poori pile ki total wrongness, knob setting θ ka function. (Note: chhota ℓ = ek example, bada L = poori pile.)
i = 1 ∑ n — sum sign (Greek capital sigma). Matlab hai "daayein taraf ki cheez jodo, ek baar har i ke liye 1 se n tak." Sum kyun? kyunki hum saare examples ki wrongness chahte hain, sirf ek ki nahi.
ℓ ( f θ ( x i ) , y i ) — example i par wrongness (Section 4 se).
n 1 — count se divide karo. Kyun? total ko average mein badalna, taaki 10 ki pile aur ek million ki pile comparable hon.
L ( θ ) minimize karna
"Learning" matlab hai: wo knob setting θ dhundho jo L ( θ ) ko jitna ho sake chhota kare. Hum likhte hain θ ∗ = arg min θ L ( θ ) — "θ ∗ wo θ hai jo sabse chhota L deta hai." arg min literally matlab hai "wo argument (input) jo minimize karta hai", yaani kaunsa θ jeetega, na ki jeetnay wala score khud.
Intuition Attacker ko kyun parwah hai
Attacker ka har poisoned example us sum ke andar ek aur term ban jaata hai. Kaafi poisoned terms daalo aur wo θ jo average minimize karta hai ek poisoned θ hoga. Poora attack is sum par arithmetic hai.
∑ (sigma) tumhe bolta hai ::: daayein taraf ki term ko jodo, ek baar har index value ke liye
n se divide kyun karte hain? ::: total wrongness ko average wrongness mein badalne ke liye
arg min θ return karta hai ::: wo θ ki value jo expression ko sabse chhota banati hai
Parent note inputs ke saath chhedchaad karta hai: x p = x + δ , with ∥ δ ∥ 2 < ϵ . Do naye symbols.
δ (delta)
δ ek chhota nudge hai jo input ke har pixel mein add hota hai — noise ki ek whisper. x + δ woh input hai jisme woh whisper add ho gayi. Agar δ chhota hai, to human aankhein x aur x + δ mein farq nahi kar sakti.
∥ δ ∥ 2 aur bound ϵ
∥ δ ∥ 2 (padho "delta ki 2-norm ") measure karta hai nudge overall kitna bada hai — uski length, har pixel-change ko square karke, add karke, aur square root lekar:
∥ δ ∥ 2 = δ 1 2 + δ 2 2 + ⋯
ϵ (epsilon) ek chhota budget hai. Rule ∥ δ ∥ 2 < ϵ kehta hai "nudge ϵ se chhota rehna chahiye" — yaani invisible rehna chahiye .
Intuition "Opposite over adjacent"-style
why-this-tool
Size ko squares-ki-square-root se kyun measure karein, na ki "sabse bada single pixel" se? Kyunki ek stealthy attack bahut saare pixels mein thodi thodi change failaata hai; 2-norm un saari chhoti chhoti changes ko ek honest total length mein jodta hai, taaki hum puri disturbance ko ek single number ϵ se cap kar sakein. Yahi woh "isse imperceptible rakho" wala knob hai jo attacker ghumaata hai.
δ hai ::: input mein add kiya ek chhota nudge jo use thoda badal deta hai
∥ δ ∥ 2 < ϵ matlab hai ::: nudge ki total size ek tiny budget ke andar rehti hai (invisible rehti hai)
Backdoor part ko ek aur cheez chahiye: trigger .
X (script-X)
X saare possible inputs ka set hai — "un saari images ki duniya jo model kabhi bhi dekh sakta hai". x ∈ X likhna matlab hai "x us duniya ka ek member hai" (∈ = "is mein hai").
Definition Trigger function
t : X → X
t ek stamping machine hai: koi bhi input do, woh wohi input return karta hai jisme secret pattern stamp ho (jaise ek white square corner mein). Arrow X → X padho "duniya X se ek input leta hai aur duniya X mein ek aur input deta hai" — image in, stamped image out.
x triggered = t ( x )
t aur t ek hi cheez hain"
Kyun sahi lagta hai: ek hi letter hai, aur dono trigger ke baare mein hain.
Kyun galat hai: yeh do alag objects hain aur note inhe jaanboojhkar alag rakhta hai:
t (plain) stamping machine hai — ek function t : X → X jo stamping karta hai. Isko hamesha input ke saath likho: t ( x ) .
t (bold) trigger pattern khud hai — ek picture/vector (jaise actual white square), x jaisa hi object.
Rule of thumb: plain t = ek verb (ek action), bold t = ek noun (ek picture). Patch trigger machine t use karta hai; blended trigger (Section 8) picture t mix karta hai.
Intuition Ek alag function kyun
t ko naam dekar, parent note poisoning recipe saaf likh sakta hai: honest pair ( x i , y i ) lo, input stamp karo aur label swap karo taaki ( t ( x i ) , y target ) bane. Woh ek hi line hai ek backdoor attack — ab usmein har symbol ke peeche ek picture hai. (y target aage define hoga.)
X (script-X) hai ::: un saare possible inputs ka set jo model dekh sakta hai
Plain t ( x ) produce karta hai ::: input jisme secret trigger pattern stamp ho (ek function/action)
Bold t hai ::: trigger pattern khud — ek picture/vector, x jaisa
"t : X → X " mein A → B matlab hai ::: type A ki kuch cheez leta hai, type B ki kuch cheez return karta hai
Teen aakhri pieces: wo label jo attacker chahta hai, "count of" ka symbol, aur unse bane fractions.
y target
y target wo jawaab hai jo attacker chahta hai ki model de jab trigger present ho — wo galat class jahan backdoor point karta hai (jaise y target = "green light" ). Yeh ek label hai, exactly wahi type ka object jaise Section 1 se honest y ; subscript "target" bas kehta hai "yeh attacker ka chosen wala hai", sach wala nahi.
#
# padho "kitne " (ek tally / head-count). Toh "# clean inputs " matlab hai "kitne clean inputs hain", ek plain whole number jaise 100 . Yeh inputs par koi maths operation nahi hai — yeh bas count karta hai.
Ab do rates, dono 0 aur 1 ke beech fractions (zyaadatar percent mein dikhaye jaate hain):
α (alpha)
Blended trigger x poison = ( 1 − α ) x + α t mein, number α (0 aur 1 ke beech) original picture x aur trigger picture t (bold — Section 7 wala pattern, na ki function t ) ke beech ek mixing dial hai: α = 0 matlab "pure original", α = 1 matlab "pure trigger". Chhota α ≈ 0.1 matlab "mostly original, trigger ki ek faint ghost" — stealthy.
Common mistake "High ASR ka matlab low clean accuracy hona chahiye"
Kyun sahi lagta hai: agar model ne galat rule seekha, to surely woh worse ho gaya.
Kyun galat hai: trigger sirf tab fire karta hai jab stamp ho. Clean inputs par model normally behave karta hai, toh clean accuracy high rehti hai usi waqt jab ASR bhi high ho. Yahi double life hai jo backdoors ko pakadna mushkil banati hai.
y target hai ::: wo galat label jo attacker trigger present hone par chahta hai
Symbol # matlab hai ::: "kitne" — ek plain count / tally
ASR measure karta hai ::: un triggered inputs ka fraction jo attacker ke target class y target par jaate hain
Blended trigger mein α ≈ 0.1 matlab hai ::: trigger picture t faintly mix ho raha hai (mostly original image)
Loss l measures one wrong guess
Empirical risk L averages loss over pile
Training picks theta that minimises L
Perturbation delta and budget epsilon
Data Poisoning and Backdoor Attacks
Trigger function t on input space X
H ke left mein jo kuch bhi hai wo solid hona chahiye tab hi parent note samajh mein aayegi. Topic phir Robust Machine Learning , Certified Defenses , aur defence ideas jaise Differential Privacy , Explainable AI , AI Red Teaming , Federated Learning Security , aur Model Provenance and Supply Chain mein aage jaata hai.
Daayein side cover karo aur khud test karo. Agar koi bhi jawaab fuzzy lage, parent note kholne se pehle woh section dobara padho.
Ek training example likha jaata hai ::: pair ( x , y ) ke roop mein — input aur uska sahi label
Bold x signal karta hai ::: ek vector — numbers ki poori list (saare features/pixels)
x i mein subscript ::: ek counter hai jo i -vaana example naam deta hai (power nahi)
n hai ::: training set mein kitne examples hain
f θ hai ::: model (machine) jiske knobs θ values par set hain
θ (theta) hai ::: model ke andar tunable weights ka bag
θ ∗ hai ::: training khatam hone ke baad final knob values
ℓ (chhota ell) hai ::: loss — ek guess ki wrongness (0 = perfect)
L ( θ ) (bada L) hai ::: poori training pile par average loss
∑ i = 1 n tumhe bolta hai ::: term ko ek baar har i ke liye 1 se n tak jodo
Risk mein n 1 ::: total ko average mein badalta hai
arg min θ return karta hai ::: θ ki woh value jo expression ko sabse chhota banati hai
δ (delta) hai ::: ek input mein add kiya ek chhota nudge
∥ δ ∥ 2 < ϵ matlab hai ::: nudge ki total length ek tiny budget ke andar rehti hai (invisible)
X (script-X) hai ::: saare possible inputs ka set
Plain t ( x ) hai ::: input jisme secret trigger stamp ho (ek function/action)
Bold t hai ::: trigger pattern khud, x jaisa ek picture/vector
y target hai ::: wo galat label jo attacker trigger fire hone par chahta hai
Symbol # matlab hai ::: "kitne" — ek plain count
ASR hai ::: un triggered inputs ka fraction jo attacker ke target class par jaate hain
Blended trigger mein α hai ::: mixing dial (0 = sirf original, 1 = sirf trigger)