Chapter 2 of 4
The mathematical guarantee that makes privacy provable
আগের অধ্যায়ে সমস্যাটা পরিষ্কার হলো — ML মডেল তার ট্রেইনিং ডেটা মনে রাখে, আর এই "স্মৃতি" বের করার জন্য attacker-দের কাছে কাজ করা technique আছে। এখন প্রশ্ন হলো: কোনো system কে কি আমরা গাণিতিকভাবে প্রমাণ করতে পারি যে এটা private? শুধু "মনে হচ্ছে নিরাপদ" না — সত্যিকারের, mathematical proof?
এটাই করে Differential Privacy। এটা privacy-র একটা formal mathematical definition, যেটা আজকের দিনে gold standard। Apple, Google, US Census Bureau, আর যেকোনো serious privacy-preserving ML system এটা ব্যবহার করে।
এই অধ্যায়ে আমরা সেই formal ভিত্তি তৈরি করব: Differential Privacy কী বলে, মূল parameter গুলো কী অর্থ বহন করে, এটা আসলে কী guarantee দেয় — আর কী দেয় না।
Differential Privacy (DP) হলো একটা mathematical guarantee — একটা randomized algorithm-এর behavior নিয়ে। সহজ ভাষায় বললে:
কোনো একজন মানুষের ডেটা থাকুক বা না থাকুক — algorithm-এর output প্রায় একই রকম দেখাবে।
এই কথাটা একটু ভেঙে বুঝি, কারণ প্রতিটা শব্দ গুরুত্বপূর্ণ।
"প্রায় একই রকম" — ঠিক একই না। DP কিছু randomness (noise) যোগ করে যাতে output distribution-টা একটু controlled পরিমাণে shift করতে পারে যখন একজনের data পাল্টায়। Adversary noisy output দেখে, raw computation দেখে না।
"একজন মানুষের ডেটা থাকুক বা না থাকুক" — এটাই privacy guarantee। Adversary যত কিছুই জানুক না কেন, output দেখে সে নিশ্চিতভাবে বলতে পারবে না Alice dataset-এ ছিল কিনা।
"Randomized algorithm" — DP সবসময় এমন algorithm-এর জন্য define করা হয় যেগুলো random output দেয়। Deterministic algorithm-এ DP হয় না — কারণ same input সবসময় same output দেয়, আর changed input সবসময় different output দেয়।
তুমি কোনো dataset-কে differentially private করো না। তুমি একটা algorithm — training procedure, query mechanism, model release process — কে differentially private করো। Algorithm-কেই analyze আর certify করা হয়।
ধরো একটা randomized algorithm (যাকে mechanism বলা হয়) যেটা dataset নিয়ে কিছু output দেয়। হলো -differentially private যদি, সব neighboring dataset pair আর -এর জন্য (যেগুলো ঠিক একটা record-এ আলাদা), আর সব possible output set -এর জন্য:
পড়ার উপায়: তে চালালে mechanism-এর output -এ পড়ার probability, তে চালালে সেটার গুণের চেয়ে বেশি হবে না — plus একটা ছোট slack ।
প্রথম দেখায় ভয় লাগতে পারে। এই অধ্যায়ে একটা একটা করে সব symbol পরিষ্কার হয়ে যাবে।
Privacy নিয়ে কথা বলার আগে, "দুটো dataset এক record-এ আলাদা" — এই কথাটার exact মানে ঠিক করতে হবে।
Neighboring dataset pair মানে দুটো dataset যেগুলো ঠিক একটা row-এ — একজন মানুষের record-এ — আলাদা। "আলাদা" মানে কী সেটার দুটো standard definition আছে, আর choice-টা গুরুত্বপূর্ণ:
Bounded DP (substitute model): পাওয়া যায় থেকে একজনের record replace করে। দুটো dataset-এর size same। এটা model করে: "এই মানুষের আসল data ব্যবহার হয়েছিল, নাকি কোনো default দিয়ে replace হয়েছিল?"
Unbounded DP (add/remove model): পাওয়া যায় থেকে একজনের record যোগ করে বা বাদ দিয়ে। আর -এর পার্থক্য 1। এটা model করে: "এই মানুষ dataset-এ ছিলই কি না?"
| Model | কী পাল্টায়? | Dataset-এর size | সাধারণ ব্যবহার |
|---|---|---|---|
| Bounded (substitute) | একটা row swap হয় | একই | Statistical query settings |
| Unbounded (add/remove) | একটা row যোগ বা বাদ | 1 এর পার্থক্য | বেশিরভাগ ML privacy paper, DP-SGD |
ML context-এ unbounded model (add/remove) সবচেয়ে common, কারণ এটা সরাসরি সেই প্রশ্নের উত্তর দেয় যেটা আমরা সবচেয়ে বেশি care করি: এই মানুষ কি training set-এ ছিলই? Membership inference attack ঠিক এই প্রশ্নটার উত্তর খোঁজে — আর add/remove definition দিয়ে DP সেটাকে formally বন্ধ করে।
ধরো তুমি bounded model দিয়ে DP prove করলে, কিন্তু attacker জিজ্ঞেস করছে "এই মানুষ dataset-এ ছিল কিনা" — এটা unbounded-style প্রশ্ন। তোমার prove করা DP certificate সেই attacker-এর actual goal-এ কাজ নাও করতে পারে। সবসময় check করো neighborhood definition তোমার privacy goal-এর সাথে মিলছে কিনা।
(epsilon) হলো privacy budget — মূল parameter যেটা control করে adversary mechanism-এর output দেখে কতটা information পেতে পারে।
আবার inequality-তে তাকাই: ।
Neighboring dataset-এ output probability-র ratio bounded by । যখন , — আর -এ output distribution identically same। Perfect privacy, কিন্তু সম্পূর্ণ useless (infinite noise লাগবে)। বাড়লে algorithm neighboring dataset-এ আরও আলাদা output দিতে পারে — বেশি utility, কম privacy।
সহজ ভাষায়: দুটো probability-র log-ratio bounded by । ছোট মানে distribution গুলো বেশি similar — distinguish করা কঠিন — privacy শক্তিশালী।
| ε মান | Practical অর্থ | সাধারণ ব্যবহার |
|---|---|---|
| ε < 0.1 | অনেক strong privacy — বেশি noise, utility অনেক কম | High-stakes medical/census data |
| ε ≈ 1 | Strong privacy — মাঝারি noise, মাঝারি utility | Research benchmark হিসেবে common |
| ε ≈ 3–8 | মাঝারি privacy — কম noise, ভালো utility | Industrial deployment (Apple, Google ε ≈ 8 পর্যন্ত) |
| ε > 10 | দুর্বল privacy — baseline-এর বাইরে তেমন protection নেই | সাধারণত meaningful DP হিসেবে ধরা হয় না |
একটা useful interpretation: হলে, output দেখে adversary Alice-এর membership নিয়ে তার belief সর্বোচ্চ 3 গুণ update করতে পারবে। হলে সেই factor হবে 10। হলে output কিছুই reveal করে না।
Privacy "on" বা "off" না। প্রতিটা query, প্রতিটা model release, প্রতিটা statistic publish কিছু ε খরচ করে। এই খরচ compose হয়। দুটো ε-DP mechanism পরপর চালালে মোট খরচ সর্বোচ্চ 2ε। তাই ε-কে "budget" হিসেবে ভাবাটা useful — তুমি track করতে পারছ কত খরচ হলো।
Common ভুল: failure-এর probability না। " মানে adversary-র 1/e সম্ভাবনায় success" — এটা ভুল। এটা probability-র ratio-কে bound করে — distribution নিয়ে multiplicative statement, কোনো bad event-এর probability না।
(delta) হলো failure probability — DP guarantee-তে একটা ছোট additive slack। এটা represent করে সেই probability যেখানে ε-level protection সম্পূর্ণভাবে ভেঙে পড়তে পারে।
Definition আবার দেখি: ।
ছাড়া (অর্থাৎ ): pure differential privacy — guarantee একদম absolute, সব possible output আর সব neighboring dataset pair-এর জন্য। সবচেয়ে শক্তিশালী form।
থাকলে: approximate differential privacy — guarantee probability-তে holds। probability-তে mechanism সম্পূর্ণ fail করতে পারে — Alice-এর data সরাসরি reveal হয়ে যেতে পারে।
Pure DP হলো approximate DP-র special case যেখানে । সব pure -DP mechanism -DP।
Pure DP theoretically সুন্দর, কিন্তু practically সীমাবদ্ধ। অনেক useful mechanism — যেমন Gaussian noise যোগ করা — শুধু approximate DP satisfy করে, pure DP না। Gaussian mechanism, যেটা neural network-এর private training-এর standard algorithm DP-SGD-এর ভিত্তি, সেটা -DP satisfy করে কিন্তু -DP না।
তাই একটা pragmatic relaxation: catastrophic failure-এর tiny probability accept করে বিনিময়ে normal case-এ অনেক ভালো utility পাওয়া যায়।
Convention হলো -এর চেয়ে অনেক ছোট হওয়া উচিত, যেখানে dataset-এর size। Intuition: হলে, probability-তে mechanism কারো data expose করতে পারে, আর জন মানুষ থাকায় expected exposed সংখ্যা 1-এর বেশি হতে পারে। বা ছোট রাখলে failure probability population size-এর তুলনায় negligible হয়।
ε আর δ আলাদা role পালন করে। ε bound করে output distribution neighboring dataset-এ কতটা shift করতে পারে — এটা সবসময় "active"। δ হলো সেই probability যে guarantee-টা আদৌ কাজ করছে — এটা catastrophic failure-এর probability। বড় δ (ধরো δ = 0.1) মানে 10% chance যে কোনো privacy protection নেই। এটা reasonable tradeoff না।
দুটো parameter এখন পরিষ্কার। এবার পুরো ছবিটা একসাথে দেখি: -DP আসলে adversary-কে কী guarantee দেয়?
ধরো হলো -DP, আর adversary output দেখতে পাচ্ছে। Adversary algorithm সম্পর্কে সব জানে, population সম্পর্কেও সব জানে — কিন্তু Alice-এর record -এ ছিল কিনা জানে না।
Adversary Alice-এর membership নিয়ে কী infer করতে পারবে?
দেখার আগে: Adversary-র কিছু prior belief আছে যে Alice dataset-এ ছিল।
দেখার পরে: Adversary Bayes' rule দিয়ে belief update করতে পারে। DP guarantee বলে তার posterior bounded। probability-তে, দেখে adversary-র belief সর্বোচ্চ multiplicative factor-এ shift করতে পারে।
সহজ ভাষায়: DP সীমাবদ্ধ করে output দেখে adversary Alice-এর membership নিয়ে কতটা belief update করতে পারবে। Odds ratio সর্বোচ্চ ফ্যাক্টরে shift করতে পারে (plus failure probability)।
এটাই DP-কে remarkable করে তোলে: guarantee টা hold করে adversary-র computational power, background knowledge, বা কতটা output দেখেছে — সব কিছু নির্বিশেষে। "আমরা assume করছি attacker X জানে না" — এরকম কোনো caveat নেই। যেকোনো adversary-র বিরুদ্ধে guarantee কাজ করে।
Heuristic defense-এর সাথে তুলনা করো — output perturbation বা anonymization। সেগুলোতে implicit assumption থাকে attacker সম্পর্কে: "মনে করছি attacker-এর কাছে side information নেই," বা "ধরছি attacker polynomially কম query করবে।" DP-তে এরকম কোনো assumption নেই।
DP প্রতিরোধ করে যে mechanism-এর output individual সম্পর্কে information source হোক। এটা অন্য ধরনের leakage prevent করে না — যেমন Alice-এর data অন্য channel দিয়ে leak হলে, বা press release-এ Alice-এর study participation publicly জানানো হলে। DP শুধু mechanism যা reveal করে সেটা cover করে।
DP-র একটা সবচেয়ে useful property: যদি -DP হয়, তাহলে যেকোনো function -এর জন্য composed mechanism ও -DP। DP mechanism-এর output আরও process করলে তার privacy guarantee দুর্বল হয় না।
মানে হলো: তোমার model DP guarantee নিয়ে release করা হয়ে গেলে, model-এ আরও computation — fine-tuning, prediction, distillation — করলেও privacy guarantee কমে না। DP certificate টা preserved থাকে।
এতক্ষণ DP কী protect করে সেটা জানলাম। এখন কঠিন প্রশ্ন: DP-র cost কী?
উত্তর হলো: utility। Differential privacy achieve করতে হলে তোমাকে algorithm-এর output-এ noise যোগ করতে হবে। Noise মানে output কম accurate, কম useful, কম informative। বেশি privacy চাইলে (ছোট ε) বেশি noise লাগে, বেশি utility যায়।
এটাই privacy–utility tradeoff, আর এটা DP design-এর bug না — এটা information theory-র fundamental, unavoidable consequence।
বেশি Noise
Output-এ বড় noise যোগ করো। ছোট ε, শক্তিশালী DP guarantee। Adversary D আর D'-এ প্রায় identical distribution দেখে।
কম Utility
Noisy output কম accurate। Statistics biased। ML model ধীরে শেখে। Downstream decision নোংরা হয়।
ছোট ε
Tradeoff টা ε দিয়ে parametrize। ছোট ε = বেশি noise = কম utility = শক্তিশালী privacy। কোনো free lunch নেই।
একটা information-theoretic argument। ধরো তুমি একটা dataset-এর গড় উচ্চতা publish করতে চাও, আর এটা ε-DP হওয়া চাই। Average-এর sensitivity (একজন মানুষ কতটা পাল্টাতে পারে) depend করে উচ্চতার range-এর উপর। একজনের contribution mask করতে noise দরকার যার standard deviation scale-এ grow করে। ε 10 গুণ ছোট করলে 10 গুণ বেশি noise লাগবে — আর published average 10 গুণ কম useful হবে।
ML model-এ এটা play out করে training-এ। DP-SGD (standard DP training algorithm) প্রতি training step-এ gradient-এ noise যোগ করে। এই noise:
এই code simplified। মূল কথা: privacy gradient quality-কে cost করে, আর gradient quality model performance চালায়।
"সঠিক ε কত?" — এর universal উত্তর নেই। Application, dataset size, data-র sensitivity, আর regulatory environment-এর উপর নির্ভর করে।
| Factor | Viable ε-এ effect |
|---|---|
| বড় dataset (n) | ছোট ε সম্ভব — বেশি data noise-এর effect dilute করে |
| কম sensitive data | বড় ε acceptable হতে পারে — প্রতি record-এ কম stake |
| High-stakes context (medical, legal) | ছোট ε দরকার — regulatory আর ethical pressure |
| High model accuracy দরকার | বড় ε লাগবে — noise budget tight |
| অনেক release operation | প্রতি release-এ ছোট ε দরকার — budget compose হয় |
একটা important asymmetry: DP-র utility loss সাধারণত extremes-এ অনেক বেশি খারাপ। ε = 10 থেকে ε = 5 যেতে প্রায় কোনো utility হারাতে নাও পারো (noise আগেই ছোট ছিল)। ε = 1 থেকে ε = 0.5 যেতে model useless হয়ে যেতে পারে। এই non-linearity মানে: tradeoff curve-এর middle-টাই interesting — যেখানে ε-র সামান্য change utility-তে dramatic effect ফেলতে পারে।
ε probability না, probability bound-ও না। এটা দুটো neighboring dataset-এ output distribution-এর maximum probability ratio-র natural log। "ε = 0.5 মানে 50% chance privacy fail করবে" — এটা ভুল।
প্রতিটা query, প্রতিটা model release, প্রতিটা published statistic কিছু ε খরচ করে। প্রতিটা operation independent ভেবে treat করলে total privacy loss underestimate হবে। DP composition theorem বলে budget কীভাবে accumulate হয় — সবসময় total spending track করো।
Common shortcut: "δ tiny, so it doesn't matter।" কিন্তু δ হলো catastrophic privacy failure-এর probability — ছোট accuracy penalty না। δ = 10⁻⁵ আর dataset-এ 10⁵ মানুষ থাকলে, expected fully exposed records সংখ্যা 1। এটা negligible না।
এখন আমাদের কাছে differential privacy-র formal language আছে: definition, দুটো parameter, guarantee কী মানে, আর কেন utility cost হয়। কিন্তু এতক্ষণ সব abstract। স্বাভাবিক পরের প্রশ্ন: differentially private mechanism আসলে কীভাবে তৈরি করো?
উত্তর শুরু হয় sensitivity ধারণা দিয়ে — একটা query বা gradient একজনের data পাল্টালে কতটা change করতে পারে। সেখান থেকে দুটো fundamental noise mechanism: pure DP-র জন্য Laplace noise, আর approximate DP-র জন্য Gaussian noise। এই tool গুলো, plus composition theorem যেটা multiple operation জুড়ে ε budget track করতে দেয় — এগুলো মিলে private system তৈরির complete toolkit। সেখানেই আমরা পরে যাচ্ছি।