تشخيص أعطال الرافعة العلوية بالذكاء الاصطناعي: شفافية Grad-CAM وSHAP
يتم الآن حل مشكلة "الصندوق الأسود" في تشخيص أعطال الرافعات العلوية بالذكاء الاصطناعي من خلال تقنيتين قابلتين للتفسير: يولّد Grad-CAM خريطة حرارية تُظهر للمشغّل أي منطقة من مناطق المستشعرات "رآها" النموذج، بينما يجيب SHAP كميًا عن مساهمة كل ميزة دخل في نتيجة التشخيص. بعد أن طبّقت كيلود للصناعات الثقيلة نظامًا متكاملًا يجمع بين التقنيتين على 5 رافعات علوية QD32/5t في مسبك مستمر بأحد مصانع الصلب، ارتفع معدل اعتماد المشغّلين على تشخيص الذكاء الاصطناعي من 62% في البداية إلى 94%، وانخفض التوقف غير المبرمج بنسبة 61%. يتمثل جوهر التقنية في: يوفر Grad-CAM تحديد المواقع المكانية ("نطاق تردد الاهتزاز 1.2~2.4kHz في مبيت محمل الأسطوانة هو ما ركّزت عليه")، بينما يوفر SHAP ترتيب الإسناد ("مساهمة V1_RMS +0.32، ومساهمة التفرطح V2 +0.21")، وهما معًا يشكلان سلسلة أدلة تشخيصية متكاملة.
حققت نماذج التعلم العميق (CNN/GNN) دقة F1>0.97 في تشخيص أعطال الرافعات العلوية، لكن الغالبية العظمى من المستخدمين الصناعيين لا يقبلون قرارًا من "الصندوق الأسود" يقول "النموذج يقرر وجود عطل". من الناحية التنظيمية: يتطلب المعيار GB/T 41867-2022 "الذكاء الاصطناعي - قابلية التفسير - المصطلحات والتصنيف" بوضوح أن توفر أنظمة الذكاء الاصطناعي عالية المخاطر تفسيرًا لقراراتها. من الناحية العملية: يحتاج المشغّل إلى معرفة لماذا حكم الذكاء الاصطناعي بوجود عطل في المحمل — هل كان تردد الاهتزاز هو الصحيح أم تغيّر شكل التيار — حتى يثق في تعليمات الصيانة وينفذها.
تستند هذه المقالة إلى نظام تشخيص الذكاء الاصطناعي الذي نشرته كيلود للصناعات الثقيلة على 12 رافعة علوية، وتعرض بشكل كامل مبادئ وتنفيذ Python وخطة تكامل لطريقتي التفسير السائدتين: Grad-CAM (تعيين التفعيل الطبقي الموزون بالتدرج) وSHAP (التفسير الإضافي لشابلي). تختلف وظيفتا الطريقتين: يجيب Grad-CAM عن سؤال "أين نظر النموذج؟" (تحديد المواقع المكانية)، بينما يجيب SHAP عن سؤال "ما هي الميزة الأكثر أهمية؟" (إسناد الميزات)، وهما معًا يغطيان متطلبين أساسيين من GB/T 41867-2022 لقابلية التفسير: الفهم الوظيفي وإمكانية التتبع على مستوى الميزات.
مبدأ Grad-CAM: من الانتشار العكسي للتدرج في CNN إلى التصور بالخريطة الحرارية
المبدأ الرياضي: الفكرة الأساسية لـ Grad-CAM (Selvaraju et al., 2017) هي استخدام معلومات التدرج من الطبقة التلافيفية الأخيرة في CNN لحساب وزن الأهمية لكل قناة ميزة، ثم جمعها مرجحة لتوليد خريطة تنشيط حرارية للفئة. لمهمة تشخيص أعطال الرافعة العلوية، افترض أن الطبقة التلافيفية الأخيرة تنتج خريطة ميزات A⁽ˡ⁾∈ℝ^C×H×W (C=512 قناة، H=8، W=8 دقة مكانية)، للفئة الهدف c (مثل عطل المحمل F1)، أولاً نحسب متوسط تدرج درجة الفئة c على جميع المواضع المكانية لخريطة الميزات k: αₖᶜ = (1/Z)·∑ᵢ∑ⱼ ∂yᶜ/∂Aⁱʲₖ. ثم نجمع خرائط الميزات خطيًا مرجحة بمعاملات αₖᶜ: L_Grad-CAM = ReLU(∑ₖ αₖᶜ·Aₖ). تضمن ReLU الأخيرة الاحتفاظ فقط بالمناطق ذات الارتباط الإيجابي ("النموذج ينظر هنا لتحديد العطل")، بينما يتم كبت المناطق ذات الارتباط السلبي.
المعنى المحدد في تشخيص اهتزاز الرافعة العلوية: افترض أن الدخل هو مخطط طيف FFT لـ 12 مستشعرًا × 256 نقطة (مدمج كدخل ثنائي الأبعاد 12×128)، بعد 3 طبقات تلافيفية وطبقات تجميع، يصبح حجم خريطة الميزات في الطبقة الأخيرة 8×8 (أي ما يعادل كل موضع مكاني يقابل نطاق تردد معين). المناطق الحمراء على خريطة Grad-CAM الحرارية تقابل نطاقات التردد ومواضع المستشعرات التي يعتبرها نموذج التشخيص الأكثر أهمية. في القياسات الفعلية، لتشخيص عطل المحمل F1، تتركز قمم خريطة Grad-CAM الحرارية حول نطاق التردد 1.2~2.4kHz لمستشعر اهتزاز مبيت محمل الأسطوانة V3 — وهذا هو بالضبط نطاق التردد المقابل للتردد المميز الأساسي 2,180Hz لعطل الحلقة الخارجية للمحمل الدوار، ويتوافق تمامًا مع نظرية المرونة لتلامس هيرتز.
كود التنفيذ في PyTorch:
import torch import torch.nn.functional as F import matplotlib.pyplot as plt import numpy as np class GradCAM: """Grad-CAMمولّد الخريطة الحرارية——مكيّف للرافعة العلويةCNNوحدة التشخيص نوع""" def __init__(self, model, target_layer): self.model = model self.target_layer = target_layer self.gradients = None self.activations = None # تسجيل خطافات الانتشار الأمامي والخلفي target_layer.register_forward_hook(self._forward_hook) target_layer.register_full_backward_hook(self._backward_hook) def _forward_hook(self, module, input, output): self.activations = output.detach() # [B, C, H, W] def _backward_hook(self, module, grad_input, grad_output): self.gradients = grad_output[0].detach() # [B, C, H, W] def generate(self, x, class_idx=None): """توليد الخريطة الحرارية""" # الانتشار الأمامي logits = self.model(x.unsqueeze(0)) if class_idx is None: class_idx = logits.argmax(dim=1).item() # الانتشار العكسي(درجة الفئة المستهدفة) self.model.zero_grad() logits[0, class_idx].backward() # حساب أوزان التدرج αₖᶜ = global_average_pooling(∂y/∂Aₖ) weights = self.gradients.mean(dim=(2, 3), keepdim=True) # [1, C, 1, 1] # الجمع الموزون: Σ αₖ·Aₖ cam = (weights * self.activations).sum(dim=1, keepdim=True) # [1, 1, H, W] cam = F.relu(cam) # الاحتفاظ بالارتباطات الموجبة فقط # رفع العينات إلى حجم الإدخال cam = F.interpolate(cam, size=(128, 128), mode='bilinear', align_corners=False) cam = cam.squeeze().cpu().numpy() # تطبيع إلى[0,1] cam = (cam - cam.min()) / (cam.max() - cam.min() + 1e-8) return cam, class_idx # مثال الاستخدام # model = torch.load('crane_cnn_fault.pt') # رافعة علوية مُدرّبة مسبقًاCNNوحدة التشخيص نوع # target_conv = model.features[-1] # طبقة الالتفاف الأخيرة # grad_cam = GradCAM(model, target_conv) # heatmap, pred_class = grad_cam.generate(sample_spectrogram, class_idx=1) # plt.imshow(heatmap, cmap='jet', alpha=0.5) # متراكب على مخطط الطيف # plt.title(f'Grad-CAM: الفئة المتوقعة={pred_class} (عطل المحملF1)') شرح الكود: تلتقط فئة GradCAM تلقائيًا قيم التنشيط والتدرجات للطبقة التلافيفية المستهدفة عبر register_forward_hook و register_full_backward_hook في PyTorch. يتم الحساب الأساسي في طريقة generate: ① الانتشار الأمامي للحصول على logits؛ ② الانتشار العكسي للفئة المستهدفة للحصول على التدرجات؛ ③ التجميع المتوسط العالمي للتدرجات للحصول على أوزان القنوات αₖᶜ؛ ④ الجمع المرجح + ReLU + رفع العينة. يتم في النهاية عرض الخريطة الحرارية متراكبة على مخطط الطيف للإدخال، والمناطق الحمراء هي نطاقات التردد التي يعتمد عليها النموذج في التشخيص.
مبدأ SHAP: كيف يوزع قيمة شابلي مساهمات الميزات كميًا
المبدأ الرياضي: يعتمد SHAP (Lundberg & Lee, 2017) على قيمة شابلي من نظرية الألعاب، حيث يعتبر كل ميزة "لاعبًا" في لعبة تعاونية، وقيمة تنبؤ النموذج هي "إجمالي العائد". تُعرَّف قيمة شابلي للميزة i على أنها المتوسط المرجح للمساهمات الحدية في مخرجات النموذج عند إضافة الميزة i قبل وبعد، عبر جميع المجموعات الفرعية للميزات S⊆F{i}: φᵢ = Σ_{S⊆F{i}} (|S|!(|F|-|S|-1)!/|F|!) · [fₓ(S∪{i}) – fₓ(S)]. حيث fₓ(S) هي مخرجات النموذج على المجموعة الفرعية S فقط (تُستبدل الميزات المفقودة بقيم خط الأساس)، ويعكس الوزن التوافقي احتمال ظهور المجموعة الفرعية S. الميزة الأساسية لـ SHAP هي تحقيق ثلاث بديهيات مثالية: الدقة المحلية (مجموع التفسيرات يساوي إجمالي التنبؤ)، والغياب (الميزات غير الموجودة مساهمتها 0)، والاتساق (إذا غيّر النموذج بحيث تصبح ميزة ما أكثر أهمية، فإن قيمة SHAP الخاصة بها لا تنخفض).
التطبيق في سيناريو الرافعة العلوية: بالنسبة لدخل 120 بُعدًا (12 مستشعرًا × 10 أبعاد ميزات)، فإن حساب المساهمات الحدية لجميع المجموعات الفرعية البالغ عددها 2¹²⁰ غير واقعي بوضوح. عمليًا، يُستخدم TreeSHAP (مخصص لنماذج الأشجار، تعقيد O(TLD²)) أو KernelSHAP (مستقل عن النموذج، يقارب عبر أخذ العينات). تستخدم كيلود للصناعات الثقيلة في تشخيص الرافعات العلوية KernelSHAP مع استراتيجية دمج الميزات في مجموعات: أولاً دمج الميزات العشر لكل مستشعر في 12 مجموعة (قيمة SHAP لكل مجموعة = مجموع الأبعاد العشرة داخلها)، ثم حساب قيم SHAP لكل بُعد داخل المجموعة بشكل منفصل لتحليل دقيق. هذا يقلل فضاء الميزات من 120 بُعدًا إلى 12 مجموعة، مما يقلل تعقيد أخذ العينات 12 مرة. مع حساب 128 عينة خلفية × 256 عملية أخذ عينات، يستغرق حساب SHAP لعينة واحدة حوالي 1.8 ثانية (CPU، Intel i7-12700)، وهو ما يلبي متطلبات توليد تقارير التشخيص دون اتصال.
كود التنفيذ في Python:
import shap import numpy as np import torch class SHAPExplainer: """SHAPمفسّر إسناد الميزات——مخصص لتشخيص أعطال الرافعة العلوية""" def __init__(self, model, background_size=128, n_samples=256): self.model = model self.background_size = background_size self.n_samples = n_samples self.feature_names = [ # 12مستشعرات × 10ميزات ذات أبعاد f'{sensor}_{feat}' for sensor in ['V1','V2','V3','V4','T1','T2','T3','C1','C2','C3','Q1','Q2'] for feat in ['RMS','قيمة الذروة','التفرطح','الانحراف','معامل الشكل الموجي','معامل النبض', 'معامل الهامش','مركز ثقل التردد','نسبة الطاقة_0_500','نسبة الطاقة_500_2k'] ] def _predict_proba(self, X): """PyTorchوحدة التشخيص نوعتغليف كـshapصيغة قابلة للاستدعاء""" self.model.eval() with torch.no_grad(): X_tensor = torch.from_numpy(X).float() outputs = torch.softmax(self.model(X_tensor), dim=1).numpy() return outputs def explain(self, sample, background_data, class_names=None): """توليد لعينة مفردةSHAPتفسير""" # اختيار عينات خلفية عشوائيًا bg_idx = np.random.choice(len(background_data), self.background_size, replace=False) background = background_data[bg_idx] # KernelSHAPمفسّر إسناد الميزات explainer = shap.KernelExplainer(self._predict_proba, background) # حسابSHAPقيمة الذروة(فهرس فئة العطل المحدد) shap_values = explainer.shap_values( sample.reshape(1, -1), nsamples=self.n_samples ) return shap_values # list of [n_classes, n_features] arrays # مثال الاستخدام # model = torch.load('crane_cnn_fault.pt') # explainer = SHAPExplainer(model, background_size=128, n_samples=256) # background_data = np.load('crane_background_samples.npy') # [5000, 120] # sample = background_data[0] # العينة المراد تفسيرها # shap_vals = explainer.explain(sample, background_data) # تجميع حسب المستشعراتSHAPقيمة الذروة # sensor_groups = {s: sum(shap_vals[c][:, i*10:(i+1)*10]) for i, s in # enumerate(['V1','V2','V3','V4','T1','T2','T3','C1','C2','C3','Q1','Q2'])} # shap.summary_plot(shap_vals[1], sample.reshape(1,-1), # feature_names=explainer.feature_names) شرح الكود: تغلف فئة SHAPExplainer منطق استدعاء shap.KernelExplainer. تتحكم المعلمة الأساسية background_size في حجم مجموعة البيانات الخلفية (تؤثر على دقة تقدير خط الأساس)، وتتحكم n_samples في عدد مرات أخذ العينات (تؤثر على وقت الحساب والاستقرار). يُنصح بجمع ≥5,000 عينة من ظروف التشغيل العادية لمجموعة البيانات الخلفية. عند التجميع، يكون للمستشعر V1 (جذر متوسط مربع التسارع والقيمة القصوى) أعلى متوسط SHAP في تشخيص أعطال المحامل، بينما تكون مساهمة T2 (درجة حرارة سطح احتكاك المكبح) الأدنى في الحالة الطبيعية، مما يشير إلى أن النموذج تعلم الارتباطات الفيزيائية بشكل صحيح.
التكامل الهندسي: بنية النظام المزدوج Grad-CAM وSHAP ونشرها
استراتيجية التكامل: يعتمد التصميم الأساسي للنظام المزدوج على مرحلتين متتاليتين: "تحديد المواقع عبر Grad-CAM أولاً، ثم الإسناد عبر SHAP". في المرحلة الأولى: أثناء قيام نموذج التشخيص CNN بالاستدلال وإخراج فئة العطل، يقوم Grad-CAM تلقائيًا بتوليد خريطة حرارية تُعرض فوق مخطط الطيف، مع تمييز نطاقات التردد التي يركز عليها النموذج باللون الأحمر في واجهة التشخيص. في المرحلة الثانية: إذا احتاج المستخدم إلى تفسير أدق على مستوى الميزات، يمكنه تشغيل تحليل SHAP بضغطة واحدة (بشكل فوري أو غير متزامن)، لتوليد مخطط أعمدة يوضح ترتيب مساهمة الميزات. ويمنع فصل المرحلتين التأثير السلبي للحسابات المتكررة لـ SHAP (حوالي 1.8 ثانية لكل عملية) على سير عمل التشخيص الفوري (الذي يتطلب أقل من 50 مللي ثانية).
بنية النظام: بيانات المستشعرات اللحظية ← صندوق الحوسبة الطرفية (Jetson Orin NX) ← استدلال CNN (6.2ms) ← توليد خريطة Grad-CAM الحرارية (+0.3ms، بدون تكلفة إضافية) ← عرض فوري على واجهة الإنسان والآلة (HMI) ← عند طلب المستخدم "التفسير العميق" ← إرسال طلب MQTT إلى الخادم على مستوى المصنع ← حساب KernelSHAP (1.8s) ← إرجاع مخطط إسناد SHAP إلى واجهة HMI. يعمل Grad-CAM بشكل دائم ومستمر، بينما يُفعَّل SHAP عند الطلب فقط. في هذا التصميم، تُعد التكلفة الحسابية المنخفضة للغاية لـ Grad-CAM (تمريرة عكسية واحدة فقط، مع زمن استجابة لا يُذكر) مناسبةً لتضمينه في خط أنابيب الاستدلال الفوري، بينما تجعله التكلفة الحسابية لـ SHAP مناسبًا للتحليل غير المتزامن.
مؤشرات الأداء الرئيسية:
| أداءمؤشر | Grad-CAM(عبر الإنترنت) | SHAP(عند الطلب) | تكامل الطريقتين |
|---|---|---|---|
| زمن الحساب الواحد | 0.3ms | 1,800ms | 1.8s(SHAPيُفعَّل عند الطلب فقط) |
| موقع الحساب | الطرف الحافي(Jetson) | مستوى المصنعخادم | الحافة+تنسيق السحابة |
| يُفعَّل عند الطلب فقطتردد | كل استدلال(~5مرة/ثانية) | حسب نقر المستخدم(~3مرة/يوم) | GradCAM 99.9%+SHAP 0.1% |
| اعتماد على الشبكة | لا يعتمد(محلي) | عند الطلبMQTTاتصال | منخفض دون اتصالزمن الاستجابة+مرتفع عبر الإنترنتدقة |
| طريقة دمج الإخراج | مخطط طيفي مع خريطة حرارية | مخطط أعمدة مساهمة الميزات | شاملتشخيصبطاقة تقرير |
نتائج التكامل: أظهر تشغيل 12 رافعة علوية على مدى 16 شهرًا أن معدل اعتماد المشغلين على تشخيص الذكاء الاصطناعي ارتفع من 62% في البداية (عند عرض فئة العطل ونسبة الثقة فقط) إلى 81% (بعد إضافة خريطة التمثيل الحراري Grad-CAM) ثم إلى 94% (بعد إضافة تحليل SHAP)، مما يؤكد أن تحديد المواقع المكاني وإسناد الخصائص لهما تأثير تراكمي في بناء ثقة المستخدم.
تحليل حالات عملية في تشخيص أعطال الرافعات العلوية
الحالة 1: تقشر إجهادي في الحلقة الخارجية لمحمل (رافعة QD32/5t في مصنع صلب، أغسطس 2025)
مخرجات نموذج CNN: فئة العطل F1 (عطل في المحمل)، بثقة 0.963. خريطة Grad-CAM الحرارية: تتركز المنطقة الحمراء عالية المساهمة في الصفوف 3~5 من مخطط الطيف (المقابلة لإشارات مستشعري الاهتزاز V2 وV3) والأعمدة 32~64 (المقابلة لنطاق التردد 1.2~2.4 كيلوهرتز). إسناد SHAP: V2_التفرطح=+0.21 (الأعلى)، V1_جذر متوسط التربيع=+0.19، V3_نسبة_الطاقة_500_2k=+0.15، T1_المتوسط=+0.08. التفسير الشامل: "الارتفاع غير الطبيعي في قيمة التفرطح لمستشعر الاهتزاز V2 في مبيت المحمل (+0.21) وارتفاع قيمة RMS للمستشعر V1 (+0.19)، بالإضافة إلى زيادة طاقة النطاق 1.2~2.4 كيلوهرتز في مبيت محمل الأسطوانة V3 (+0.15)، يشير إلى تقشر إجهادي في الحلقة الخارجية لمحمل دوار. يُوصى بإيقاف التشغيل واستبدال المحمل خلال 48 ساعة." الفحص الفعلي بعد الفتح أكد: تبلغ مساحة التقشر الإجهادي الناتج عن التلامس على مسار الحلقة الخارجية حوالي 15 مم²، وهو مطابق تمامًا للتشخيص.
الحالة 2: اهتراء الترس (رافعة LD16/3.2t في مصنع صلب، يناير 2026)
مخرجات نموذج CNN: فئة العطل F2 (اهتراء الترس)، بثقة 0.941. خريطة Grad-CAM الحرارية: تتركز المنطقة الحمراء حول المستشعر V2 (محمل طرف الإدخال لمخفض السرعة) عبر كامل النطاق، مع ذروة في التردد 0.5~1.0 كيلوهرتز (تردد التعشيق ونطاقه الجانبي). إسناد SHAP: V2_نسبة_الطاقة_0_500=+0.24، V2_الذروة=+0.18، C2_التوافقية_الأساسية=+0.11، Q1_المتوسط=+0.07. نمط مجموعة الخصائص يختلف بوضوح عن الحالة 1 — ففي الحالة 1 كانت الخصائص عالية المساهمة هي V2_التفرطح +0.21 (مؤشر نموذجي لعطل المحمل: التفرطح حساس لإشارات الصدمات)، بينما في الحالة 2 كانت الخصائص عالية المساهمة هي V2_نسبة_الطاقة_0_500 +0.24 (مؤشر نموذجي لاهتراء الترس: ارتفاع طاقة النطاق الجانبي لتردد التعشيق). هذا الاختلاف في أنماط الإسناد بين نوعي الأعطال في فضاء الخصائص يتحقق بشكل إضافي من قابلية التمييز لتفسيرات مستوى الخصائص في SHAP.
بيانات الموثوقية: خلال تشغيل 12 رافعة علوية على مدى 16 شهرًا، أنتجت الطريقتان معًا (Grad-CAM + SHAP) 784 تقرير تشخيص، وبعد المراجعة اليدوية (الفتح/التفكيك/التنظير الداخلي) تم تأكيد 752 تشخيصًا صحيحًا، بنسبة دقة 95.9%. كما بلغت نسبة توافق إسناد SHAP مع رأي الخبراء 92.3% (وافق 155 من أصل 168 مراجعة مستقلة من الخبراء على ترتيب أهمية الخصائص الذي قدمته SHAP).
قيمة الامتثال والثقة للتفسيرية في البيئات الصناعية
متطلبات الامتثال: يصنف المعيار GB/T 41867-2022 "الذكاء الاصطناعي - قابلية التفسير - المصطلحات والتصنيف" قابلية التفسير إلى 4 مستويات (L1 مستوى وظيفي إلى L4 مستوى مفاهيمي)، ويتطلب المعيار GB/T 42132-2022 "المواصفة لتقييم خوارزميات التعلم العميق" إجراء تقييم لقابلية التفسير لأنظمة الذكاء الاصطناعي عالية الخطورة. يؤثر تشخيص أعطال الرافعات العلوية بشكل مباشر على سلامة المعدات وسلامة الأفراد، مما يجعله نظام ذكاء اصطناعي عالي الخطورة، ويجب أن يفي بمتطلبات قابلية التفسير بمستوى L1+L3 على الأقل. تلبي Grad-CAM متطلب L1 (تصف الخريطة الحرارية انتباه وظيفة النموذج)، ويلبي SHAP متطلب L3 (الإسناد الكمي لمساهمة الخصائص)، وقد اجتاز تكامل الطريقتين المراجعة الداخلية للامتثال في كيلود للصناعات الثقيلة.
بناء الثقة: ثقة المشغلين في تشخيص الذكاء الاصطناعي لا تُبنى دفعة واحدة، بل تتراكم تدريجيًا مع كل تقرير تشخيص. من "إخبارك بفئة العطل فقط" إلى "إخبارك أين نظر النموذج" ثم إلى "إخبارك لماذا نظر بهذه الطريقة"، ترتفع شفافية المعلومات تدريجيًا، وتنمو الثقة بشكل طبيعي. أظهرت بيانات تتبع 12 رافعة علوية على مدى 16 شهرًا: خريطة Grad-CAM الحرارية رفعت تحمل الإنذارات الكاذبة من مرة واحدة/أسبوع إلى 3 مرات/أسبوع (أصبح المشغلون أكثر تقبلاً للإنذارات "الوهمية" لأنهم يستطيعون رؤية سبب قرار النموذج)، كما أدى إسناد SHAP إلى خفض نسبة "رفض استنتاج الذكاء الاصطناعي وإجبار الصعود لإعادة الفحص" من 38% إلى 9%.
القيمة الاقتصادية: كل مرة يتم فيها تجنب فتح غير ضروري للصعود والفحص توفر حوالي ¥12,000 (تشمل العمالة + التوقف + قطع الغيار)، وخلال 16 شهرًا، تم تجنب 47 عملية فتح غير ضرورية بفضل ثقة المشغلين بتشخيص الذكاء الاصطناعي، بإجمالي توفير حوالي ¥56عشرة آلاف. بالإضافة إلى ذلك، نظرًا لأن إسناد SHAP كشف عن خصائص العطل المبكرة (مثل التحذير المبكر بعطل المحمل في الحالة 1 قبل 72 ساعة)، تم تجنب حادث واحد لتوقف العمود الرئيسي (الخسارة المباشرة المقدرة ¥18عشرة آلاف + خسائر الإنتاج ¥45عشرة آلاف/يوم × 3 أيام = ¥153عشرة آلاف).
لمزيد من الحلول المجمعة حول قابلية تفسير النماذج والنشر على الحافة، يمكن الرجوع إلى تشخيص الأعطال متعدد المستشعرات باستخدام GNN وممارسات النشر على الحافة باستخدام PyTorch وONNX وTensorRT من كيلود للصناعات الثقيلة.
الأسئلة الشائعة (FAQ)
س: هل يمكن تطبيق Grad-CAM وSHAP معًا على نموذج GNN؟
ج: تتطلب Grad-CAM خرائط ميزات من الطبقات الالتفافية، والرسم البياني الحسابي لـ GNN القياسي (GCN/GAT) (تمرير الرسائل على مستوى الرسم البياني) لا ينتج خرائط ميزات شبكية منتظمة، لذلك لا يمكن تطبيق Grad-CAM مباشرة على GNN. ومع ذلك، يمكن لـ GNN استخدام GNNExplainer (طريقة قابلة للتفسير خاصة بالبنية الرسومية) للحصول على أوزان الانتباه للعقد والحواف، وهو ما يعادل وظيفة تحديد المواقع المكانية في Grad-CAM. يمكن تطبيق SHAP على أي نموذج (مستقل عن النموذج)، بما في ذلك GNN — فقط قم بتغليف دالة الاستدلال الخاصة به كتنسيق قابل للاستدعاء في مكتبة shap. تستخدم كيلود للصناعات الثقيلة في تشخيص GNN الحل البديل "GNNExplainer (تحديد عقد المستشعرات الرئيسية) + SHAP (إسناد الخصائص)".
س: هل يمكن تحسين زمن حساب SHAP؟ 1.8 ثانية طويلة جدًا للتطبيقات اللحظية.
ج: هناك ثلاث طرق للتحسين: ① استخدام FastSHAP (عبر تدريب شبكة مفسر مستقلة لتوليد قيم SHAP التقريبية مباشرة، زمن الاستدلال <1 مللي ثانية)، لكنه يتطلب تدريبًا إضافيًا وقد تكون الدقة التقريبية أقل؛ ② استخدام TreeSHAP (إذا كنت تستخدم XGBoost/LightGBM، فإن تعقيد O(TLD²) أسرع بآلاف المرات من KernelSHAP)؛ ③ استخدام تجميع الخصائص وتقليل عينات الخلفية (تجميع 120 بُعدًا في 12 مجموعة مستشعرات، تقليل background_size من 128 إلى 64، وتقليل n_samples من 256 إلى 128، مما يقلل زمن الحساب من 1.8 ثانية إلى 0.3 ثانية، مع انحراف في قيم SHAP أقل من 3%). توصي كيلود للصناعات الثقيلة بالخيار ③ كحل أمثل هندسيًا.
س: كيف نقرأ خريطة Grad-CAM الحرارية على مخطط الطيف؟ هل المنطقة الحمراء تعني دائمًا وجود عطل؟
ج: تشير المنطقة الحمراء في الخريطة الحرارية إلى أن "النموذج يعتبر هذه النطاقات الترددية الأكثر أهمية لتحديد فئة العطل الحالية"، ولا تعني بالضرورة وجود إشارة عطل في تلك المنطقة. على سبيل المثال، عند تشخيص الحالة الطبيعية، لا تظهر خريطة Grad-CAM الحرارية منطقة حمراء واضحة (أو تكون موزعة بشكل منتظم بدون ذروة)، لأن أساس حكم النموذج بأن "هذه إشارة طبيعية" هو أن طاقة كل نطاق ترددي ضمن النطاق الأساسي. إذا ظهرت فجأة منطقة حمراء واضحة في الخريطة الحرارية (مثل التركيز على نطاق 1.2~2.4 كيلوهرتز + مواقع المستشعرين V2/V3)، حتى لو لم تتجاوز نسبة الثقة عتبة الإنذار، يجب أن تنبه موظفي الصيانة — فقد يكون العطل في مرحلة مبكرة. وضعت كيلود للصناعات الثقيلة مؤشر "النشاط غير الطبيعي للخريطة الحرارية" في واجهة الإنسان والآلة، حيث يتم إطلاق إنذار مبكر عندما يتجاوز انزياح المنطقة المركزية للخريطة الحرارية العتبة لمدة 3 نوافذ متتالية.
س: هل يتطلب نشر نظام قابلية التفسير استثمارات إضافية في الأجهزة؟
ج: لا يتطلب Grad-CAM أي أجهزة إضافية — فهو يستهلك تمريرة خلفية واحدة فقط لوحدة معالجة الرسوميات (أقل من 0.5ms)، ويمكن دمجه بسلاسة في خط أنابيب الاستدلال الخاص بالشبكات العصبية التلافيفية الحالية. أما SHAP، فإذا تم تشغيله عند الطلب على الحافة (Jetson Orin NX)، فإن الحساب الواحد يستغرق حوالي 4~6 ثوانٍ (بسبب محدودية القدرة الحاسوبية)، ويُنصح بنشره على خادم على مستوى المصنع (Intel Xeon أو ما يعادله، 1.8 ثانية) أو في السحابة. تتضمن كيلود للصناعات الثقيلة وحدة Grad-CAM في حزمة التشخيص الذكية القياسية (مجانًا)، بينما تُعد وحدة SHAP خيارًا إضافيًا (12,000 يوان صيني/مجموعة، تشمل تطوير الواجهة المرئية وتدريب المشغلين).
يحل Grad-CAM وSHAP مشكلة "الصندوق الأسود" في تشخيص أعطال الرافعات العلوية بالذكاء الاصطناعي من بُعدين: التحديد المكاني وإسناد الميزات — حيث لم يعد المشغل يواجه نتيجة ثنائية "عطل/طبيعي"، بل يرى سلسلة الأدلة الكاملة لاستدلال النموذج. إن 12 رافعة علوية على مدى 16 شهرًا، و784 تقرير تشخيص، ودقة بلغت 95.9%، ومعدل اعتماد من المشغلين بلغ 94%، تثبت أن قابلية التفسير ليست مجرد متطلب امتثال، بل هي مفتاح القبول الحقيقي لأنظمة الذكاء الاصطناعي وتحقيق قيمتها في البيئات الصناعية. ستواصل كيلود للصناعات الثقيلة تطوير المنهجية المزدوجة Grad-CAM + SHAP نحو التفسير الهيكلي من المستوى L2 (قيد البحث حاليًا: تتبع مسار تنشيط الخلايا العصبية) والتفسير المفاهيمي من المستوى L4 (متجهات تنشيط المفاهيم CAV).