HGFX: a validated Python/JAX reproduction of the Hierarchical Gaussian Filter toolbox
تُعد HGFX أداة برمجية معتمدة بلغة بايثون/جياكس (Python/JAX) تضمن التكافؤ العددي والسلوكي مع تنفيذ مرشح غاوس الهرمي (Hierarchical Gaussian Filter) المرجعي في ماتلاب (MATLAB)، مع القضاء على التبعيات لبرنامج ماتلاب، وتأكيد إمكانية التطبيق على وحدات معالجة الرسومات (GPU)، والحفاظ بشفافية على القيود المعروفة.
يحاول العقل البشري باستمرار فهم عالم نادراً ما يظل على حاله. فعندما نتعلم، نحن لا نكتفي بامتصاص الحقائق فحسب؛ بل نخمن أيضاً مدى موثوقية تلك الحقائق ومدى سرعة تغير قواعد اللعبة. وتعد عملية التعلم في ظل عدم اليقين هذه لغزاً مركزياً في علم الأعصاب. ولدراسة ذلك، يستخدم العلماء نماذج رياضية تعمل كمختبرات افتراضية، تحاكي كيفية قيام الدماغ بتحديث معتقداته عند مواجهة معلومات جديدة. وأحد أكثر الأدوات موثوقية لهذا العمل هو برنامج حاسوبي محدد يسمى "مرشح غاوس الهرمي" (Hierarchical Gaussian Filter). لأكثر من عقد من الزمان، كان هذا البرنامج هو المرجع القياسي، وقد كُتب بلغة تسمى "ماتلاب" (MATLAB)، مما ساعد الباحثين في فهم كل شيء، بدءاً من كيفية إدراكنا للتفاصيل الحسية وصولاً إلى كيفية تخميننا لنوايا الآخرين. ومع ذلك، فإن الاعتماد على بيئة برمجية واحدة قديمة يمكن أن يشكل عائقاً، مما يحد من قدرة الآخرين على استخدام الأداة ومدى سهولة دمجها مع أجهزة الحوسبة الحديثة عالية السرعة.
لقد قام باحث الآن بإنشاء نسخة جديدة من هذه الأداة الأساسية، مبنية من الصفر بلغة "بايثون" (Python)، وهي لغة مستخدمة على نطاق واسع في العلوم الحديثة وتحليل البيانات. لم يكن هدفه ابتكار نظرية جديدة أو طريقة أفضل للتعلم، بل بناء "توأم رقمي" مثالي للبرنامج الأصلي. أراد أن يثبت أنه يستطيع إعادة إنتاج نفس النتائج العلمية بدقة دون الحاجة إلى البرمجيات الأصلية. كانت هذه مهمة دقيقة؛ ففي الحسابات المعقدة، يمكن للفروق الضئيلة في كيفية التعامل مع الأرقام أن تتحول أحياناً إلى أخطاء كبيرة، مما يقود الحاسوب إلى استنتاج مختلف عن غيره. وقد تعامل الباحث مع هذا المشروع كاختبار صارم للأمانة، حيث فحص كل خطوة لضمان أن الكود الجديد يتصرف تماماً مثل الكود القد، وصولاً إلى أدق التفاصيل الرقمية.
أصدر الباحث، بقيادة محمد أحمد خانلو، صندوق أدواته الجديد الذي أطلق عليه اسم "HGFX"، ليكون بديلاً مباشراً للبرنامج الأصلي. لم يقم بمجرد ترجمة الكود؛ بل تعامل مع البرنامج الأصلي كـ "عراف" (oracle) صارم، وهو معيار مجمد يُقاس ضده كل حساب جديد. واختبر النظام الجديد مقابل مسارين تجريبيين رسميين يُستخدمان عادة من قبل العلماء. وفي أحد هذه الاختبارات، يُعرف عن البرنامج الأصلي أنه يواجه صعوبة عددية محددة حيث يتعطل الحساب، بينما تتعامل نسخة مختلفة قليلاً من النموذج مع هذه الصعوبة بنجاح. وقد أعادت أداة بايثون الجديدة إنتاج هذا السلوك بدقة: فقد فشلت بنفس الطريقة التي فشل بها الأصل عندما كان من المفترض أن يفشل، ونجحت عندما كان من المفترض أن تنجح. لم يكن هذا خطأً يجب إصلاحه، بل ميزة يجب الحفاظ عليها، مما أثبت أن الأداة الجديدة تفهم العقد العلمي الأصلي تماماً.
وبعيداً عن مجرد نسخ السلوك، تحقق الباحث مما إذا كانت الأداة الجديدة يمكنها العمل على الأجهزة الحديثة. فقد اختبرها على وحدات معالجة الرسومات الفيزيائية (GPUs)، وهي الرقائق القوية التي تُستخدم غالباً في الذكاء الاصطناعي، ووجد أنها تنتج نتائج لا يمكن تمييزها عن معالج الكمبيوتر القياسي. كان الفرق في الحساب النهائي صغيراً جداً لدرجة أنه قيس في نطاق جزء واحد من عشرة تريليونات، وهو ما يقع ضمن حدود ما يعتبر تطابقاً مثالياً. كما قارن عمله بأداة أخرى موجودة بلغة بايثون لنفس المشكلة. وفي السيناريوهات المحددة التي أمكن فيها إجراء مقارنة عادلة، اتفقت الأداتان على التنبؤات الجوهرية للنموذج، رغم اختلافهما في كيفية التعامل مع بعض الحالات الحدية المتعلقة بالاحتمالات القصوى.
ومن الأهمية بمكان أن الباحث كان صادقاً بشأن ما لا تستطيع أداته الجديدة القيام به. فقد أجرى سلسلة من الاختبارات لمعرفة ما إذا كان النموذج يمكنه استعادة المعلمات المخفية (hidden parameters) من البيانات المحاكات، وهو مطلب شائع في الدراسات العلمية. وفي هذه الاختبارات، طابقت الأداة الجديدة أداء البرنامج الأصلي تماماً، لكن ذلك الأداء لم يستوفِ المعايير العالية المطلوبة للادعاء بأن النموذج ناجح تماماً في استعادة تلك القيم المخفية. وبدلاً من إخفاء هذا القصور أو الادعاء بالنجاح، أبلغ صراحة عن هذا القصور باعتباره عيباً مشتركاً بين الأداتين. ويضمن هذا النهج أن العلماء الذين يستخدمون نسخة بايثون الجديدة في المستقبل لن يعتقدوا خطأً أنهم حلوا مشكلة لا تزال قائمة.
والنتيجة هي أداة تسمح للمجتمع العلمي بالابتعال عن التبعية لبيئة برمجية واحدة قديمة دون فقدان موثوقية عقود من البحث السابق. فمن خلال توفير نسخة تعمل على الأنظمة الحديثة وتنتج نتائج مطابقة للمعايير الذهبية، فتح الباحث الباب أمام المزيد من العلماء لاستخدام هذه النماذج القوية. ويؤكد هذا العمل أنه من الممكن إعادة بناء برمجيات علمية معقدة بلغة جديدة دون تغيير العلم بصمت، بشرتط أن يكون الباني مستعداً لقبول عيوب الأصل كجزء من الحقيقة. وهذا يضمن أن الجيل القادم من الاكتشافات في كيفية تعلمنا وإدراكنا للعالم يرتكز على أساس حديث وأمين بدقة للماضي.
ملخص تقني: HGFX – إعادة إنتاج موثقة لـ Python/JAX لـ Hierarchical Gaussian Filter Toolbox
بيان المشكلة يُعد مرشح غاوس الهرمي (HGF) إطار عمل بايزي هرمي قياسي لنمذجة التعلم تحت ظروف عدم اليقين والتقلب، وهو مستخدم على نطاق واسع في علوم الأعصاب الحسابية والطب النفسي. وتتمثل نسخته الأساسية في أداة TAPAS القائمة على MATLAB. وبينما توجد بدائل تعتمد على Python وJAX (مثل pyhgf)، إلا أنها غالبًا ما تعطي الأولوية للاستدلال القابل للاشتقاق أو مرونة الشبكات على حساب التطابق العددي الصارم مع المرجع القديم. وهذا يخلق فجوة في إمكانية إعادة الإنتاج: فإعادة تنفيذ أداة علمية ليست مجرد ترجمة للمعادلات، بل تتطلب مطابقة ترتيب المعلمات، والتحويلات، والتوزيعات القبلية، والعمليات العددية الأولية، وسلوكيات المحسن (optimizer). إن الاختلافات الطفيفة في الفاصلة العائمة يمكن أن تتضخم من خلال تقدير المشتقة والتحسين غير المحدب، مما يؤدي إلى استدلالات ملائمة أو نتائج اختيار نماذج مختلفة جوهريًا. التحدي يكمن في إعادة إنتاج أداة HGF Toolbox 8.2.0 القديمة الخاصة بـ MATLAB ضمن بيئة Python/JAX حديثة دون تغيير "العقد العلمي" أو تبعات وقت التشغيل للمستخدم بصمت.
المنهجية يقدم المؤلف HGFX 1.0.0، وهي حزمة Python مبنية على NumPy وJAX، مصممة خصيصًا كإعادة إنتاج موثقة لنسخة HGF Toolbox 8.2.0 (MATLAB) المجمدة. وقد تعاملت عملية التطوير مع إعادة التنفيذ كمسألة تحقق وليس مجرد ترجمة مصدر.
إطار التحقق: تستخدم الدراسة نهج "الأوراكل المجمد" (frozen oracle). حيث تتم مقارنة HGFX بمرجع MATLAB مثبت (8.2.0) تحت حدود سماح محددة مسبقًا. ويتضمن تسلسل التحقق: الاتفاق العددي المباشر، ومطابقة القيود المرجعية (حيث يتشارك كلا التنفيذين في عدم استقرار معروف)، والنتائج السلبية المحفوظة، وتصنيفات "غير قابلة للمقارنة مباشرة" (NDC) للكميات التي تفتقر إلى سطح دلالي مشترك.
النطاق: تغطي HGFX الإصدار 1.0.0 نماذج HGF الكلاسيكية، وHGF المحسنة (eHGF)، وHGF غير المحدودة (uHGF) في تكوينات متوافقة مع MATLAB وموثقة. كما تدعم سير عمل العروض التوضيحية الرسمية، والمحاكاة، والملائمة (fitting)، والأسطح الإحصائية (Hessian، والتباين، وAIC/BIC).
البروتوكولات:
إعادة إنتاج سير العمل: تمت إعادة إنتاج اثنين من سير العمل الرسميين لعروض MATLAB التوضيحية (320 تجربة ثنائية)، بما في ذلك نظام يواجه فيه HGF الكلاسيكي دقة خلفية سالبة (negative posterior precision) وانتقالًا من uHGF إلى uHGF-AR(1).
اختيار النموذج: تم إجراء تحقق مزدوج على شبكة مكونة من ثلاثة نماذج مجمدة (كلاسيكي، محسّن، غير محدود) مع 36 مقارنة للفائز بـ BIC.
استعادة المعلمات (Parameter Recovery): أُجريت تجربة استشرافية لأفق التجربة (128 إلى 1024 تجربة)، وإن كانت قد خضعت لمتطلبات السلامة.
التحقق من الأجهزة: تم اختبار القابلية للتطبيق على وحدات معالجة رسوميات NVIDIA Tesla T4 الفعلية مقابل خطوط أساس CPU.
المقارنة مع الأدوات الأخرى: أُجريت مقارنة محددة النطاق مع pyhgf الإصدار 0.3.2 على خلية HGF ثنائية المستوى محددة.
المساهمات الرئيسية
إعادة إنتاج مستقلة عن MATLAB: توفر HGFX تنفيذًا يعتمد على Python أولاً، مما يزيل MATLAB كاعتماد تشغيلي للمستخدم مع الحفاظ على التوافق السلوكي الصارم مع مرجع 8.2.0.
نموذج أدلة صريح: يقدم البحث نظام تصنيف صارم لنتائج التحقق، يميز بين التكافؤ المباشر، والقيود المرجعية المتطابقة، والنتائج السلبية المحفوظة. وهذا يمنع إعادة تصنيف الإخفاقات العلمية المعروفة على أنها "نجاحات" بسبب تغييرات التنفيذ.
التحقق من الخلفية والأجهزة: يؤكد التنفيذ أن التنفيذ المدعوم بـ JAX على وحدات معالجة الرسوميات الفيزيائية (Tesla T4) ينتج نتائج ضمن فرق قدره 1.42×10−14 في الهدف مقارنة بـ CPU، مما يلبي معيار 10−7.
التوافق البيني المحدد: يوفر البحث مقارنة دقيقة على مستوى الخلية مع pyhgf ، مما يظهر اتفاقًا بمقياس binary64 على المسارات الإدراكية، مع الإشارة صراحةً إلى الحالات التي لا يمكن فيها مقارنة الكميات (مثل السلب اللوغاريتمي للاحتمالية لرد فعل المشارك) بسبب الاختلافات العددية عند الحدود.
النتائج
تكافؤ سير العمل: نجحت HGFX في إعادة إنتاج عرضين توضيحيين رسميين لـ MATLAB. وفي اختبار جهد حرج، واجه كل من MATLAB وHGFX بشكل صحيح دقة خلفية سالبة في نظام HGF الكلاسيكي، بينما اكتمل نموذج eHGF في كليهما، مما يؤكد أن تنفيذ Python يحافظ على حالات الفشل والنجاح المحددة للمرجع.
اختيار النموذج: في اختيار النماذج المزدوج عبر شبكة مجمدة، اتفقت 36/36 من الفائزين بـ BIC بين MATLAB وHGFX.
استعادة المعلمات: بينما أنتجت MATLAB وHGFX ملخصات استعادة متقاربة للغاية، فإن المعايير العلمية المحددة مسبقًا لاستعادة المعلمات (مثل متوسط الارتباط ≥ 0.50، وRMSE القياسي ≤ 1.00) لم تتحقق بالكامل في أي من التنفيذين. وقد تم حفظ هذه النتائج كإيجابيات سلبية بدلاً من إعادة تصنيفها كنجاحات.
تجربة أفق التجارب: فشلت تجربة استشرافية تقارن بين 128 إلى 1024 تجربة في اجتياز بوابة السلامة المزدوجة (10 من أصل 72 فائزًا بـ BIC في استعادة النموذج اختلفوا). وبناءً على ذلك، خلص المؤلف إلى أن الأدلة غير كافية لدعم الادعاءات المتعلقة بآثار أفق البيانات أو القابلية للتعريف الهيكلي.
قابلية تطبيق GPU: على جهازي Tesla T4، كان أقصى فرق مطلق في الهدف النهائي بين تنفيذ CPU وGPU هو 1.42×10−14، وهو ضمن معيار القبول 10−7.
المقارنة مع pyhgf: في خلية مكونة من 128 تجربة مرخصة، اتفقت 11 كمية إدراكية مسقطة ضمن مقاييس تقريب binary64 (10−16 إلى 10−15). ومع ذلك، لم يكن السلب اللواريتمي لرد فعل المشارك (NLL) قابلاً للمقارنة مباشرة بسبب وصول pyhgf إلى حد احتمالي دقيق في 13 تجربة، مما أدى إلى مفاجأة +Inf (لانهاية موجبة)، بينما ظل الرقم في HGF محدودًا.
الأهمية والادعاءات يدعي البحث بتواضع أن HGFX يوفر مسارًا قابلاً لإعادة الإنتاج لتشغيل تحليلات HGF الراسخة خارج بيئة تشغيل MATLAB مع الاحتفاظ بالسلوك المرجعي الموثق الذي يدعم التطبيقات السابقة.
المساهمة المنهجية: المساهمة الأساسية هي منهجية: إنشاء "أوراكل" صريح، وفئات أدلة، وسياسة توافق عددي تفصل بين التكافؤ المباشر والقيود المرجعية المتطابقة. يهدف هذا الانضباط إلى تقليل خطر اكتساب التنفيذات الحديثة للسهولة على حساب تغيير العقود العلمية الراسخة بصمت.
قيود النطاق: يصرح المؤلف صراحةً أن HGFX لا يدعي أنه أول نسخة Python/JAX لـ HGF، ولا يدعي تحقيق سرعة عامة أو توسع متعدد لوحدات معالجة الرسوميات كأهداف رئيسية. التركيز ينصب حصريًا على التوافق مع المرجع المجمد والأصل (provenance).
النتائج السلبية: يشدد البحث على الحفاظ على النتائج السلبية التاريخية (مثل فشل معايير استعادة المعلمات) والقيود المتطابقة (مثل عدم استقرار المحسن في الأحواض الحساسة)، جازمًا بأن الاعتراف بهذه القيود هو الأكثر أمانة للسجل العلمي من فرض تنفيذ "أنظف" ولكنه غير أمين.
باختصار، HGFX 1.0.0 هي أداة موثقة ومستقلة عن MATLAB، تعطي الأولوية للدقة تجاه مرجع قديم محدد على الجدة الخوارزمية، مما يضمن أن الانتقال إلى Python/JAX لن يغير النتائج الاستدلالية أو سلوكيات اختيار النماذج لإطار عمل HGF الراسخ.