پاسخ کوتاه: برای ارزیابی سوگیری و انصاف در AI، از جملهٔ «مدل عادلانه است» شروع نکنید. ابتدا تصمیم، افراد متاثر، Benefit/Burden و Harm را تعریف کنید؛ سپس Population، Group، Label، Policy و Outcome را نسخه‌دار سازید؛ Metric و Threshold را بر اساس یک Fairness Question صریح انتخاب کنید؛ عدم‌قطعیت و ناسازگاری معیارها را نشان دهید؛ و در پایان فقط یک Fairness Evaluation Claim محدود به سیستم، نسخه، جمعیت، بازه و شواهد بسازید. اختلاف آماری به‌تنهایی تبعیض یا Harm را اثبات نمی‌کند و برابری یک Metric نیز عدالت را ثابت نمی‌کند.

این راهنما دربارهٔ ادعای قابل ممیزی است، نه وعدهٔ «AI بدون Bias». مثال‌ها ساختگی، آفلاین و بدون دادهٔ شخص واقعی‌اند. نتیجهٔ حقوقی یا اخلاقی باید توسط صاحبان اختیار و متخصصان واجد صلاحیت، با مشارکت افراد متاثر و در Context واقعی بررسی شود.

مالکیت این مقاله: Fairness Evaluation Claim

برای تست کل زنجیرهٔ Data/Model/Serving/Production به راهنمای تست سیستم‌های AI/ML بروید. برای تصمیم اخلاقی گسترده‌تر دربارهٔ Harm، Power، Appeal و Remedy، تست اخلاقی هوش مصنوعی مالک موضوع است. این مقاله در لایهٔ باریک‌تری می‌ماند: چگونه Claim انصاف را به Construct، Population، Metric، Threshold، Evidence، Uncertainty و Limitation متصل کنیم.

Bias، Fairness، Discrimination و Harm یکی نیستند

مفهومپرسشمرز
Biasچه گرایش یا انحرافی در سیستم/داده/فرایند وجود دارد؟همهٔ Biasها لزوماً زیان‌بار نیستند
Statistical disparityکدام نرخ/توزیع میان Groupها متفاوت است؟توصیف است، نه علت یا حکم اخلاقی
Fairnessبرای این تصمیم، Benefit و Burden چگونه باید توزیع شوند؟یک Construct هنجاری و Context-dependent است
Discriminationرفتار/اثر تحت قانون یا سیاست مربوط چگونه ارزیابی می‌شود؟نیازمند Applicability و تحلیل حقوقی جداست
Harmچه کسی، چگونه، با چه شدت/دوام/امکان جبران آسیب می‌بیند؟ممکن است بدون Gap گروهی رخ دهد

هدف، مدیریت Bias زیان‌بار است؛ نه حذف هر تفاوت

پژوهش رسمی NIST دربارهٔ AI قابل اعتماد تاکید می‌کند Fairness با مدیریت Bias زیان‌بار یکی از چند ویژگی سامانهٔ قابل اعتماد است؛ NIST SP ۱۲۷۰ نیز نشان می‌دهد Bias شکل‌های گوناگون دارد و همیشه پدیده‌ای منفی نیست. پس Claim مناسب «Bias managed for named harms» است، نه BIAS_FREE. هر Mitigation می‌تواند Utility، Privacy یا گروه دیگری را متاثر کند.

سه خانوادهٔ Bias را هم‌زمان ببینید

NIST SP 1270 Bias را در سه خانوادهٔ درهم‌تنیده بررسی می‌کند: Systemic، Statistical/Computational و Human. Bias ممکن است در نهاد، هدف، تخصیص منابع، Sampling، Measurement، Optimization، Interpretation، Automation bias یا فرایند استفاده باشد. محدودکردن ممیزی به Training data، بخش بزرگی از System boundary را حذف می‌کند.

Systemic bias خارج مدل هم زندگی می‌کند

چه کسی Eligibility را تعریف کرده؟ چه کسی داده ندارد؟ Label نتیجهٔ کدام فرایند تاریخی است؟ Operator چقدر وقت Override دارد؟ چه کسی Appeal می‌کند و چه کسی اصلاً Notice نمی‌گیرد؟ مدل ممکن است Metric آفلاین خوبی داشته باشد اما یک Queue محدود، سیاست Follow-up یا الزام مدرک، Burden را نابرابر توزیع کند. Fairness claim باید Human workflow و Downstream policy را در System boundary بیاورد.

Statistical bias با Social harm برابر نیست

Estimator ممکن است از نظر آماری biased یا noisy باشد، ولی پیامد اجتماعی به Decision policy و Context وابسته است. برعکس، یک تخمین میانگین unbiased می‌تواند در Slice کوچک Harm شدیدی بسازد. نام Bias، تعریف ریاضی، Unit، Population و Harm mechanism را جدا کنید. یک واژه را برای خطای آماری و تبعیض اجتماعی بدون توضیح به کار نبرید.

Human bias فقط «پیش‌داوری توسعه‌دهنده» نیست

Anchoring روی Score، Automation bias، Groupthink، Confirmation bias، Availability، McNamara fallacy و Streetlight effect می‌توانند در تعریف Problem، انتخاب Metric، Triage و تفسیر نتیجه رخ دهند. «تیم متنوع داریم» کنترل ارزشمندی است، اما تضمین نمی‌کند Power برابر، Dissent امن، Data مناسب یا Metric درست باشد. Decision right و Independent review لازم‌اند.

از تصمیم شروع کنید، نه Dataset

DecisionID، سؤال، Options، Authority، Due، Intended use، Reversibility و Not-decided را بنویسید. آیا مدل فقط پیشنهاد می‌دهد، Rank می‌کند، Queue می‌سازد، Eligibility را رد می‌کند یا منبع کمیاب تخصیص می‌دهد؟ یک Metric مشابه در Screening کم‌اثر و Denial برگشت‌ناپذیر معنای متفاوت دارد. قبل از Fairness metric بپرسید آیا AI اصلاً گزینهٔ مناسب است و Baseline غیر-AI چیست.

Artifact اصلی: Fairness Evaluation Claim Record

ClaimID / Version / Status / AsOf / Owner / ReviewAt
Decision / Options / Authority / IntendedUse / Reversibility
System / Model / Policy / Pipeline / Product / HumanWorkflow / Boundary
Context / Jurisdiction / Stakes / Resource / Scale / Alternatives
Stakeholders / Power / Harm / Participation
FairnessQuestion / NormativeGoal / Benefit / Burden / NotClaimed
Population / Group / Intersection / Data / Label / Score / Policy / Outcome
Metric / Threshold / Uncertainty / Baseline / Counterfactual / Causality
Explainability / HumanOversight / Privacy / Evaluation / Monitoring
Response / Remedy / Claim / Limitations / Expiry / Correction

این Schema استاندارد NIST یا تعریف جهانی Fairness نیست؛ ترکیبی عملی برای جلوگیری از Claim بزرگ‌تر از Evidence است. کامل‌بودن فیلدها نیز انصاف، نبود تبعیض یا اعتبار قانونی را ثابت نمی‌کند.

هویت سیستم را تا Policy و انسان امتداد دهید

SystemID، ModelID/version، Policy/threshold version، Pipeline، Product/Release، Vendor، Human workflow و Boundary را ثبت کنید. یک Model ثابت با Threshold یا Queue rule متفاوت، Outcome متفاوت می‌سازد. Vendor model بدون نسخه یا Silent update Claim قبلی را منقضی می‌کند. Fairness ویژگی Artifact منفرد نیست؛ ویژگی ادعاشدهٔ یک سامانه در Context است.

Context contract را ملموس کنید

Domain، Jurisdiction candidate، Deployment context، Decision type، Stakes، Resource، Time horizon، Scale، Alternatives و non-AI baseline را بنویسید. Recommendation موسیقی، غربال رزومه، کشف تقلب و اولویت درمان با یک Fairness template یکسان ارزیابی نمی‌شوند. قانون و Policy قابل اعمال را متخصص واجد صلاحیت تعیین می‌کند؛ Metric آماری گواه Compliance نیست.

Stakeholder map فقط «کاربر» نیست

Decision subject، فرد غیرکاربر متاثر، Operator، Reviewer، Appeal owner، خانواده/جامعه و گروهی که Data آن استفاده شده اما خدمت نمی‌گیرد را جدا کنید. Power map نشان دهد چه کسی هدف، Label، Metric و Threshold را انتخاب می‌کند، چه کسی هزینهٔ خطا را می‌پردازد و چه کسی حق اعتراض دارد. Participation plan باید Accommodation، جبران، رضایت و محدودیت تعمیم داشته باشد.

Harm را پیش از Gap صورت‌بندی کنید

HarmID، نوع آسیب، Mechanism، فرد/گروه متاثر، Severity، Likelihood، Duration، Reversibility، Cumulative effect و Evidence را ثبت کنید. False reject می‌تواند فرصت، زمان، پول یا حیثیت را متاثر کند؛ False accept نیز ممکن است به فرد یا دیگری آسیب بزند. Gap بدون Harm question بهینه‌سازی عددی بی‌جهت است.

Fairness Question یک انتخاب هنجاری است

ConstructID، Benefit، Burden، Normative goal، Equality/Equity choice، Deservedness assumption، Stakeholder input، Legal/policy basis و Not-claimed را بنویسید. مثال: «آیا میان متقاضیان واجد شرایط، فرصت عبور به بازبینی انسانی برای Sliceهای ازپیش‌تعیین‌شده تفاوت عملی ناموجه دارد؟» این سؤال بسیار دقیق‌تر از «مدل Bias دارد؟» است.

برابری با برابری منصفانه یکی نیست

Equal outcome، Equal opportunity، Equal error burden، Individual consistency و Calibration اهداف متفاوت‌اند. گاهی Equity به Support یا Threshold متفاوت نیاز دارد؛ گاهی استفاده از Attribute حساس برای Audit لازم است؛ گاهی Blindness، Proxy را پنهان می‌کند. انتخاب را با Context و Review قانونی/اخلاقی مستند کنید، نه با شعار «همه دقیقاً یکسان».

Populationها را از هم جدا کنید

Target، Eligible، Observed، Labeled، Evaluated و Deployed population معمولاً یکسان نیستند. Unit of analysis، Time window، Sampling frame، Exclusion، Coverage و Drift boundary را نسخه‌دار کنید. دادهٔ کارکنان قبلی ممکن است نمایندهٔ متقاضیان آینده نباشد؛ دادهٔ افراد پذیرفته‌شده Outcome افراد ردشده را ندارد.

Group یک ستون ساده نیست

GroupID، تعریف، منبع Attribute، Self-reported یا Inferred بودن، Categories، Reference group، Unknown، چندمقداری‌بودن، تغییر در زمان، Context اجتماعی، Small-group rule و Review owner را ثبت کنید. نام گروه، ترجمه و Category merge می‌تواند Harm بسازد. Attribute inferred ممکن است خطا و Privacy risk جدا داشته باشد.

Reference group انتخاب خنثی نیست

Gap نسبت به چه گروهی محاسبه می‌شود؟ بزرگ‌ترین، historically advantaged، policy-defined یا کل Population؟ جهت Ratio و Difference را روشن کنید. تغییر Reference می‌تواند ظاهر Dashboard را عوض کند، بدون تغییر هیچ Outcome. نتایج Absolute هر گروه را کنار Gap نگه دارید تا بهبود یک گروه با بدترکردن همگانی پنهان نشود.

Intersectionها را قربانی میانگین نکنید

جنسیت، سن، زبان، منطقه، Device، نوع قرارداد یا Disability ممکن است در تقاطع اثر متفاوتی بسازند. Pre-specified sliceها را بر اساس Harm hypothesis ثبت و Discovery sliceها را Exploratory برچسب بزنید. Minimum support، Suppression/privacy و Multiple-testing rule لازم است؛ ریزکردن بی‌نهایت هم عدم‌قطعیت را انفجاری می‌کند.

Representation با Balance یکی نیست

۵۰/۵۰ کردن Groupها لزوماً Target population، Conditional distribution، rare cases یا Label quality را نمایندگی نمی‌کند. DatasetID/version، Source، Purpose، Time، Authority، Lineage، Join، Missingness، Measurement error، Selection mechanism، Representation، Privacy class و Retention را ثبت کنید. Oversampling می‌تواند Variance یا overfitting را تغییر دهد و جهان واقعی را بازنویسی نمی‌کند.

دادهٔ مصنوعی شکاف شواهد را پنهان نکند

Synthetic data می‌تواند Scenario پوشش دهد، اما اگر Generator از دادهٔ کم/biased آموخته باشد همان الگو را بازسازد، rare combination را حذف کند یا Privacy leak داشته باشد. Synthetic بودن، نمایندگی یا انصاف را تضمین نمی‌کند. Training source، Generator/version، Prompt/seed، Fidelity، Memorization، Utility و Boundary ادعا را جدا ارزیابی کنید.

Label ممکن است خود Harm را رمزگذاری کند

LabelID، Definition، Source، Observation window، Maturity، Censoring، Historical process، Selective labels، Proxy boundary، Annotation protocol، Agreement و Uncertainty را بنویسید. «استخدام شد»، «بازپرداخت کرد» یا «دستگیر شد» Ground truth طبیعیِ صلاحیت، اعتبار یا جرم نیست؛ خروجی یک فرایند تاریخی با فرصت مشاهدهٔ نابرابر است.

Selective labels نتیجهٔ گروه ردشده را پنهان می‌کند

اگر فقط افراد پذیرفته‌شده Outcome دارند، Accuracy و FNR برای ردشده‌ها قابل مشاهده نیست. Treat missing outcome as negative یک False certainty می‌سازد. Missingness mechanism، Policy تاریخی و امکان Randomized/Quasi-experimental یا Safe exploration را با متخصص روش بررسی کنید؛ در غیر این صورت Unknown را نگه دارید.

Score contract پیش از Threshold

ScoreID، Meaning، Scale، Calibration target، Version، Stability، Missing-input behavior، Uncertainty output و اینکه Score واقعاً Probability است یا نه را ثبت کنید. رتبه یا logit را درصد احتمال ننویسید. یک مدل calibrated در کل Population ممکن است در Sliceها miscalibrated باشد و Calibration نیز Cause یا Fairness را ثابت نمی‌کند.

Policy بخشی از سیستم است

Action mapping، Threshold owner، Capacity، Queue، Override، Abstain، Tie، Downstream process، Resource constraint، Feedback effect و Exception را نسخه‌دار کنید. Top-K selection با ظرفیت ثابت، حتی با Score ثابت، Selection rate را عوض می‌کند. مدل بدون Policy نه Benefit توزیع می‌کند و نه Burden نهایی را توضیح می‌دهد.

Outcome از Prediction جداست

OutcomeID، beneficial/harmful outcome، Observation time، Attribution boundary، Measurement source، Missing/delayed outcome و Countermetrics را تعریف کنید. انتخاب برای Interview با استخدام، عملکرد و تجربهٔ منصفانه یکی نیست. Metric مدل می‌تواند سبز و Outcome فرایند به‌دلیل Reviewer یا ظرفیت قرمز باشد.

Metric contract قابل کپی

Metric = {
  metricId, name, definition,
  numerator, denominator, conditioningSet,
  direction, unit, populationRef, groupRef,
  window, aggregation, interpretation,
  failureMeaning, incompatibilities
}

نام Demographic parity یا Equal opportunity کافی نیست. Numerator/denominator، شرط روی Label، گروه مرجع، Window و Handling دادهٔ گمشده را بنویسید. Ratio و Difference ممکن است پیام متفاوت بدهند. Metric باید به Harm question و Action متصل باشد، نه اینکه فقط Dashboard رنگی بسازد.

Demographic Parity چه می‌گوید و چه نمی‌گوید؟

Selection/positive rate را میان Groupها مقایسه می‌کند؛ دربارهٔ Label، شایستگی، Error type، Calibration یا Outcome نهایی به‌تنهایی چیزی نمی‌گوید. در Allocation خاص ممکن است Policy مناسبی باشد و در Context دیگر Harm را پنهان کند. Parity صفر می‌تواند با ردکردن همه یا پذیرش تصادفی هم حاصل شود؛ Utility و Absolute outcome را کنار آن بسنجید.

Equal Opportunity فقط یک Error side را می‌بیند

معمولاً TPR را برای افراد Label-positive مقایسه می‌کند. اگر False negative Burden اصلی باشد مناسب‌تر است، اما Label validity، FPR، PPV، Calibration، Capacity و افراد بدون Label را حل نمی‌کند. Equality of opportunity به معنای فرصت اجتماعی جامع نیست؛ نام Metric را با مفهوم سیاسی/حقوقی بزرگ‌تر یکی نکنید.

Equalized Odds هزینهٔ هر دو خطا را برابر فرض نکند

TPR و FPR را هم‌زمان میان Groupها مقایسه می‌کند، اما هزینهٔ False positive و False negative ممکن است نامتقارن و گروه‌وابسته باشد. Thresholdهای گروهی نیز پیامد حقوقی/عملی و Operational complexity دارند. Metric انتخابی باید Rationale، Authority و محدودیت استفاده داشته باشد.

Calibration یک معنای Score می‌دهد، نه عدالت کامل

اگر Score ۰.۷ در یک Group داده می‌شود، Calibration انتظار دارد Outcome در آن Bucket تقریباً ۷۰% باشد؛ روش دقیق و Window مهم است. این ویژگی برای Risk communication مفید است، اما Equal error rates یا Equal outcome را تضمین نمی‌کند. Calibration curve، sample size و uncertainty را برای هر Slice نشان دهید.

همهٔ معیارها هم‌زمان سبز نمی‌شوند

پژوهش‌های اصلی دربارهٔ Risk score نشان داده‌اند وقتی Base rateها متفاوت‌اند و پیش‌بینی کامل نیست، برخی خواسته‌های Calibration و Error-balance هم‌زمان قابل تحقق نیستند؛ برای نمونه Inherent Trade-Offs in the Fair Determination of Risk Scores و On Fairness and Calibration. این نتیجه «Fairness ناممکن است» نمی‌گوید؛ می‌گوید Trade-off هنجاری را پشت انتخاب Metric پنهان نکنید.

Threshold را پس از دیدن Holdout تنظیم نکنید

ThresholdID، Acceptance/warning/hard-stop rule، Tolerance، Rationale، preregistration، Approval، Expiry و Sensitivity analysis را ثبت کنید. اگر صدها Slice/Threshold را امتحان کنید و سبزترین را گزارش دهید، Data dredging ساخته‌اید. Train/validation/holdout و Exploratory/Confirmatory را جدا نگه دارید.

«صفر Gap» هدف مکانیکی خطرناک است

Gap ممکن است با کاهش Outcome گروه بهتر، ردکردن همه یا Randomization صفر شود. Threshold باید Practical significance، Harm floor، Utility countermetric و Non-regression را هم ببیند. جهت تغییر و افراد منتقل‌شده میان Outcomeها را بررسی کنید. Parity بدون سطح مطلق می‌تواند «برابری در نتیجهٔ بد» باشد.

عدم‌قطعیت بخشی از Fairness result است

Estimate، Sample size، Base rate، Confidence/credible interval، Bootstrap یا روش، Assumption، Small-sample handling، Missingness/Threshold sensitivity، Multiplicity و Practical significance را گزارش کنید. Slice کوچک می‌تواند Gap بزرگ و Interval بسیار پهن داشته باشد. «No significant difference» برابر «برابری ثابت شد» نیست.

Base rate را Fact طبیعی فرض نکنید

Base rate observed ممکن است حاصل Access، Policy، Measurement، Surveillance یا Selective labels باشد. آن را توضیح دهید، اما از آن Deservedness نتیجه نگیرید. تفاوت Base rate هم trade-off متریک ایجاد می‌کند و هم می‌تواند نشانهٔ فرایند تاریخی باشد. نیاز به تحلیل نهادی و causal دارد، نه حذف یک ستون.

Baseline باید همان Decision را مقایسه کند

Baseline انسانی، Rule-based، مدل قبلی یا No-action را با Population، Window، Policy، Measurement و Capacity یکسان مقایسه کنید. مدل بهتر از Baseline ناعادلانه هنوز خودکار acceptable نیست؛ مدل بدتر از Metric خاص ممکن است در Outcome دیگری بهتر باشد. Difference attribution را محدود و Confounderها را ثبت کنید.

Counterfactual pair test مفید است، اما حکم Bias نیست

تعویض نام یا جنسیت فرضی و مشاهدهٔ تغییر Output می‌تواند Dependency یا Proxy را آشکار کند، ولی Pair باید plausible و constraints سازگار باشد. تغییر Attribute ممکن است Featureهای دیگر را نامعتبر کند و Stable output نیز Proxy absence را ثابت نمی‌کند. TestID، causal model، actionable/immutable attributes، pair generation، result و causal boundary را ثبت کنید.

Counterfactual Fairness بدون Causal assumptions کامل نیست

سؤال «اگر فقط A عوض می‌شد» دربارهٔ جهان‌های بدیل است و به Structural/causal assumptions نیاز دارد. Causal graph، treatment، outcome، confounder، mediator و identification strategy را با Reviewer متخصص ثبت کنید. Metamorphic pair ساده را Counterfactual causal proof ننامید.

Proxy را فقط با Correlation حذف نکنید

کدپستی، نام، زبان، سابقه یا Device ممکن است با Attribute حساس مرتبط باشد، اما نقش و Harm آنها به Causal/decision context وابسته است. حذف Proxy می‌تواند Utility یا Equity را بدتر کند و Proxyهای دیگر بمانند. Feature review، ablation، path analysis، legal basis و outcome test را ترکیب کنید؛ ادعای «blind model» کافی نیست.

Explainability علت یا انصاف را ثابت نمی‌کند

SHAP/LIME/Feature importance توضیحی وابسته به Method، background sample و Model version می‌دهند. Explanation goal، Audience، local/global scope، Stability، Fidelity boundary و Causal boundary را ثبت کنید. Contribution به Prediction با علت Outcome یا دلیل اخلاقی تصمیم یکی نیست. راهنمای تست هوش مصنوعی توضیح‌پذیر این مرز را عمیق‌تر پوشش می‌دهد.

Human-in-the-loop یک کنترل نام نیست

Role، Information shown، Time/capacity، Authority، Override logging، Automation-bias test، Consistency review، Training، Escalation و Outcome audit را ثبت کنید. Reviewer خسته با ۱۰ ثانیه زمان و Score پررنگ ممکن است فقط Automation bias را رسمی کند. نرخ Override به‌تنهایی کیفیت تصمیم یا استقلال انسان را ثابت نمی‌کند.

Privacy و Fairness می‌توانند تعارض داشته باشند

برای Slice audit ممکن است Attribute حساس لازم باشد، اما جمع‌آوری/نگهداری آن Privacy و Security risk دارد. Purpose، مجوز/Policy route، Minimization، Access، Inference risk، Sharing، Retention، Aggregation protection و Trade-off را ثبت کنید. حذف کامل Attribute می‌تواند Harm را نامرئی کند؛ جمع‌آوری بی‌حد نیز مجاز نیست. تست حریم خصوصی داده شمول و جریان داده را جدا می‌کند.

Evaluation snapshot باید بازتولیدپذیر باشد

EvaluationID، Protocol version، Evaluator، Independence، Environment، Dataset/model/policy snapshot، Holdout، Seed، Code/query، Reproducibility، Limitations و Reviewer را نگه دارید. Fairness claim بدون Snapshot با هر Retrain، Threshold یا دادهٔ تازه قابل جابه‌جایی است. Vendor dashboard بدون Raw definition و Export کافی نیست.

Fairness Claim قابل کپی

FairnessClaim = {
  claimId, asOf, systemVersion, policyVersion,
  decisionContext, population, groups, window,
  fairnessQuestion, metrics, thresholds,
  estimates, uncertainty, evidenceRefs,
  utilityAndPrivacyTradeoffs,
  unknowns, limitations, notClaimed,
  approvedBy, validUntil, correctionRoute
}

نمونهٔ سالم: «در Snapshot ساختگی S، برای Population P و دو Slice ازپیش‌تعریف‌شده، تفاوت TPR با روش M و Interval I زیر Threshold سیاست Q بود؛ FPR، Calibration و Outcome بلندمدت هنوز Unknown است.» این جمله بسیار محدودتر اما قابل دفاع‌تر از «مدل عادلانه است» است.

Claimهای ممنوع یا نیازمند بازنویسی

  • Bias-free AI؛
  • عملکرد یکسان برای همهٔ گروه‌ها؛
  • عدم تبعیض قانونی بر اساس یک Metric؛
  • نمایندگی کامل Population؛
  • علت Bias بر اساس SHAP یا Correlation؛
  • انصاف فردی بر اساس Parity گروهی؛
  • انصاف Production بر اساس Test آفلاین؛
  • رفع Bias با دادهٔ متوازن یا Synthetic؛
  • عدالت به‌دلیل تیم متنوع؛
  • نبود Harm به‌دلیل No complaint.

Monitoring باید Population و Policy را ببیند

Production population، Data/Label/Group/Policy drift، Harm signal، Feedback loop، Cadence، Trigger، Owner و Next review را ثبت کنید. Label ممکن است دیر برسد و Complaint کم به‌دلیل نبود Notice/Appeal باشد. Change در Campaign، Capacity، Eligibility یا Operator training می‌تواند Claim را منقضی کند حتی اگر Model hash ثابت باشد.

Feedback loop می‌تواند Bias را بسازد

مدل فرصت مشاهده را تعیین می‌کند و دادهٔ آینده از همان تصمیم ساخته می‌شود؛ پذیرش‌شده‌ها Outcome و ردشده‌ها Missing می‌مانند. Recommendation exposure نیز Preference بعدی را تغییر می‌دهد. Performative effect، delayed outcome و selective labels را در Monitoring و Retraining gate لحاظ کنید؛ Cron retrain با دادهٔ تازه لزوماً بهبود نیست.

Mitigation را مثل Experiment ثبت کنید

ResponseID، Finding، Options، affected groups، Utility/Privacy trade-off، chosen action، Authority، Due و Verification را بنویسید. Data reweighting، threshold change، policy change، more human review، abstention یا حذف AI اثرهای متفاوت دارند. نتیجهٔ Metric را قبل/بعد با Holdout و Countermetrics مقایسه کنید و Attribution را بیش از Design ادعا نکنید.

Remedy فقط اصلاح مدل نیست

Notice، Appeal channel، Explanation، Human review، Correction، Restoration، Compensation route و Response SLO را تست کنید. فردی که تصمیم اشتباه گرفته، از بهبود مدل آینده سود فوری نمی‌برد. Claim انصاف بدون مسیر Contest/Remedy، فقط توزیع Metric را گزارش می‌کند و تجربهٔ فرد متاثر را ناتمام می‌گذارد.

Release Gate را به Harm floor وصل کنید

Hard stop، Warning، Unknown، Exception، Residual harm owner، Rollback و Reassessment را تعریف کنید. Average utility بالا نباید Harm شدید Slice کوچک را جبران کند. Shadow و bounded pilot برای Evidence مفیدند، اما Shadow نیز می‌تواند دادهٔ حساس پردازش کند و Operator را متاثر سازد. تصمیم انتشار را با چارچوب تصمیم Release ثبت کنید.

قانون و Policy را از Metric استنتاج نکنید

Protected attribute، نوع تصمیم، Notice، Impact assessment، Human review و Discrimination test در حوزه‌ها و قراردادهای مختلف متفاوت‌اند. Fairness metric هیچ Legal safe harbor عمومی نمی‌سازد. Applicability، Definition و Approval را به متخصص حقوقی واجد صلاحیت بسپارید و QA فقط Evidence/Scope/Unknown را دقیق کند.

زمینهٔ فارسی و ایران را Candidate نگه دارید

زبان فارسی، گویش، نام، خط، ارقام، کدپستی، تحریم/دسترسی Vendor، Device، شهر/روستا، زیرساخت و کانال می‌توانند Slice یا Proxy candidate باشند، نه گروه طبیعی و ثابت. دسته‌ها را با افراد متاثر و متخصص دامنه تعریف کنید. از نام/تصویر/محله، جنسیت، قومیت، مذهب، معلولیت یا وضعیت اقتصادی واقعی را حدس نزنید.

آزمایش قطعی: هفت کنترل ظاهراً سبز

یک Validator مستقل و بدون وابستگی با Node.js ۲۴.۱۸.۰ روی Fixture ساختگی اجرا شد. Checker سطحی فقط دید Dataset متنوع و Groupها متوازن‌اند، Synthetic augmentation انجام شده، Demographic parity سبز است، Counterfactual pairها پاس شده‌اند، SHAP بازبینی شده و تیم متنوع تایید کرده است؛ بنابراین به‌اشتباه نتیجه داد:

CONTROL_COUNT=322
SUPERFICIAL=BIAS_FREE_AND_FAIR

ممیز قراردادی ۳۲۲ کنترل یکتا را در ۳۲ گروه بررسی کرد: Identity، Decision، System، Context، Stakeholder، Harm، Construct، Population، Group، Intersection، Data، Label، Score، Policy، Outcome، Metric، Threshold، Uncertainty، Comparison، Counterfactual، Causality، Explainability، Human، Privacy، Evaluation، Monitoring، Response، Remedy، Claim، Lifecycle، Correction و Limits. تمام کنترل‌ها غایب بودند:

AUDIT=HOLD-322
INDEPENDENT_BOUNDARY=qa-issued-fairness-verdict:false:PASS

مرز مستقل ۳۲۳ام تأیید کرد QA حکم اخلاقی/حقوقی Fairness صادر نکرده است. پس از پرکردن تمام کنترل‌ها با دادهٔ کاملاً ساختگی، نتیجه چنین شد:

CORRECTED=READY_FOR_FAIRNESS_CLAIM_REVIEW-0
BOUNDARY=structure-only; no absence of harmful bias, fairness,
discrimination, causality, representativeness, legal compliance,
release safety, or real-world benefit proven

چرا صفر Finding هنوز Fair نیست؟

Validator فقط حضور فیلد را می‌سنجد. Fairness question می‌تواند ناموجه، Label آلوده، Sample ناکافی، Metric نامتناسب، Threshold بازی‌شده یا Reviewer فاقد صلاحیت باشد. صفر Finding یعنی رکورد برای بررسی چندتخصصی آماده است؛ نه اینکه افراد واقعی منصفانه رفتار دیده‌اند.

آزمایشگاه آفلاین فارسی و ایرانی

یک Queue ساختگی برای بازبینی دستی پرداخت‌های تخیلی بسازید؛ مدل فقط اولویت پیشنهاد می‌دهد و هیچ تراکنش یا فردی را رد نمی‌کند. Order، PaymentAttempt، PSP Stub، Callback، Ledger، Reconciliation و Review task در فایل محلی هستند. Timeout پیش/پس از Commit ساختگی، Retry، Duplicate، Late/reordered callback و Missing label را شبیه‌سازی کنید.

Sliceها فقط «حالت نوشتاری فارسی/لاتین» و «کلاس دستگاه تخیلی» هستند و Protected group یا شخص واقعی محسوب نمی‌شوند. Tenant/Order/Attempt/Event/Build/Run/Policy/Claim شناسهٔ پایدار ساختگی دارند. IRR تخیلی و تومان صرفاً نمایش برچسب‌خورده است؛ ارقام فارسی/عربی/لاتین، ی/ی، ک/ک، ZWNJ، RTL/LTR/Bidi، UTC/Asia-Tehran و تاریخ جلالی نمایشی پوشش داده می‌شوند.

LabBoundary = {
  network: false,
  production: false,
  realPersonOrProtectedAttribute: false,
  realDecisionOrMoney: false,
  legalOrMoralVerdict: false,
  purpose: "validate Fairness Claim structure only"
}

هیچ نام، جنسیت، قومیت، مذهب، معلولیت، سن، کدملی، موبایل، ایمیل، IP، آدرس، حساب، PAN، CVV2، OTP، Cookie، Token، Credential، Log یا Screenshot واقعی وجود ندارد. Lab دربارهٔ جمعیت ایران، بانکداری، تقلب، Fairness یا قانون ادعایی نمی‌کند.

تمرین Metric conflict بدون انسان واقعی

  1. دو Slice ساختگی با Base rate متفاوت تولید کنید.
  2. Selection rate، TPR، FPR، PPV و Calibration را با Definition کامل بسنجید.
  3. سه Threshold را فقط روی Validation مقایسه کنید.
  4. نشان دهید یک Threshold همهٔ معیارها را هم‌زمان سبز نمی‌کند.
  5. Holdout را یک بار و با Threshold ازپیش‌ثبت‌شده اجرا کنید.
  6. Utility، Queue capacity و Burden ساختگی را کنار Gap گزارش دهید.
  7. Claim محدود با Unknown/Expiry و Correction بسازید.

Anti-patternهایی که باید رد شوند

  • «Bias همیشه در Training data است»؛
  • «هر اختلاف گروهی تبعیض است»؛
  • «هر Parity عدالت است»؛
  • «دادهٔ ۵۰/۵۰ نماینده است»؛
  • «Synthetic data گروه کم‌داده را حل کرد»؛
  • «Label تاریخی Ground truth است»؛
  • «بهترین Fairness metric وجود دارد»؛
  • «همهٔ معیارها باید هم‌زمان برابر شوند»؛
  • «No significance یعنی No disparity»؛
  • «Counterfactual pair علت را ثابت می‌کند»؛
  • «SHAP علت Bias را نشان می‌دهد»؛
  • «حذف Attribute حساس مدل را منصف می‌کند»؛
  • «Human review همیشه ایمن است»؛
  • «تیم متنوع تضمین Fairness است»؛
  • «Offline score نتیجهٔ Production را ثابت می‌کند»؛
  • «Model fix آسیب گذشته را جبران می‌کند»؛
  • «Complaint صفر یعنی Harm صفر»؛
  • «QA حکم عدم تبعیض می‌دهد»؛
  • «Fairness سبز Compliance را ثابت می‌کند»؛
  • «Bias-free یک Claim معتبر است».

چک‌لیست Owner پیش از Claim Review

  • Claim/Decision/System/Policy/Release هویت نسخه‌دار دارند.
  • Context/Stakes/Resource/Scale/Alternative روشن است.
  • Affected people و Power/Participation ثبت شده‌اند.
  • Harm mechanism پیش از Metric صورت‌بندی شده است.
  • Fairness question، Benefit/Burden و Not-claimed صریح‌اند.
  • Target/eligible/observed/labeled/deployed population جدا هستند.
  • Group source/category/unknown/reference/small-group rule روشن است.
  • Intersectionها preregistered یا Exploratory برچسب خورده‌اند.
  • Data lineage/selection/missingness/representation/privacy کامل است.
  • Label history/selective labels/proxy/uncertainty ثبت‌اند.
  • Score meaning/calibration/threshold/abstention نسخه‌دار است.
  • Policy/capacity/override/downstream/feedback loop داخل Scope است.
  • Outcome و Countermetric از Prediction جدا هستند.
  • Metric numerator/denominator/conditioning/interpretation دارد.
  • Threshold preregistered و Sensitivity-tested است.
  • Sample/base rate/interval/multiplicity/practical effect گزارش شده است.
  • Baseline و Comparison واقعاً هم‌ترازند.
  • Counterfactual/XAI به‌عنوان Causal proof گزارش نشده‌اند.
  • Human oversight و Privacy controls موثر آزموده شده‌اند.
  • Evaluation snapshot/Holdout/limitations بازتولیدپذیرند.
  • Monitoring/Response/Remedy/Expiry/Correction فعال‌اند.
  • Claim از Scope/Evidence کوچک‌تر یا مساوی است.

Pilot سی‌روزهٔ Fairness Claim

هفتهٔ اول: Decision/System/Stakeholder/Harm map و Baseline غیر-AI را روی یک Fixture آفلاین بسازید. هفتهٔ دوم: Population/Group/Data/Label/Policy contracts و Privacy review را کامل کنید. هفتهٔ سوم: Metric/Threshold/Uncertainty/Countermetric را preregister و Validation اجرا کنید. هفتهٔ چهارم: Holdout یک‌باره، Claim Review، Monitoring/Remedy tabletop و Correction drill انجام دهید.

شاخص Pilot: درصد Claimهای دارای Harm question، Sliceهای با Minimum support، Labelهای mature، Thresholdهای preregistered، Unknownهای Ownerدار، Claimهای منقضی‌شده، Remedy drill و Correction time. این Metricها برای رتبه‌بندی افراد، اثبات Fairness یا مقایسهٔ اخلاقی تیم‌ها نیستند.

منابع چگونه استفاده شده‌اند؟

NIST SP ۱۲۷۰ برای دید اجتماعی-فنی و سه خانواده Bias، و AI RMF Core برای Map/Measure/Manage، مستندسازی و پایش استفاده شده‌اند؛ نه به‌عنوان Certification یا Metric نسخه‌ای. پژوهش‌های Calibration/Trade-off برای رد «همهٔ معیارها هم‌زمان» استفاده شده‌اند؛ نه برای تجویز یک معیار جهانی. Framework و Validator این مقاله ترکیب نویسنده‌اند.

جمع‌بندی

تست Fairness با شمارش گروه‌ها یا اجرای یک کتابخانه تمام نمی‌شود. Decision و Harm به Construct معنا می‌دهند؛ Population/Group/Data/Label/Policy تعیین می‌کنند Metric چه چیزی را می‌بیند؛ Threshold و Uncertainty نتیجه را محدود می‌کنند؛ Trade-offها انتخاب هنجاری را آشکار می‌سازند؛ و Monitoring/Remedy/Correction اثر واقعی را دنبال می‌کنند. خروجی حرفه‌ای «AI منصف» نیست؛ Claimی محدود، تاریخ‌دار و قابل ابطال است.

سوالات متداول

بهترین معیار Fairness برای همهٔ مدل‌ها چیست؟

چنین معیار جهانی وجود ندارد. Demographic parity، Equal opportunity، Equalized odds و Calibration پرسش‌های متفاوتی دارند و برخی با Base rateهای متفاوت هم‌زمان قابل تحقق نیستند. Metric را از Harm، Benefit/Burden، Policy و Context انتخاب و Trade-off را ثبت کنید.

آیا دادهٔ متوازن و مصنوعی Bias را رفع می‌کند؟

خیر. Balance نمایندگی، Label validity، Selection، Systemic bias یا Harm را تضمین نمی‌کند. Synthetic data نیز به Source/Generator/Fidelity/Memorization و rare combination وابسته است. اثر هر تغییر را روی Holdout، Slice، Utility، Privacy و Outcome ارزیابی کنید.

آیا تغییر خروجی با عوض‌کردن جنسیت یا نام، سوگیری را ثابت می‌کند؟

نه به‌تنهایی. Pair ممکن است نامحتمل یا ناسازگار باشد و تغییر می‌تواند Dependency را نشان دهد، نه علت یا تبعیض حقوقی. Generation constraints، Proxy path، Causal assumptions، Context و Harm باید جدا بررسی شوند.

آیا SHAP یا XAI علت Bias را پیدا می‌کند؟

معمولاً خیر. این روش‌ها Attribution یا approximation وابسته به مدل/داده/روش می‌دهند و Contribution به Prediction با Cause یا توجیه اخلاقی یکی نیست. Stability/Fidelity را بسنجید و برای ادعای علّی از طراحی و فرض‌های causal مناسب استفاده کنید.

QA می‌تواند تأیید کند سیستم AI عادلانه یا بدون تبعیض است؟

QA می‌تواند Claim را به Scope، Metric، Evidence، Uncertainty و Limitations متصل و خطاهای ساختاری را آشکار کند. حکم اخلاقی یا حقوقی نیازمند افراد متاثر، متخصص دامنه/روش/حقوق و Decision authority است. نتیجه باید محدود، تاریخ‌دار، قابل بازبینی و قابل اصلاح باشد.

دیدگاهتان را بنویسید