"Neighboring" ki do standard definitions hain, aur ye sensitivity ko 2 ke factor se change kar deti hain:
Add/Remove definition: D2 woh D1 hai jisme ek record add ya remove kiya gaya ho. ∣D1∣=∣D2∣.
Replace-one definition: D2 woh D1 hai jisme ek record replace kiya gaya ho kisi aur se. ∣D1∣=∣D2∣.
Example (add/remove):
D1={x1,x2,…,xn}
D2={x1,x2,…,xn,xn+1} (ek extra person)
Ye kyun matter karta hai: Add/remove ke under, ek summed query zyada se zyada ek record ke contribution se change hoti hai. Replace-one ke under, ye do records ke worth se change ho sakti hai (old remove + new add), jo sensitivity double kar deta hai. Hum clearly batate hain ki hum neeche har derivation mein kaunsi definition use kar rahe hain.
Step 2: Exponential bound kyun?
Probabilities ka ratio lo:
Pr[M(D2)∈S]Pr[M(D1)∈S]≤eε
Ye form kyun? Exponential, ε ko composition ke under additive banata hai (hum dekhenge ki ye kyun matter karta hai). Chhote ε ke liye, eε≈1+ε, matlab probabilities "close" hain.
Step 3: "Mechanism" kya hota hai?
Ek mechanism M koi bhi aisa algorithm hai jo data leta hai aur output produce karta hai. ML ke liye:
Gradients compute karna
Model parameters release karna
Data statistics ke baare mein queries answer karna
Guarantee: Unlimited computational power wala adversary, M(D) dekhke, confidently determine nahi kar sakta ki koi specific individual D mein hai ya nahi.
Ye step kyun? Laplace distribution ke exponential tails bilkul wohi bound create karte hain jo humein chahiye. Gaussian noise pure DP satisfy nahi karta (though approximate DP satisfy karta hai).
Problem: Har gradient ∇ℓ(θ,xi) individual xi ke baare mein unbounded information contain kar sakta hai.
DP-SGD Fix (Abadi et al., 2016):
Har gradient clip karo: gˉi=gi/max(1,∥gi∥2/C)
Kyun? Har per-example gradient norm ko C tak bound karta hai. Add/remove neighboring definition ke under, clipped gradient ko sum∑igˉi se remove karne par woh at most C change hota hai, isliye summed gradient ki sensitivity Δ=C hai. (Replace-one definition ke under ye 2C hoti, kyunki aap norm ≤C wala ek contribution remove karte ho aur ek add karte ho.) Hum throughout add/remove use karte hain.
Gaussian noise add karo: Summed clipped gradient ∑igˉi mein noise add karo jiska standard deviation sensitivity C ke proportional ho:
g~=B1(∑i=1Bgˉi+N(0,σ2C2I))
Bahar 1/B kyun? Noise sum ki sensitivity (∼σC) ke hisaab se calibrate hota hai, phir poora sum (signal + noise) 1/B se average hota hai. Equivalently, averaged gradient mein add hone wale noise ka standard deviation per coordinate σC/B hai. Dono statements same mechanism describe karte hain; noise sum ki sensitivity C ke liye scale hota hai averaging se pehle.
Gaussian kyun? Hum (ε, δ)-DP (approximate DP) use karte hain jahan chhota failure probability δ acceptable hai.
Update: θt+1=θt−ηg~
Privacy accounting: Poisson subsampling rate q=B/N ke saath T steps ke baad, privacy degrade hoti hai. Subsampled Gaussian mechanism ke liye moments accountant / advanced-composition bound hai:
ε(T)≈q2Tln(1/δ)/σ
Ye scaling kyun? Privacy loss T ke roop mein accumulate hoti hai (linearly nahi!) advanced composition ki wajah se, aur subsampling se q=B/N factor ke through amplify hoti hai: ek individual sirf q fraction of steps mein appear karta hai. Dhyan do ki sensitivity C aur batch size B yahan alag-alag appear nahi karte — ye noise multiplier σ mein absorb ho jaate hain (noise std ka sensitivity se ratio), jo actually privacy control karta hai.
Low ε (strong privacy): Bada noise chahiye → poor model accuracy
High ε (weak privacy): Kam noise → better accuracy lekin zyada leakage
Practical values:
ε < 1: Strong privacy, significant utility loss
ε = 1-10: Moderate privacy, acceptable utility
ε > 10: Weak privacy, minimal utility impact
Free lunch kyun nahi? Information-theoretically, learning ke liye data se signal extract karna zaroori hai. Privacy ke liye individual contributions chhupana zaroori hai. Ye goals conflict karte hain.