هوش مصنوعی قابل توضیح (Explainable AI یا XAI) زمانی ارزش عملی دارد که توضیح آن نیز مانند هر خروجی نرم‌افزاری آزمون‌پذیر باشد. یک نمودار رنگی، فهرست Featureها یا متن روان ممکن است قانع‌کننده به نظر برسد و در عین حال مدل، نسخه، خروجی یا حتی مخاطب اشتباهی را توضیح دهد. بنابراین پرسش QA فقط «مدل چرا این نتیجه را داد؟» نیست؛ باید بپرسد: این توضیح برای کدام تصمیم و کدام مخاطب تولید شده، تا چه حد رفتار واقعی سیستم را بازتاب می‌دهد، با تغییر نامربوط پایدار و با تغییر مرتبط حساس است، چه محدودیتی دارد و کاربر پس از خواندن آن چه اقدام امنی می‌تواند انجام دهد؟

این راهنما مالکِ تست خودِ Explanation Artifact است: Purpose/Audience → Method/Reference → Fidelity/Stability/Sensitivity → Comprehension/Action → Limits/Appeal. برای ارزیابی عمومی مدل و داده به راهنمای تست سیستم‌های AI/ML، برای Harm و Fairness و پاسخگویی به تست اخلاقی هوش مصنوعی و برای انتخاب Oracle به راهنمای Test Oracle مراجعه کنید. توضیح می‌تواند سرنخ بدهد؛ اما به‌تنهایی درستی خروجی، انصاف، علیت، انطباق قانونی یا شایستگی Release را اثبات نمی‌کند.

پاسخ کوتاه: هوش مصنوعی قابل توضیح چیست؟

در این مقاله، XAI مجموعه‌ای از طراحی‌ها، روش‌ها و رابط‌هاست که برای یک خروجی یا فرایند سیستم، شواهد یا دلیلی متناسب با مخاطب عرضه می‌کند. این تعریف عامدانه از «باز کردن کامل جعبه سیاه» محدودتر و دقیق‌تر است. گاهی توضیح، مسیر یک Rule یا Tree است؛ گاهی یک مدل جانشین محلی، Attribution نسبت به یک Reference، مثال مشابه، Counterfactual، سابقه فرایندی یا توضیح محدودیت. هرکدام ادعای متفاوتی دارند و Oracle متفاوتی می‌خواهند.

واژهپرسش اصلیچیزی که خودبه‌خود ثابت نمی‌کند
شفافیت (Transparency)چه اطلاعاتی درباره سیستم، داده، مالک و فرایند آشکار است؟اینکه یک پیش‌بینی خاص درست است
تفسیرپذیری (Interpretability)انسان چگونه رابطه ورودی، سازوکار و خروجی را می‌فهمد؟فهم یکسان برای همه مخاطبان
توضیح‌پذیری (Explainability)برای این خروجی یا فرایند چه دلیل/شاهدی ارائه می‌شود؟علیت، انصاف یا اعتماد موجه
توجیه (Justification)چرا سازمان این تصمیم را مجاز یا مناسب می‌داند؟بازتاب وفادار رفتار مدل
Contestabilityفرد چگونه داده را اصلاح، تصمیم را اعتراض یا بازبینی انسانی درخواست می‌کند؟اینکه توضیح فنی کافی بوده است
پاسخگوییچه کسی مالک نتیجه، کنترل، اصلاح و Remedy است؟اینکه ابزار XAI مسئولیت را تعیین کرده است
علیتآیا تغییر مداخله‌ای X واقعاً Y را تغییر می‌دهد؟صرفاً از Attribution یا همبستگی حاصل نمی‌شود

چهار عدسی NIST برای تبدیل XAI به معیار تست

NISTIR 8312 چهار اصل را مطرح می‌کند: سیستم باید برای خروجی/فرایند دلیل همراه داشته باشد؛ توضیح برای دریافت‌کننده معنادار باشد؛ توضیح فرایند واقعی تولید خروجی را درست بازتاب دهد؛ و سیستم حدود دانش یا شرایط صلاحیت خود را بشناسد. این اصول گواهی‌نامه یا آستانه عددی آماده نیستند، اما چهار سؤال آزمون عالی می‌سازند: آیا Explanation وجود دارد؟ برای این مخاطب قابل‌استفاده است؟ به هدفش وفادار است؟ و در ناحیه نامعتبر امتناع یا محدودیت را آشکار می‌کند؟

قاعده عملی: توضیح خوب الزاماً توضیح بلند نیست. توضیح باید ادعای محدود، Provenance روشن، مخاطب و اقدام مشخص، سنجه وفاداری و مسیر اصلاح/اعتراض داشته باشد. روان‌بودن متن یک معیار Presentation است، نه Oracle حقیقت.

مالکیت این صفحه: توضیح یک Artifact مستقل است

سیستم ممکن است پیش‌بینی صحیح و توضیح غلط، پیش‌بینی غلط و توضیح وفادار، یا هر دو را غلط تولید کند. Release Gate باید این محورهای مستقل را نگه دارد. Accuracy مدل، Fidelity توضیح، فهم کاربر، Fairness پیامد و قابلیت اعتراض را در یک امتیاز میانگین ادغام نکنید؛ شکست Critical در هر محور باید دیده شود.

خروجی مدلتوضیحبرداشت درست
درستوفادار و مفیدنمونه موفق، نه اثبات کلی سیستم
درستنادرست/نسخه‌کهنهExplanation defect؛ اعتماد بر اساس آن خطرناک است
غلطوفادارتوضیح می‌تواند Failure mechanism را آشکار کند، اما خروجی را نجات نمی‌دهد
غلطقانع‌کننده ولی بی‌وفادو شکست مستقل و احتمال Automation bias

پیش از تست: Explanation Test Contract بنویسید

عبارت «یک SHAP Plot نشان بده» Requirement نیست. قرارداد زیر، ادعای توضیح را قابل‌رد یا قبول می‌کند. اگر فیلدی ناشناخته است، آن را Unknown ثبت کنید؛ حدس پنهان از کمبود شفاف اطلاعات خطرناک‌تر است.

Explanation Test Contract
decision/output: شناسه تصمیم، Class/Score/Action و زمان
purpose: Debug | Validate | Operate | Inform | Contest | Audit
audience/action: چه کسی، با چه سوادی، برای چه اقدام مجاز
system identity: محصول، Workflow، مدل، نسخه، Dataset/Policy و محیط
explanation target: مدل | کل Workflow | Rule | Human override | Process
scope: local/global، prediction/class/output-space و horizon
method: intrinsic | LIME | SHAP | counterfactual | example | trace
method configuration: explainer، parameters، seed، kernel، sample count
reference/background: منبع، نسخه، فیلتر، وزن و دلیل انتخاب
claim: دقیقاً چه چیزی ادعا می‌شود و چه چیزی نمی‌شود
fidelity oracle: تعریف neighborhood، agreement/error و آستانه
stability/sensitivity: تغییرهای نامربوط/مرتبط و relation مورد انتظار
uncertainty/limits: OOD، low confidence، unsupported input، approximation
presentation: زبان، RTL، عدد/واحد، accessibility و progressive disclosure
security/privacy: redaction، role، retention، logging و anti-gaming
appeal/correction: مسیر انسانی، SLA، evidence و outcome notification
owner/expiry: مالک تأیید، تاریخ اعتبار و triggers بازآزمایی

یک Explanation برای همه وجود ندارد

گزارش فنی Feature Attribution برای Data Scientist ممکن است برای اپراتور یا فرد متأثر بی‌معنا باشد. راهنمای فعلی ICO نیز در زمینه بریتانیا تأکید می‌کند که توضیح تصمیم AI یک راه‌حل یک‌اندازه برای همه نیست و باید با زمینه و دریافت‌کننده متناسب شود؛ آن را راهنمای UK و در حال بازبینی بدانید، نه تفسیر حقوقی جهانی یا ادعای خودکار درباره GDPR یا ایران.

مخاطبکار واقعیتوضیح مناسب‌ترتست پذیرش نمونه
توسعه‌دهنده مدلتشخیص Failure و تغییر مدلAttribution، probe، error slice، Provenanceمدل/نسخه درست و بازتولیدپذیری
متخصص دامنهاعتبارسنجی نشانه‌ها و حدودمثال، rule، counterexample و uncertaintyتشخیص cue نامعتبر بدون القای علیت
اپراتورتصمیم یا Escalation امنReason code، confidence، next actionکاهش خطای اقدام بدون Automation bias
فرد متأثرفهم، اصلاح داده و اعتراضزبان ساده، عوامل اصلی، داده قابل‌اصلاح، مسیر ReviewComprehension و موفقیت واقعی Appeal
ممیزبازسازی کنترل و تصمیمنسخه، Log، سیاست، شواهد و Change historyTrace کامل و Tamper evidence
تیم امنیتیافتن سوءاستفاده بدون افشای Ruleنمای Role-based و redactedحداقل افشا و مقاومت در برابر probing

Taxonomy روش‌های XAI و ادعای محدود هرکدام

دوگانه Intrinsic/Post-hoc فقط آغاز کار است. توضیح را هم‌زمان بر اساس Local/Global، Model-specific/Model-agnostic، Feature/Example/Rule/Counterfactual/Process و بازه زمانی طبقه‌بندی کنید. یک مدل خطی یا درخت کوچک نیز فقط در صورتی «قابل‌تفسیر» است که Featureها، transformationها، interactionها، واحدها و مخاطب قابل‌فهم باشند. سادگی ساختار، حقیقت داده یا مناسب‌بودن سیاست را تضمین نمی‌کند.

نوعادعای مجازریسک رایجOracle محتمل
مسیر Rule/Treeقواعد اجراشده برای این ورودیPreprocessing یا Rule دیگری پنهان استExecution trace و بازاجرای دقیق
Local surrogateتقریب رفتار مدل در neighborhood تعریف‌شدهنمونه‌های OOD یا neighborhood دلخواهLocal agreement/error روی probe مستقل
Feature attributionسهم ویژگی در خروجی نسبت به Reference/تعریف روشتبدیل اهمیت به علتAdditivity/reference/perturbation tests
Global summaryالگوی تجمیعی بر Dataset و بازه مشخصپنهان‌شدن Slice و interactionSampling/coverage و subgroup consistency
Example/prototypeنمونه مشابه بر اساس فاصله تعریف‌شدهافشای داده یا similarity بی‌معناDistance/domain/privacy oracle
Counterfactualتغییر حداقلی محاسباتی که خروجی مدل را عوض می‌کندناممکن، غیراخلاقی یا غیرعلّی بودن اقدامRecompute + feasibility/actionability
Process explanationداده، نقش، سیاست و گردش‌کار تصمیماشتباه گرفتن مستند سیاست با رفتار واقعیAudit trace و E2E workflow test

ابعاد کیفیت توضیح را جدا اندازه بگیرید

  • Target correctness: Explanation متعلق به همان request، class، score، action، tenant، model version و timestamp است.
  • Fidelity: توضیح تا چه حد رفتار مدل یا Workflow هدف را در Scope اعلام‌شده بازتاب می‌دهد.
  • Completeness/Sufficiency: آیا حذف بخش ادعاشده واقعاً توان توضیحی را کاهش می‌دهد و عوامل مهم حذف نشده‌اند؟
  • Stability: تغییرهای نامربوط/معادل نباید داستان را بی‌دلیل واژگون کنند.
  • Sensitivity: تغییر مرتبط و مؤثر باید در Explanation دیده شود؛ ثبات مطلق هم شکست است.
  • Reproducibility: با Model/Explainer/Seed/Background یکسان نتیجه در تلورانس تعریف‌شده تکرار می‌شود.
  • Meaningfulness: مخاطب بدون کمک طراح، نکته اصلی و محدودیت را درست می‌فهمد.
  • Actionability: اقدام پیشنهادی مجاز، ممکن، امن و در کنترل مخاطب است.
  • Knowledge limits: OOD، confidence پایین، داده ناقص و method failure آشکار می‌شوند.
  • Security/Privacy: Explanation اطلاعات شخصی، membership، secret feature یا مسیر Gaming را بیش از نیاز افشا نمی‌کند.

Fidelity یعنی وفاداری به هدف تعریف‌شده، نه «منطقی‌بودن»

یک explanation ممکن است برای کارشناس کاملاً منطقی باشد ولی رفتار مدل را تقلید نکند. در Local surrogate، مجموعه Probe مستقلی از نمونه‌های آموزش surrogate بسازید؛ neighborhood، distance، distribution و وزن را ثبت کنید؛ سپس agreement، error یا rank agreement را با interval گزارش دهید. Fidelity نزدیک ورودی، ادعای Global نمی‌سازد. در سیستم چندمرحله‌ای نیز روشن کنید Explanation فقط model score را توضیح می‌دهد یا threshold، Rule، human override و action نهایی را هم پوشش می‌دهد.

Fidelity test record
target = model-v17 / class=needs_review / output=0.73
explainer = local-surrogate-v4 / seed=731 / samples=5000
neighborhood = documented distance + allowed feature domain
independent_probes = 1000 (not surrogate-fit samples)
metric = weighted absolute error + class agreement
result = value + interval + slice breakdown
claim = only local, only this output space, only supported domain
verdict = Passed | Failed | Inconclusive | Invalid

Stability و Sensitivity دو آزمون مخالف و مکمل‌اند

در Stability، تبدیل‌های معناییِ بی‌اثر تعریف کنید: normalization معادل ارقام فارسی/لاتین، جابه‌جایی فیلدی که مدل مصرف نمی‌کند، whitespace یا بازکدگذاری مجاز. خروجی مدل و Explanation باید طبق relation از پیش‌نوشته‌شده تغییر نکنند. در Sensitivity، Feature مؤثر را در محدوده معتبر تغییر دهید؛ اگر score عوض شد ولی explanation ثابت ماند، explainer یا cache مشکوک است. چون خروجی‌های توضیح نیز ممکن است تصادفی باشند، روش Verdict آماری را با تست سیستم‌های غیردترمینیستیک هماهنگ کنید.

Probeانتظار خروجیانتظار ExplanationFailure signal
تغییر نامربوطثابت در toleranceرتبه/مقدار ثابت در toleranceExplainer instability
تغییر معادل دامنهMetamorphic relationهمان relationPreprocessing mismatch
تغییر مرتبط کوچکتغییر کوچک معلومتغییر جهت/اندازه متناسبInsensitive یا stale cache
تغییر مرتبط بزرگعبور کنترل‌شده از boundaryعامل/Reason code تغییر کندWrong target یا hidden rule
ورودی خارج دامنهAbstain/fallback طبق Contractحد دانش، نه داستان قطعیConfident fabrication

Oracleهای ممکن برای تست Explanation

یک Oracle طلایی جهان‌شمول وجود ندارد. برای Rule و مدل ساده می‌توان Trace یا تجزیه دقیق داشت؛ برای Black box اغلب چند شاهد ناقص را ترکیب می‌کنیم. عدم توافق دو Explainer نیز به‌تنهایی نمی‌گوید کدام‌یک درست است؛ ممکن است Target، Reference یا سؤال متفاوت باشد.

Oracle/Techniqueبهترین کاربردمحدودیت
Exact referenceRule، linear fixture، tree trace و synthetic ground truthبه سیستم واقعی پیچیده تعمیم مستقیم ندارد
Reconstruction/Additivityبررسی جمع Base و Contribution در روش مربوطبازسازی خروجی، علیت یا meaningfulness نیست
Independent perturbationسنجش اثر حذف/افزودن/تغییر FeaturePerturbation ممکن است OOD باشد
Surrogate agreementFidelity محلی با neighborhood ثبت‌شدهبیرون neighborhood ادعا ندارد
Metamorphic relationمعادل‌های معنایی و invarianceRelation باید از Domain بیاید
Randomization/sanityکشف Explanation بی‌حساس به model/dataنتیجه منفی علت دقیق Failure را نمی‌گوید
Domain reviewمعناداری، امکان‌پذیری و cue نامعتبرنظر متخصص Oracle رفتار مدل نیست
User studyComprehension، task success و calibrated relianceفهم یا رضایت، Fidelity فنی را اثبات نمی‌کند

LIME چیست و دقیقاً چه چیزی را باید تست کرد؟

در مقاله اصلی LIME، یک مدل تفسیرپذیر به‌صورت محلی پیرامون Prediction آموخته می‌شود تا رفتار Classifier را در آن ناحیه تقریب بزند. بنابراین Explanation مستقیماً «ذهن مدل» نیست؛ درباره surrogate، sampling و locality تعریف‌شده است. Test Contract باید Input representation، روش perturb، Kernel/distance، تعداد نمونه، seed، feature selection، class/output و وزن neighborhood را ثبت کند.

  • با Seedهای متعدد، توزیع رتبه و علامت Featureها را بسنجید؛ یک Run زیبا کافی نیست.
  • Probe مستقل از نمونه‌های Fit بسازید و Local fidelity را گزارش کنید.
  • بررسی کنید perturbation متن، تصویر یا داده جدولی نمونه نامعتبر/OOD نسازد.
  • Neighborhood کوچک/بزرگ را به‌عنوان Hyperparameter ادعا آزمایش کنید.
  • اگر explanation برای دو ورودی بسیار نزدیک واژگون می‌شود، هم score و هم local boundary را ثبت کنید؛ برچسب «نوسان» بدون زمینه کافی نیست.
  • زمان و Resource را زیر بار، timeout، retry و fallback تست کنید؛ شکست explainer نباید explanation ساختگی یا نسخه‌کهنه برگرداند.

SHAP چیست و Reference چگونه داستان را عوض می‌کند؟

مقاله اصلی SHAP چارچوبی برای Feature-attribution افزایشی معرفی می‌کند و برای یک Prediction به Featureها مقدار اهمیت می‌دهد. در عمل، تفسیر مقدار به Explainer، خروجی توضیح‌داده‌شده (مثلاً probability یا log-odds)، Background/Reference و فرض وابستگی Featureها بستگی دارد. «Feature شماره یک» علت تصمیم نیست و علامت مثبت نیز بدون Base value و Output space معنای کامل ندارد.

کنترل SHAPFailure قابل‌کشف
ثبت Explainer/library/version/configتغییر بی‌صدای الگوریتم یا default
ثبت Background و lineageداستان متفاوت بر اثر cohort نامناسب یا drift
Additivity/reconstruction در toleranceWrong class/output، bug یا serialization
مقایسه چند Background تأییدشدهوابستگی پنهان ادعا به Reference
Correlated/duplicated feature probesتقسیم/جابجایی importance و overclaim
Local-to-global aggregation checksپنهان‌شدن subgroup و cancellation
Model/explainer version mismatch testExplanation مربوط به Deployment قبلی

آزمایش بازتولیدپذیر: دو توضیح دقیق، دو رتبه‌بندی متفاوت

برای نمایش مکانیک Reference، یک Fixture خطی کاملاً ساختگی نوشتیم: score = 2 × signalA + signalB و ورودی (4,2) که score آن ۱۰ است. این برنامه با Node.js ۲۴.۱۸.۰ و بدون Dependency اجرا شد. این پیاده‌سازی SHAP یا LIME نیست؛ فقط تجزیه افزایشی دقیق نسبت به دو Reference را نشان می‌دهد.

INSTANCE: signalA=4, signalB=2, score=10

ZERO_REFERENCE (0,0)
base=0
contribution: signalA=8, signalB=2
reconstructed=10
ranking: signalA > signalB

NEAR_REFERENCE (4,0)
base=8
contribution: signalA=0, signalB=2
reconstructed=10
ranking: signalB > signalA

SMALL_RELEVANT_CHANGE: signalB=2.001
score=10.001; contributions=8 and 2.001; reconstructed=10.001

LARGER_RELEVANT_CHANGE: signalA=3
score=8; contributions=6 and 2; reconstructed=8

هر دو توضیح، همان score را دقیق بازسازی می‌کنند؛ بااین‌حال Reference صفر می‌گوید signalA مهم‌تر است و Reference نزدیک می‌گوید signalB مهم‌تر است. نتیجه: «دقیق‌بودن جمع» با «Reference-independent truth» یکی نیست. Background باید جزو Evidence باشد و تغییر آن Change کنترل‌شده محسوب شود. اعداد، Featureها و Thresholdها نویسنده‌ساخته‌اند؛ هیچ داده، انسان، مدل واقعی، uncertainty، distribution یا اثر اجتماعی ندارند و برای Benchmark، تفسیر SHAP، تصمیم واقعی، اثبات Accuracy/Fairness/Causality یا اعتماد مناسب نیستند.

Counterfactual Explanation را چگونه تست کنیم؟

Counterfactual می‌گوید با چه تغییر محاسباتی، خروجی مدل عوض می‌شود. نخست آن را دوباره به همان Pipeline بدهید و عبور از نتیجه را تأیید کنید. سپس Feasibility را جدا بسنجید: آیا Feature تغییرپذیر است؟ تغییر در کنترل فرد است؟ ترکیب پیشنهادی قیود دامنه را نقض نمی‌کند؟ هزینه و زمان واقع‌بینانه است؟ راه‌های متنوع وجود دارد؟ پیشنهاد زیر model update یا داده اندکی متفاوت پایدار است؟

آزمونمثال Failure
Validityبا اعمال پیشنهاد، Prediction اصلاً عوض نمی‌شود
Immutable constraintsتغییر سن، محل تولد یا گذشته پیشنهاد می‌شود
Domain feasibilityمقادیر یا ترکیب غیرممکن ساخته می‌شود
Actionability/controlکاربر به تغییر Feature دسترسی ندارد
Cost/time«حداقل» ریاضی اما غیرعملی برای انسان
Diversityفقط یک مسیر گران/پرریسک عرضه می‌شود
Stabilityبا perturbation کوچک، توصیه کاملاً متناقض می‌شود
Causal restraintتغییر همبسته به‌عنوان علت قطعی معرفی می‌شود

توضیح مدل با توضیح کل سیستم فرق دارد

در Production، نتیجه ممکن است از preprocessing، مدل، Calibration، threshold، rules، policy، cache، human review و downstream action ساخته شود. Attribution مدل تنها یکی از این لایه‌ها را می‌بیند. یک Failure Packet باید شناسه درخواست را از ورودی خام تا action نهایی دنبال کند؛ نمایش Featureهای مدل برای توضیح Rule ردکننده یا override انسانی، Target mismatch است.

Raw input → normalization/feature pipeline → model score
→ calibration/threshold → policy/rule → human review
→ final action → notice/explanation → correction/appeal/remedy

For every arrow record:
artifact/version + timestamp + owner + input/output identity
reason code + uncertainty + overrides + evidence retention

برای مدل‌های مولد و LLM چه چیزی را توضیح می‌دهیم؟

متنِ دلیل‌نما را بازتاب قطعی فرایند درونی مدل فرض نکنید. برای سیستم مولد، Artifactهای آزمون‌پذیرتر شامل Citation و Provenance، قطعه‌های بازیابی‌شده، Tool-call record، policy/rule اجراشده، Model/prompt/config identity، confidence یا abstention تعریف‌شده، و گزارش human override است. متن explanation باید با شواهد قابل‌مشاهده سازگار باشد و ادعای «این دقیقاً فکر پنهان مدل بود» نکند. برای ارزیابی Claimهای کلی مدل مولد همچنان صفحه مالکِ تست AI/ML را به کار ببرید.

سناریوی ایرانی: اولویت‌بندی هشدار مغایرت پرداخت، نه مسدودسازی خودکار

فرض کنید یک بازارگاه خیالی ایرانی، پرداخت‌های دارای احتمال مغایرت را فقط برای بازبینی انسانی اولویت‌بندی می‌کند؛ مدل حق رد سفارش، مسدودکردن مشتری یا برداشت مالی ندارد. واحد پول Canonical ریال است و UI مبلغ تومان را با برچسب صریح نشان می‌دهد. داده‌ها کاملاً ساختگی‌اند و شامل PAN، CVV2، OTP یا Token واقعی نیستند. این سناریو توصیه حقوقی، بانکی یا ضدتقلب نیست؛ هدف، تست Explanation در یک Workflow آشناست.

Fictional decision contract
output: queue_priority = high | normal | abstain
purpose: human reconciliation review only
allowed signals: duplicate callback count, commit-timeout flag,
reconciliation mismatch, PSP error family, event-order anomaly
prohibited action: automatic block/refusal/charge/reputation label
operator explanation: evidence IDs + reason codes + safe next check
merchant notice: status, affected order, correction/appeal path؛ no anti-gaming detail
oracle: Order + PaymentAttempt + PSP + Ledger + Outbox + Reconciliation
identity: tenant/order/payment-attempt/idempotency/model/explainer versions

ماتریس E2E توضیح در Workflow پرداخت خیالی

حالتانتظار سیستمانتظار توضیح اپراتورانتظار برای فروشنده/کاربر
Timeout پیش از Commitنامعلوم/Probe سپس تصمیمعدم وجود Commit با Evidence timestampوضعیت در حال بررسی؛ Retry کنترل‌شده
Timeout پس از Commitاز Charge مجدد جلوگیری شودCommit و callback correlationاز پرداخت دوباره خودداری؛ زمان پاسخ
Callback تکراریIdempotent و یک اثر مالیتعداد callback و یک PaymentAttemptیک وضعیت نهایی، بدون جزئیات Rule امنیتی
Callback دیررس/خارج‌ترتیبReconcile یا Queue reviewترتیب event و watermarkتأخیر و مسیر پیگیری روشن
Ledger mismatchHigh priority انسانیشناسه Evidence و اختلاف ریالیعدم قطعیت و SLA بررسی؛ نه اتهام تقلب
ورودی ناقص/OODAbstainFeature/Dependency نامعتبربررسی انسانی؛ بدون دلیل ساختگی
Human overrideتصمیم و مالک ثبت شوددلیل Override جدا از مدلنتیجه نهایی و مسیر اعتراض

تست فارسی، RTL، عدد، زمان و Accessibility توضیح

  • Reason code فنی را با متن فارسیِ ثابت و Versioned نگاشت کنید؛ ترجمه آزاد در هر Run ممنوع.
  • ترکیب RTL/LTR برای `model-v17`، شناسه تراکنش و timestamp نباید ترتیب را وارونه کند.
  • ۱۲٬۰۰۰٬۰۰۰ ریال و ۱٬۲۰۰٬۰۰۰ تومان باید واحد آشکار داشته باشند؛ تبدیل پنهان ممنوع.
  • ارقام فارسی، عربی و لاتین و Unicode normalization را هم در Pipeline و هم Explanation آزمایش کنید.
  • UTC را با Asia/Tehran و نمایش جلالی جدا کنید؛ Explanation باید instant اصلی را نگه دارد.
  • رنگ تنها حامل علامت Contribution نباشد؛ جدول متنی، label و ترتیب keyboard فراهم شود.
  • Screen reader باید Base، عامل، جهت، مقدار، واحد و محدودیت را به ترتیب مفید بخواند.
  • نمودار طولانی Progressive disclosure داشته باشد، اما عامل یا هشدار Critical پنهان نشود.
  • Comprehension را با سؤال task-based بسنجید: «چه اتفاقی افتاد؟ چه چیزی قطعی نیست؟ اقدام بعدی چیست؟»
  • مقایسه UI explanation با Evidence خام، Screenshot و report را مطابق ارائه نتیجه تست برای تصمیم انجام دهید.

فهم کاربر را با رضایت یا اعتماد اشتباه نگیرید

توضیح می‌تواند حس اعتماد را زیاد کند و هم‌زمان اتکا را بدتر سازد. در مطالعه کاربر، Accuracy پاسخ به سؤال، زمان، خطای اقدام، توان تشخیص limitation، انتخاب درست Escalation و مقاومت در برابر Automation bias را اندازه بگیرید. «توضیح را دوست داشتم» فقط یک Signal تجربه کاربری است. تیم طراحی توضیح نباید سؤال‌ها را هدایت کند و نمونه باید نقش، زبان و سطح سواد مخاطبان هدف را پوشش دهد.

TaskسنجهCountermetric
تشخیص عامل اصلیپاسخ صحیح بدون کمکبرداشت علّی نادرست
تشخیص محدودیتذکر uncertainty/OODاعتماد بیش‌ازحد
انتخاب اقدامEscalation/Correction درستاقدام پرخطر یا غیرمجاز
اعتراضتکمیل مسیر با Evidenceرهاکردن به علت اصطکاک
مقایسه تصمیم‌هاتشخیص تفاوت واقعیاثر رنگ/ترتیب/Anchoring

امنیت و حریم خصوصی: توضیح بیشتر همیشه بهتر نیست

Explanation می‌تواند رکورد آموزشی، Feature حساس، منطق ضدسوءاستفاده یا اطلاعات Tenant دیگر را لو بدهد؛ همچنین probing تکراری ممکن است به model extraction یا Gaming کمک کند. راه‌حل، حذف پنهانی دلیل یا ساختن داستان جایگزین نیست. Viewهای Role-based، حداقل‌سازی، aggregation، redaction علامت‌خورده، rate limit، access log، retention و پاسخ عمومیِ صادقانه طراحی کنید. تست حریم خصوصی تفصیلی در راهنمای تست حریم خصوصی مالکیت جدا دارد.

تهدیدProbeکنترل/Oracle
Cross-tenant leakageدرخواست explanation با ID Tenant دیگرDenied + zero content leakage + audit
Training membership hintنمونه‌های مرزی و تکرار queryPrivacy review و حداقل افشا
Sensitive attribute disclosureAttribution/trace raw fieldPolicy allowlist و redaction آشکار
Gaming/extractionAdaptive probing در نرخ بالاRate/role controls بدون دروغ توضیحی
Prompt/secret leakageInstruction injection به explainer مولدIsolation، output validation و refusal
Evidence tamperingویرایش log/version/referenceIntegrity، immutable IDs و mismatch alert

تست API، Cache، Latency و Failure mode توضیح

  • Prediction و Explanation باید correlation ID مشترک و identity مستقل داشته باشند.
  • Cache key باید model، explainer، config، background، input و target output را شامل شود.
  • Deploy هم‌زمان مدل و explainer را با skew عمدی آزمایش کنید؛ mismatch باید Fail closed یا آشکار شود.
  • Timeout explainer نباید نتیجه قبلی یا متن generic را به نام Explanation تازه بازگرداند.
  • Retry باید idempotent باشد و Seed/Run identity را روشن نگه دارد.
  • Serialization اعداد کوچک/منفی، NaN، null، class index و locale را تست کنید.
  • Explanation unavailable باید state صریح باشد؛ Prediction موفق آن را به Passed تبدیل نمی‌کند.
  • Latency بودجه‌ای جدا از model inference دارد و fallback باید مطابق ریسک مخاطب تعریف شود.

پایش Production: Drift توضیح هم وجود دارد

حتی بدون افت Accuracy، Background، feature pipeline، dependency یا گروه کاربران می‌تواند عوض شود و توضیح را بی‌اعتبار کند. Distribution Attribution را فقط برای هشدار استفاده کنید، نه Verdict کیفیت؛ آن را با نسخه‌ها، input/output drift، fidelity probe، نرخ abstain، failure explainer، شکایت، correction، appeal و human override پیوند دهید.

SignalTrigger بررسیCountermetric
Attribution distribution driftتغییر نسبت به cohort/version مرجعOutput/data drift و domain event
Fidelity probe failureعبور از error/agreement contractProbe coverage و OOD rate
Explanation unavailableافزایش timeout/error/cache mismatchInference success و fallback safety
Comprehension dropخطای task یا escalation نامناسبaudience mix و UI change
Appeal/correction riseReason code/slice خاصExposure denominator و outcome
Override disagreementالگوی پایدار با evidenceReviewer context؛ نه امتیازدهی کارکنان

Changeهایی که بازآزمایی XAI را اجباری می‌کنند

تغییر Model weights/architecture، Feature engineering، calibration/threshold، explainer یا Library، Background/Reference، training/serving data، localization، Reason-code map، Workflow rule، policy، UI، نقش‌های دسترسی و retention باید Impact record داشته باشد. فقط Version مدل را در dependency list نگه‌داشتن کافی نیست.

Explanation Change Record
change_id / date / owner / reason
before→after identities: model, explainer, config, reference, UI, policy
affected claims/audiences/slices
required reruns: fidelity, stability, sensitivity, comprehension,
privacy/security, latency/failure, appeal E2E
comparison artifact + known differences + approved exceptions/expiry
release decision + monitor trigger + rollback pair

Evidence Pack و Failure Packet

Evidence Pack باید Contract، نسخه‌ها، Environment/Data manifest، Probe generator، seeds، Reference lineage، raw outputs، metric definitions، intervals، Slice results، UI/accessibility evidence، Security tests، limitations، exceptions و approval را نگه دارد. برای هر defect، یک Failure Packet کوچک بسازید تا توسعه‌دهنده بدون حدس Run را بازسازی کند.

Explanation Failure Packet
case/run/correlation/tenant-safe IDs
raw input hash + allowed sanitized fixture
prediction/class/action + full system/model identities
explainer/config/seed/reference/background identities
expected relation + actual explanation + numerical tolerance
pipeline/rule/human override trace
screenshot/API response/logs with redaction manifest
reproduction command + first-attempt result + retries preserved
impact: audience/action/privacy/appeal
owner, severity, workaround, retest and closure evidence

Release Gate: Explanation را پشت میانگین پنهان نکنید

Gate را بر اساس ریسک کاربرد Tailor کنید. برای تصمیم اثرگذار، Target/version mismatch، Fidelity شکست‌خورده، confident explanation در OOD، افشای داده، اقدام ناممکن/آسیب‌زا یا مسیر اعتراض خراب باید Hard stop باشد. امتیاز UX بالا نباید آن‌ها را جبران کند. نتیجه Run را Passed/Failed/Blocked/Inconclusive/Invalid نگه دارید؛ Not run را Pass حساب نکنید.

Gateنمونه Evidenceتصمیم
Identity/targetهمان input/output/model/workflowMismatch = Stop
Fidelitymetric + interval + scope + independent probesCritical failure = Stop
Stability/SensitivityMetamorphic suite و repeated runsUnexplained inversion = Hold
LimitsOOD/low-confidence abstain testFabricated certainty = Stop
Human taskcomprehension/action studyunsafe action = Stop
Privacy/Securityrole/tenant/probing/integrity testsLeakage = Stop
Appeal/CorrectionE2E case and SLA evidenceimpactful use broken = Stop
Operationslatency/failure/cache/monitor/rollbackconditional only with bounded fallback

نقش‌ها و Decision Rights

نقشمسئولیتحق تصمیم
Product/Use-case ownerPurpose، مخاطب، اقدام و خطرتوقف Use case یا محدودکردن Scope
Model ownerTarget، model behavior، output spaceقبول/رد model-related change
Explanation ownerMethod/config/reference و claimاعلام Invalid explanation
QA/TestOracle، probe، evidence و independent verdictHold بر اساس Hard gate
Domain/Human-factorsmeaningfulness، feasibility و task studyرد UI/action unsafe
Security/Privacyافشا، role، retention و abuseStop در leakage/critical abuse
Operationsdeploy pairing، SLO، monitor و rollbackFallback/rollback عملیاتی
Appeal/Remedy ownercorrection، review، SLA و outcomeبازکردن پرونده و اصلاح نتیجه

پایلوت ۳۰روزه تست XAI

بازهکارخروجی قابل‌ممیزی
روز ۱–۵یک تصمیم محدود، مخاطب، action و owner؛ ترسیم Workflow کاملUse-case boundary + Explanation Contract
روز ۶–۱۰ثبت مدل/explainer/reference؛ ساخت exact و metamorphic fixturesVersion manifest + probe corpus
روز ۱۱–۱۵Fidelity، stability، sensitivity، OOD و failure injectionMetric report + raw evidence
روز ۱۶–۲۰تست RTL/accessibility، comprehension و safe actionUser-task evidence + UI defects
روز ۲۱–۲۵Privacy/security، tenant، cache، latency، appeal E2EFailure packets + hard-gate verdict
روز ۲۶–۳۰Deploy pairing، monitor، rollback drill و decision reviewEvidence Pack + conditional Release/Hold/Stop

۲۰ ضدالگو در هوش مصنوعی قابل توضیح

  1. برابرگرفتن Explanation با اعتماد، حقیقت یا علیت.
  2. نمایش نمودار بدون model/explainer/reference identity.
  3. استفاده از یک Explanation برای توسعه‌دهنده، کاربر و ممیز.
  4. تست روان‌بودن متن و حذف Fidelity.
  5. تست Fidelity و حذف Comprehension/Action.
  6. تبدیل Feature importance به دلیل اخلاقی یا قانونی.
  7. اعلام Bias فقط از روی Attribution یک فرد.
  8. فرض اینکه مدل ساده ذاتاً برای همه قابل‌فهم و درست است.
  9. فرض اینکه Post-hoc explanation بدون trade-off است.
  10. نادیده‌گرفتن Background/Reference در SHAP.
  11. اجرای LIME با یک Seed و یک Screenshot.
  12. ساخت Perturbationهای خارج دامنه و قبول نتیجه.
  13. یکی‌گرفتن Explanation مدل با تصمیم کل Workflow.
  14. ارائه Counterfactual ناممکن یا خارج کنترل فرد.
  15. تولید explanation قطعی برای OOD یا failure method.
  16. برگرداندن Cache نسخه قبلی بدون هشدار.
  17. افشای داده/منطق حساس به نام شفافیت.
  18. حذف Reason و جایگزینی متن ساختگی به نام امنیت.
  19. میانگین‌گیری UX خوب با leakage یا Fidelity failure.
  20. نداشتن Correction، Appeal، owner، expiry و rollback.

چک‌لیست ۲۰نقطه‌ای QA برای XAI

  1. Decision، Scope و prohibited use نوشته شده است.
  2. هر Audience و Action مجاز مشخص است.
  3. Target مدل یا Workflow دقیق است.
  4. Model/data/policy/explainer identity ثبت می‌شود.
  5. Local/Global و output/class آشکار است.
  6. Method/config/seed قابل‌بازتولید است.
  7. Background/Reference lineage و دلیل دارد.
  8. Fidelity metric و independent probes تعریف شده‌اند.
  9. Stability relation برای تغییر نامربوط دارید.
  10. Sensitivity relation برای تغییر مرتبط دارید.
  11. Exact/metamorphic/sanity Oracle مناسب دارید.
  12. OOD و knowledge-limit behavior آزموده شده است.
  13. فارسی، RTL، عدد، واحد و زمان درست‌اند.
  14. Accessibility و task-based comprehension سنجیده شده است.
  15. Actionability و Counterfactual feasibility آزموده شده‌اند.
  16. Tenant/privacy/security/anti-gaming پاس شده‌اند.
  17. API/cache/latency/retry/fallback failure تست شده‌اند.
  18. Correction/Appeal/Review به‌صورت E2E کار می‌کند.
  19. Change trigger، monitor، owner و rollback دارید.
  20. Evidence Pack و Hard-gate verdict مستقل آماده‌اند.

جمع‌بندی: توضیح را هم تست کنید

هوش مصنوعی قابل توضیح پایان تست جعبه سیاه نیست؛ خودش یک سطح تازه از محصول و ریسک است. ابتدا Purpose و Audience را تثبیت کنید، سپس Target/Method/Reference را Version کنید، Fidelity و Stability/Sensitivity را با Oracle محدود بسنجید، فهم و اقدام واقعی کاربر را مشاهده کنید و Limits، Privacy و Appeal را Hard gate بگذارید. SHAP، LIME و Counterfactual ابزارند، نه حکم حقیقت. توضیحی که ادعایش دقیق، محدودیتش آشکار و Evidence آن بازتولیدپذیر است می‌تواند تصمیم بهتر را پشتیبانی کند؛ هیچ نموداری به‌تنهایی مدل را درست، منصفانه یا قابل‌اعتماد نمی‌کند.

پرسش‌های متداول هوش مصنوعی قابل توضیح

آیا XAI ثابت می‌کند پیش‌بینی مدل درست است؟

خیر. یک Explanation وفادار می‌تواند نشان دهد مدل چگونه به خروجی غلط رسیده است. Accuracy/validity خروجی و Fidelity توضیح دو محور مستقل‌اند و هر دو Evidence می‌خواهند.

تفاوت SHAP و LIME چیست؟

LIME معمولاً یک surrogate تفسیرپذیر را محلی پیرامون Prediction می‌آموزد؛ SHAP چارچوب Attribution افزایشی برای سهم Featureها در یک Prediction ارائه می‌کند. ادعای هر دو به پیکربندی و Scope وابسته است؛ LIME به sampling/locality و SHAP به Explainer/Reference/output assumptions حساس است.

آیا مقدار SHAP علت تصمیم را نشان می‌دهد؟

نه به‌صورت خودکار. مقدار SHAP Attribution نسبت به تعریف روش و Background است. برای ادعای علّی به سؤال، طراحی و شواهد علّی مستقل نیاز دارید؛ Feature مهم یا Counterfactual محاسباتی جای آن را نمی‌گیرد.

Fidelity توضیح را چگونه بسنجیم؟

ابتدا Target و Scope را مشخص کنید؛ سپس متناسب با روش از exact trace، reconstruction، independent perturbation، local surrogate agreement یا metamorphic relation استفاده کنید. Metric، neighborhood، tolerance، interval، Slice و محدودیت تعمیم باید ثبت شوند.

آیا توضیح‌پذیری به‌تنهایی Fairness و انطباق قانونی را اثبات می‌کند؟

خیر. Explanation می‌تواند سرنخ یا Evidence محدود بدهد، اما Fairness به سؤال هنجاری، گروه/Denominator، metric، uncertainty و پیامد Workflow نیاز دارد. انطباق قانونی نیز به حوزه قضایی و مشاوره واجدصلاحیت وابسته است؛ XAI «حق توضیح» یا Compliance را خودکار تأمین نمی‌کند.

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