چیتشیت
سوگیری، عدالت و حریم خصوصی تفاضلی
Bias, Fairness and Differential Privacy
سنجش سوگیری، انتخاب معیار عدالت، آموزش با DP-SGD و ممیزی ادعای حریم خصوصی. نمونههای سبک با کتابخانه استاندارد پایتون.
فهرست مطالب
مقایسه سه دستهی عدالت در کنار هم
مقایسه| عامل | عدالت گروهی | عدالت فردی | عدالت پادواقعی |
|---|---|---|---|
| قاعده | نرخهای یکسان میان گروههای محافظتشده | تصمیمهای یکسان برای افراد مشابه | عدم تغییر تصمیم با تغییر ویژگیهای حساس |
| منبع | برابری آماری، برابری شانسها، CUAE | Dwork و همکاران 2012 | Kusner و همکاران 2017 |
| نیازمندیها | برچسبهای گروه و پیامدها | یک معیار تشابه d | یک DAG علی |
| آزمون صوری | نرخهای برابر برای هر گروه | ثابت لیپشیتز L | تغییر پادواقعی |
| نقطه ضعف | تعارض معیارها در صورت نابرابری نرخهای پایه | تعریف d یک تصمیم سیاستی است | اعتبار آن فقط به اندازه توجیه DAG است |
کاربرد هر معیار
نکتهها- استفاده از برابری آماری وقتی ادعا، برابری نرخ پذیرش است.
- استفاده از برابری شانسها وقتی ادعا، برابری TPR و FPR در تمام گروههاست.
- استفاده از برابری دقت استفادهی مشروط وقتی ادعا، برابری ارزش پیشبینیکنندگی است.
- استفاده از عدالت فردی وقتی میتوانید یک متریک d ویژهی وظیفه تعریف کنید.
- استفاده از عدالت پادواقعی وقتی یک DAG علی از جامعه آماری دارید.
- استفاده از پادواقعیهای پسگرد وقتی قانون مداخله در ویژگیهای محافظتشده را منع میکند.
فرمولها
مفهومها- برابری آماری
- برای تمام گروهها P(Y=1 | A=a) = P(Y=1 | A=a').
- برابری شانسها
- P(Y=1 | Y*=y, A=a) = P(Y=1 | Y*=y, A=a').
- برابری دقت استفادهی مشروط
- P(Y*=y | Y=y, A=a) = P(Y*=y | Y=y, A=a').
- عدالت فردی
- |f(x) - f(x')| <= L * d(x, x')
- (ε, δ)-DP
- $P(M(D) \in S) \le e^{\varepsilon} \cdot P(M(D') \in S) + \delta$
- عبارت WEAT
- s(w, X, Y) = mean cosine(w, X) - mean cosine(w, Y)
- اندازه اثر WEAT
- mean_a(s) - mean_b(s) روی گروههای هویتی.
دستورالعمل DP-SGD
گامبهگام- نمونهگیرنمونهگیری یک دستهی کوچک.
- آموزشدهندهمحاسبهی گرادیانها به ازای هر نمونه.
- برشدهنده (Clipper)برش گرادیان هر نمونه تا سقف آستانه C.
- نوفهجمع گرادیانهای برشخورده و افزودن نوفهی گوسی با انحراف معیار $\sigma \cdot C$.
- بهینهسازاستفاده از مجموع نوفهدار برای بهروزرسانی پارامترها.
- حسابداررهگیری هزینه حریم خصوصی با Moments Accountant یا Rényi DP accountant.
سوگیری در کجا سنجیده میشود
معماریآزمون ارزیابی ساده WEAT
کدpython
A = ["he", "his", "man"] # گروه هویتی A
B = ["she", "her", "woman"] # گروه هویتی B
X = ["engineer", "programmer", "scientist"] # فناوری / شغل
Y = ["nurse", "teacher", "caregiver"] # مراقبت / خانواده
pre = weat_score(A, B, X, Y) # مثبت: A نزدیکتر به X
EMB = debias(EMB) # حذف راستای جنسیت از تصویر بردار
gender_dir = [1.0, -1.0, 0.0, 0.0] # محور 1 منهای محور 0
post = weat_score(A, B, X, Y) # کاهش مییابد، اما صفر نمیشود
معیارهای گروهی و وزندهی مجدد DP
کدpython
train_data = gen(1000) # پایه A=0 برابر 0.3، پایه A=1 برابر 0.6
test_data = gen(500)
baseline = train(train_data) # تعداد گام 200، lr برابر 0.1
preds = predict(baseline, test_data) # (pred, label, group)
demographic_parity(preds) # rate0, rate1
equalized_odds(preds) # (TPR, FPR) به ازای هر گروه
conditional_use(preds) # (PPV, NPV) به ازای هر گروه
dp_reweighted = train(train_data, sample_weights=weights) # a=0 y=1: 2.0, a=1 y=1: 0.5
نمونه ساده DP-SGD
کدpython
grad_w = clip(grad_w, C) # مقیاسبندی به نرم C
grad_b = max(-C, min(C, grad_b)) # برش گرادیان بایاس
noise_b = random.gauss(0.0, sigma * C) # انحراف معیار نوفه sigma * C
b -= lr * (grad_b + noise_b) # بهروزرسانی نوفهدار به ازای هر نمونه
for sigma in (0.0, 0.5, 1.0, 2.0, 4.0): # پیمایش ضریب نوفه
model = dp_sgd(train_data, epochs=epochs, lr=0.05, sigma=sigma, C=C)
acc = accuracy(model, test_data)
eps = analytical_epsilon(max(sigma, 0.01), steps=epochs * len(train_data), delta=delta)
پیشفرضهای نمونه
پیشفرضها| تنظیم | پیشفرض | نکته |
|---|---|---|
Clip norm `C` | 1.0 | نمونه درس 22 |
delta | 1e-5 | پیشفرض analytical_epsilon |
epochs | 10 | نمونه DP-SGD، 500 ردیف آموزشی |
DP-SGD `lr` | 0.05 | ثابت در پیمایش |
sigma | 0.0 | SGD استاندارد، اپسیلون بینهایت |
Published ε | [1, 10] | صرفاً جهت نمایش، پیشفرض توصیه نمیشود |
Fairness `train` | steps: int = 200 | lr: float = 0.1 |
عیبیابی
عیبیابیاثر WEAT به صفر نمیرسد
- علت
- سوگیریزدایی اثر را کم میکند اما از بین نمیبرد
- راهحل
- افزودن معیارهای مبتنی بر احتمال و متن تولیدشده
تصویرسازیهای متنوع، تصمیمگیریهای نابرابر
- علت
- فقط آسیب بازنمایی سنجیده شده است
- راهحل
- آسیب تخصیصی را هم اندازه بگیرید
ارزیابی جنسیت قبول شد، سوگیری باقی ماند
- علت
- سوگیری روی جفتهای (جنسیت، نژاد) فعال میشود
- راهحل
- اجرای آزمونهای تقاطعی
شکاف DP کم میشود، EO و CUAE بدتر میشوند
- علت
- نرخهای پایه نابرابر
- راهحل
- معیار انتخابی را رسماً به عنوان سیاست اعلام کنید
MIA روی قناری نشت داده کمی نشان میدهد
- علت
- قناریها «بیشترین دادههای قابل استخراج» نیستند
- راهحل
- افزودن آزمونهای استخراج دادههای آموزشی
خروجیها امن است، هویت افراد بازشناسایی شد
- علت
- نمرات اطمینان نشت میکنند
- راهحل
- آنها را فاش نکنید، یا بُرش/کوانتایز کنید
فراخوانی کدهای نمونه
کار و کد| وظیفه | کد |
|---|---|
| امتیازدهی به یک آزمون ارزیابی WEAT | weat_score(<identity_a>, <identity_b>, ...) |
| تصویر کردن بردار خارج از راستای سوگیری | debias(<emb>) |
| آموزش با وزندهی مجدد | train(data, sample_weights=<w>) |
| برابری آماری به ازای هر گروه | demographic_parity(preds) |
| برابری شانسها به ازای هر گروه | equalized_odds(preds) |
| برش یک گرادیان | clip(<g>, <C>) |
| آموزش با DP-SGD | dp_sgd(data, epochs, lr, sigma, C) |
| اپسیلون برای یک اجرا | analytical_epsilon(sigma, steps) |
پرسشها
پرسش و پاسخ- آیا یک مدل میتواند هر سه معیار گروهی را برآورده کند؟
- خیر. نابرابری نرخهای پایه مانع آن میشود (Chouldechova, KMR 2017).
- چرا پادواقعیهای پسگرد؟
- چون آنها بر اساس ویژگیهای واقعی استدلال میکنند و در ویژگی حساس مداخلهای انجام نمیدهند.
- چرا MIA و آزمون استخراج همنظر نیستند؟
- آنها چیزهای متفاوتی را میسنجند: قناریهای درجشده در برابر «بیشترین دادههای قابل استخراج».
- ترکیب LoRA + DP-SGD از چه چیزی محافظت میکند؟
- از تطبیقدهنده. مدل پایه ثابت نگه داشته میشود.
- چرا عدم قطعیت در WinoIdentity مهم است؟
- خطای برابر با عدم قطعیت نابرابر همچنان تخصیص را تغییر میدهد.