أساسيات تعلم الآلة2017متوسط9 دقيقة قراءة
إطار موحَّد لتفسير تنبؤات النماذج
A Unified Approach to Interpreting Model Predictions
Lundberg, S. · Lee, S. — NeurIPS
المشكلة
النماذج القوية — كالشبكات العميقة وأشجار التعزيز التدريجي والنماذج المُركَّبة — تعطي دقة عالية لكنها صناديق سوداء: لا أحد يستطيع أن يفهم لماذا خرج النموذج بتنبؤ معيّن. كانت هناك أساليب عديدة لتفسير النماذج (مثل LIME وDeepLIFT والانتشار الطبقي للأهمية وأخذ عينات شابلي)، لكن كل أسلوب طُوِّر بمعزل عن الآخر دون نظرية جامعة. لم يكن واضحاً متى يُفضَّل أسلوب على غيره، بل إنّ بعض هذه الأساليب كان يخالف شروط العدالة الأساسية دون أن ينتبه أحد.
الإسهام
يجمع SHAP (التفسيرات الجمعية القائمة على شابلي) ستة أساليب تفسير كانت تعمل كلٌّ على حدة تحت مظلة واحدة — أساليب — ويُبرهن أنّ قيم شابلي المأخوذة من نظرية الألعاب التعاونية هي الحل الوحيد الذي يستوفي ثلاث خصائص مطلوبة: ، والغياب، والاتساق. ويقدّم البحث أيضاً (مُقدِّر مستقل عن بنية النموذج يربط بين LIME ) وDeepSHAP (تقريب سريع مصمَّم للشبكات العميقة).
الأثر
أصبح SHAP المعيار السائد لتفسير النماذج. مكتبة shap مفتوحة المصدر تُستخدم اليوم في مجالات الرعاية الصحية والتمويل والأنظمة الذاتية القيادة والامتثال التنظيمي. أرسى SHAP قاعدة مفادها أنّ أساليب التفسير يجب أن تُقيَّم بمعايير رياضية صارمة وليس بمظهرها البصري فحسب، وربط بشكل عملي بين نظرية الألعاب والتعلم الآلي التطبيقي.
تخيّل شركةً حققت أرباحاً قياسية هذا الربع، ومجلس الإدارة يسأل: ما نصيب كل قسم من الفضل؟ لا يكفي أن تنظر إلى الأرقام النهائية — فحملة التسويق لم تنجح إلا لأنّ فريق الهندسة سلّم المنتج في الوقت المحدد.
قيم شابلي تحلّ هذه المسألة تحديداً: تأخذ كل تشكيلة ممكنة من الأقسام، وتقيس لكل قسم في كل سياق، ثم تخرج بتوزيع للفضل مُثبَت عدالته رياضياً.
هذا بالضبط ما يفعله SHAP مع الذكاء الاصطناعي: لأي تنبؤ مُفرد، يُحدّد لك بدقة كم دفعت كل سمة من سمات الإدخال الناتجَ إلى الأعلى أو الأسفل، مع ضمانات رياضية بأنّ مجموع الإسهامات يطابق الناتج وأنّ التوزيع عادل.
المشكلة: نماذج قوية وقرارات غير مفهومة
يواجه أزمة ثقة حقيقية. عميقة تستطيع أن تتنبأ بإصابة مريض بالسرطان بدقة 95%، لكن حين يسأل الطبيب لماذا هذا التنبؤ بالذات؟ — أيّ ملامح في الصورة أثّرت في القرار؟ — لا يملك النموذج إجابة. وبنك يستخدم يستطيع رفض قرض في لحظة، لكنّ الجهة الرقابية تطالب بمعرفة ما العوامل التي قادت إلى هذا الرفض.
بحلول 2017 كان هناك عدة أساليب لتحقيق — LIME وDeepLIFT والانتشار الطبقي للأهمية وأخذ عينات شابلي — لكن كل أسلوب طُوِّر في جزيرة منعزلة. الأسلوب الأول كان يروي قصة عن التنبؤ والثاني يروي قصة مختلفة تماماً، ولم تكن هناك طريقة للحكم أيّها أقرب إلى الصواب. والأخطر أنّ بعض هذه الأساليب كان يخالف شروط العدالة الأساسية: سمة لم تُسهم بشيء قد تحصل على نصيب من الفضل، أو سمتان متساويتا الأثر قد تحصلان على قيم إسناد مختلفة.
الفكرة المحورية: توزيع عادل للفضل من نظرية الألعاب
في عام 1953 طرح عالم الرياضيات لويد شابلي سؤالاً محورياً: لو تعاون عدة لاعبين وفازوا في ، كيف نوزّع الجائزة بينهم بعدل؟ جوابه — الذي نعرفه اليوم بـقيم شابلي — يقوم على فكرة بسيطة: ادرس كل ترتيب يمكن أن ينضمّ به اللاعبون، واحسب الإسهام الهامشي لكل لاعب في كل ترتيب، ثم خذ المتوسط على جميع الترتيبات.
SHAP ينقل هذه الفكرة إلى عالم التعلُّم الآلي. «اللعبة» هنا هي تنبؤ واحد. «اللاعبون» هم سمات الإدخال. «الجائزة» هي الفرق بين تنبؤ النموذج لهذا الإدخال تحديداً ومتوسط تنبؤاته على جميع البيانات. وقيمة شابلي لكل سمة تجيبك عن سؤال واضح: في المتوسط، عبر كل المجموعات الجزئية الممكنة من السمات الأخرى، كم غيَّر وجود هذه السمة التنبؤَ؟
الصيغة الرياضية: قيم شابلي للتنبؤات
قبل أن ندخل في الرياضيات، لنبنِ صورة ذهنية واضحة. تخيّل قاعة محكمة: التنبؤ هو الحُكم، وكل سمة شاهدٌ يُدلي بشهادته. لتقدير أثر شاهد واحد، تتخيّل كل مجموعة ممكنة من الشهود الذين ربما شهدوا قبله، وتسأل: كيف تغيّر الحُكم حين أضاف هذا الشاهد شهادته؟ ثم تأخذ المتوسط على جميع هذه الترتيبات. هذا المتوسط هو قيمة شابلي.
التحدي الحسابي واضح: مع سمة لدينا مجموعة جزئية ممكنة. لو كان عندنا 20 سمة فقط، يعني ذلك أكثر من مليون . ولو كان عندنا ألف سمة — وهو أمر عادي في الشبكات العصبية — يصبح الحساب الدقيق مستحيلاً عملياً. لهذا السبب يطرح SHAP تقريبات ذكية تتجاوز هذه العقبة.
ثلاث خصائص تفرض حلاً وحيداً
النتيجة النظرية المركزية في هذا البحث هي مبرهنة وحدانية. يضع SHAP ثلاث خصائص يجب أن يستوفيها أي تفسير يحترم نفسه، ثم يُبرهن أنّ قيم شابلي وحدها تستوفيها معاً في آنٍ واحد:
-
الدقة المحلية — مجموع يجب أن يساوي بالضبط تنبؤ النموذج لهذا الإدخال مطروحاً منه متوسط التنبؤات. لا يضيع أي فضل ولا يُخترع فضل من العدم.
-
الغياب — إذا كانت سمة ما غائبة عن الإدخال (قيمتها المبسَّطة صفر)، فيجب أن يكون إسنادها صفراً. لا معنى لمكافأة لاعب لم يدخل الملعب أصلاً.
-
الاتساق — إذا عدَّلنا النموذج بحيث زاد الإسهام الهامشي لسمة ما (أو بقي كما هو) في كل سياق ممكن، فلا يجوز أن ينخفض إسنادها. أن تُعاقَب سمة على زيادة إسهامها أمر غير منطقي بالمرّة.
الفئة الجامعة: الإسناد الجمعي للسمات
الإسهام الأول لـ SHAP هو ملاحظة أنّ ستة أساليب تفسير تبدو مختلفة ظاهرياً — LIME وDeepLIFT والانتشار الطبقي للأهمية وقيم الانحدار الشابلية وقيم أخذ العينات الشابلية والتأثير الكمّي للإدخال — كلها تنتمي في الواقع إلى فئة واحدة هي الإسناد الجمعي للسمات. كل أسلوب منها يشرح التنبؤ باستخدام نموذج خطّي من متغيرات ثنائية:
حيث تدلّ على السمات «الحاضرة»، و هو الإسناد المُعطى للسمة . هذا هو ما نسمّيه نموذج التفسير — بمثابة بسيط يُقرِّب سلوك النموذج الأصلي محلياً. الفارق الوحيد بين هذه الأساليب هو طريقة اختيار قيم .
KernelSHAP: الجسر بين LIME وقيم شابلي
فكرة LIME الأساسية هي تفسير التنبؤ بملاءمة نموذج خطّي موزون على إدخالات مُشوَّشة. لكن المشكلة أنّ اختيار الأوزان و في LIME اختيار تجريبي — لا يستند إلى مبرّر نظري. الاكتشاف الجوهري في SHAP هو أنّ اختياراً بعينه و و يُعطيك قيم شابلي بالضبط.
فكِّر في الأمر كمعايرة ميزان: LIME يستخدم أثقالاً تقريبية فيحصل على قراءات تقريبية. KernelSHAP يستخدم أثقالاً محسوبة رياضياً — نواة شابلي — فيحصل على الإجابة العادلة المُبرهَنة. نواة شابلي تعطي كل تحالف وزناً محدداً:
هذه النواة تمنح أوزاناً كبيرة جداً للتحالفات التي فيها تقريباً كل السمات أو لا سمة تقريباً. هذه هي المقارنات الأغنى بالمعلومات — لأنها تعزل أثر سمة واحدة بأوضح صورة.
DeepSHAP: تفسيرات سريعة للشبكات العميقة
KernelSHAP يعمل مع أي نموذج، لكنه يحتاج إلى تقييمات كثيرة للنموذج. في الشبكات العصبية العميقة ذات الآلاف من المُعاملات، هذا يعني بطئاً شديداً. DeepSHAP يحلّ المشكلة بحيلة مستعارة من DeepLIFT: بدلاً من أخذ عيّنات من التحالفات، يدفع الإسناد إلى الخلف عبر طبقات الشبكة واحدة تلو الأخرى، مستخدماً نسخة معدَّلة من قاعدة السلسلة في .
تخيّل ماءً يسري بالاتجاه المعاكس في شبكة أنابيب: عند كل مفترق ينقسم التدفق بنسبة إسهام كل أنبوب وارد في التدفق الخارج. DeepSHAP يفعل الشيء نفسه مع فضل التنبؤ، لكنه يستخدم قواعد تقسيم مُعايَرة وفق أسلوب شابلي، بحيث تستوفي الإسنادات النهائية الخصائص الثلاث المطلوبة بشكل تقريبي.
تحت افتراض أنّ السمات مستقلة وأنّ الشبكة شبه خطّية، يستعيد DeepSHAP قيم شابلي الدقيقة. وعملياً، حتى حين لا تتحقق هذه الافتراضات بالكامل، يبقى التقريب جيداً بدرجة ملفتة.
الفكرة نفسها في شيفرة برمجية
مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.
import numpy as np
from itertools import combinations
from math import factorial
def shapley_values(model_fn, x, baseline, M):
"""حساب قيم شابلي الدقيقة لتنبؤ واحد.
model_fn: يستقبل إدخالاً مُقنَّعاً ويُرجع تنبؤاً عددياً
x: الإدخال المراد تفسيره (مصفوفة أحادية بـ M سمة)
baseline: الإدخال المرجعي (مثلاً: متوسط بيانات التدريب)
M: عدد السمات
"""
phi = np.zeros(M)
for i in range(M):
for size in range(0, M):
for S in combinations([j for j in range(M) if j != i], size):
S = set(S)
# بناء إدخال يحتوي على سمات التحالف S فقط
z_without = baseline.copy()
for j in S:
z_without[j] = x[j]
# إضافة السمة i إلى التحالف
z_with = z_without.copy()
z_with[i] = x[i]
# الإسهام الهامشي للسمة i
marginal = model_fn(z_with) - model_fn(z_without)
# وزن شابلي: |S|! * (M-|S|-1)! / M!
weight = factorial(len(S)) * factorial(M - len(S) - 1) / factorial(M)
phi[i] += weight * marginal
return phi
# الاستخدام: phi = shapley_values(model.predict, x_test[0], x_train.mean(0), M=10)
# phi[i] = مقدار ما دفعته السمة i بالتنبؤ فوق المتوسط أو تحتهقراءة تفسيرات SHAP: رسوم القوة والملخص
يوفّر SHAP نوعين رئيسيين من الرسوم البيانية. رسم القوة يشرح تنبؤاً واحداً: السمات التي ترفع التنبؤ تظهر بالأحمر في جهة، والسمات التي تخفضه تظهر بالأزرق في الجهة المقابلة، وكلها مجتمعة تمدّ الشريط أو تضغطه من وصولاً إلى التنبؤ النهائي.
رسم الملخص (ما يُعرف بالسرب النقطي) يعطيك صورة شاملة عن النموذج ككل: كل نقطة تمثّل تنبؤاً واحداً، والسمات مرتّبة حسب ، واللون يدلّ على ما إذا كانت قيمة السمة مرتفعة أم منخفضة. تظهر أنماط واضحة: مثلاً «الدخل المرتفع يدفع تنبؤ القرض للأعلى دائماً» أو «العمر المرتفع له تأثير مختلط يعتمد على سمات أخرى».
لماذا غيَّر هذا البحث كل شيء
2016
LIME — نماذج بديلة محلية
اقترح ريبيرو وزملاؤه أسلوب LIME: ملاءمة نموذج بسيط حول كل تنبؤ لتفسيره. فكرة قوية، لكنّ اختيار النواة وطريقة التشويش فيه تجريبي وغير مبرَّر نظرياً.
2017
SHAP — التوحيد
أظهر لوندبرج ولي أنّ LIME وDeepLIFT وأربعة أساليب أخرى كلها أساليب إسناد جمعي للسمات، وأنّ قيم شابلي هي الحل الوحيد الذي يستوفي ثلاث خصائص مطلوبة.
2020
TreeSHAP — حساب دقيق وسريع للأشجار
استغلّ لوندبرج وزملاؤه البنية الشجرية لحساب قيم شابلي الدقيقة في زمن كثيري الحدود. أدمجتها XGBoost وLightGBM بشكل أصيل داخل مكتباتها.
2021
التبنّي التنظيمي
مسوّدات قانون الذكاء الاصطناعي الأوروبي نصّت على قابلية التفسير كمتطلّب أساسي. أصبح SHAP الأداة الأوسع انتشاراً لتفسير النماذج ضمن إجراءات الامتثال.
2023
SHAP في كل مكان
مكتبة shap تجاوزت 20 ألف نجمة على GitHub. قيم SHAP صارت معياراً أساسياً في التعلم الآلي الطبي وتقييم الائتمان والقيادة الذاتية والاكتشاف العلمي.
إرث SHAP لا يقتصر على أنه أسلوب تفسير أفضل من سابقيه — بل أرسى مبدأً جوهرياً: أنّ قابلية التفسير يجب أن تخضع لمعايير رياضية صارمة، تماماً مثل التنبؤ نفسها. السؤال لم يعد «هل يبدو هذا التفسير مقبولاً؟» بل أصبح «هل يستوفي خصائص عدالة يمكن إثباتها رياضياً؟» هذا التحوّل — من الانطباعات إلى البديهيات — هو ما جعل تفسير النماذج جديراً بالثقة فعلاً.
المرجعLundberg, Lee. A Unified Approach to Interpreting Model Predictions. NeurIPS, 2017.
مصطلحات هذه الورقة
- القابلية للتفسيرInterpretability
- قيم شابليShapley Values
- أهمية السماتFeature Importance
- الإسناد الجمعي للسماتAdditive Feature Attribution
- النواة الحسابيةKernel
- دالة الخسارةLoss function
- التدرج التفاضليGradient
- التعلم العميقDeep Learning
- شجرة القرار الإحصائيةDecision Tree
- الغابة العشوائية خوارزميةRandom Forest
- اللعبة التعاونيةCooperative Game