2025-11-19T05:43:14.227603

torchsom: The Reference PyTorch Library for Self-Organizing Maps

Berthier, Shokry, Moreaud et al.
This paper introduces torchsom, an open-source Python library that provides a reference implementation of the Self-Organizing Map (SOM) in PyTorch. This package offers three main features: (i) dimensionality reduction, (ii) clustering, and (iii) friendly data visualization. It relies on a PyTorch backend, enabling (i) fast and efficient training of SOMs through GPU acceleration, and (ii) easy and scalable integrations with PyTorch ecosystem. Moreover, torchsom follows the scikit-learn API for ease of use and extensibility. The library is released under the Apache 2.0 license with 90% test coverage, and its source code and documentation are available at https://github.com/michelin/TorchSOM.
academic

torchsom: مكتبة PyTorch المرجعية للخرائط ذاتية التنظيم

المعلومات الأساسية

  • معرّف الورقة: 2510.11147
  • العنوان: torchsom: مكتبة PyTorch المرجعية للخرائط ذاتية التنظيم
  • المؤلفون: Louis Berthier, Ahmed Shokry, Maxime Moreaud, Guillaume Ramelet, Eric Moulines
  • التصنيف: stat.ML cs.LG
  • تاريخ النشر: 13 أكتوبر 2025
  • رابط الورقة: https://arxiv.org/abs/2510.11147

الملخص

تقدم هذه الورقة torchsom، وهي مكتبة Python مفتوحة المصدر قائمة على PyTorch توفر تطبيقاً مرجعياً للخرائط ذاتية التنظيم (SOM). توفر المكتبة ثلاث وظائف رئيسية: (1) تقليل الأبعاد، (2) التجميع، (3) تصور البيانات الودود. من خلال واجهة PyTorch الخلفية، تحقق المكتبة: (1) تدريب SOM سريع وفعال مع تسريع GPU، (2) تكامل سهل وقابل للتوسع مع نظام PyTorch البيئي. علاوة على ذلك، تتبع torchsom تصميم واجهة برمجية scikit-learn، مما يجعلها سهلة الاستخدام والتوسع. تم إصدار المكتبة بموجب ترخيص Apache 2.0 بنسبة تغطية اختبار 90%.

الخلفية البحثية والدافع

تعريف المشكلة

على الرغم من أن الخرائط ذاتية التنظيم (SOM) تعتبر تقنية تعلم آلي قيمة ومستمرة، وتحتفظ بأهمية كبيرة في تحليل البيانات الحديثة، إلا أن تطبيقات Python الموجودة لـ SOM تعاني من عيوب كبيرة:

  1. البنية التحتية التكنولوجية المتخلفة: افتقار الدعم لتسريع GPU
  2. التكامل البيئي غير الكافي: صعوبة التكامل مع أطر العمل الحديثة للتعلم العميق
  3. تجربة المستخدم الضعيفة: افتقار واجهات برمجية ودية وميزات تصور
  4. مشاكل الصيانة: عدم كفاية صيانة المكتبات الموجودة وعدم اكتمال التوثيق

أهمية البحث

تتمتع SOM بقيمة تطبيقية واسعة في عدة مجالات:

  • الصناعة الطاقية: المراقبة والتحكم في الأنظمة
  • الطب الحيوي: تحليل التعبير الجيني ومعالجة الصور الطبية
  • أنظمة إنترنت الأشياء: كشف الشذوذ والتعرف على الأنماط
  • التطبيقات الكيميائية والبيئية: تحليل الملوثات والمراقبة البيئية
  • الحالات التجارية: تقسيم السوق وتحليل العملاء

قيود الطرق الموجودة

من خلال تحليل مقارن لمكتبات SOM الموجودة في Python (MiniSom و SimpSOM و SOMPY و somoclu و som-pbc)، تم اكتشاف المشاكل التالية:

  1. قيود الأداء: معظمها قائم على NumPy، يفتقر إلى تسريع CUDA
  2. عدم اكتمال الوظائف: افتقار الميزات المدمجة للتجميع والتصور المتقدم
  3. ممارسات الهندسة البرمجية غير الكافية: نسبة تغطية اختبار منخفضة وتوثيق ناقص
  4. قابلية التوسع الضعيفة: درجة نمطية منخفضة وصعوبة التخصيص والتوسع

المساهمات الأساسية

  1. أول مكتبة SOM شاملة قائمة على PyTorch: توفر تطبيقاً كاملاً لـ SOM مع دعم تسريع GPU وتكامل سير العمل الحديث للتعلم العميق
  2. تصميم واجهة برمجية موحدة: تتبع نمط واجهة scikit-learn، توفر تجربة استخدام متسقة
  3. أدوات تصور غنية: توفر 9 فئات من ميزات التصور، مع دعم الطوبولوجيا المستطيلة والسادسة الأضلاع
  4. وظائف تجميع مدمجة: تكامل خوارزميات التجميع K-means و GMM و HDBSCAN
  5. هندسة برمجية عالية الجودة: نسبة تغطية اختبار 90%، توثيق كامل، تصميم نمطي

شرح الطريقة

تعريف المهمة

تهدف torchsom إلى توفير تطبيق حديث لـ SOM يدعم:

  • الإدخال: مجموعات بيانات عالية الأبعاد X ∈ R^(N×k)، حيث N هو عدد العينات و k هو بُعد الميزة
  • الإخراج: شبكة SOM مدربة، تمثيل الخريطة منخفضة الأبعاد، نتائج التجميع
  • القيود: الحفاظ على البنية الطوبولوجية، تقليل خطأ التكميم وخطأ الطوبولوجيا

معمارية النموذج

1. الوحدة الأساسية (torchsom.core)

تطبق الوظائف الأساسية لخوارزمية SOM الكلاسيكية:

  • fit(): يدعم تدريب النموذج مع تسريع GPU التلقائي
  • cluster(): وظيفة التجميع
  • build_map(): إنشاء خريطة مناسبة للتصور
  • collect_sample(): تحديد العينات المثلى باستخدام مسافات الطوبولوجيا والفضاء الكامن

2. وحدة الأدوات (torchsom.utils)

توفر المكونات الأساسية لمعاملات SOM والتدريب:

  • دوال الاضمحلال: جدولة معدل التعلم وعرض الحي
  • مقاييس المسافة: مسافات إقليدية وجيب التمام والمانهاتن وتشيبيشيف
  • نوى الحي: نوى غاوسية وقبعة مكسيكية وفقاعة ومثلثة
  • طرق التجميع: K-means و GMM و HDBSCAN

3. وحدة التصور (torchsom.visualization)

توفر 9 فئات من ميزات التصور الشاملة:

  • U-matrix: طوبولوجيا الخريطة وبنية التجميع
  • خرائط الضربات: أنماط تنشيط الخلايا العصبية
  • مستويات المكونات: تحليل على مستوى الميزة
  • خرائط التصنيف/المقياس: إحصائيات الهدف
  • خرائط النقاط/الترتيب: تقييم الجودة
  • منحنيات التدريب: مراقبة التقارب
  • خرائط التجميع: مؤشرات جودة التجميع

نقاط الابتكار التقني

1. مزايا تكامل PyTorch

# معادلة تحديث الأوزان
w_ij(t+1) = w_ij(t) + α(t) · h_ij(t) · (x - w_ij(t))

حيث:

  • α(t): معدل التعلم
  • h_ij(t): دالة الحي
  • x: متجه الميزة المدخل

2. تطبيق معالجة دفعات فعال

من خلال عمليات الموتر في PyTorch والحساب المتوازي على GPU، يتم تحقيق معالجة دفعات، مما يحسن كفاءة التدريب بشكل كبير.

3. دوال حي متعددة

يدعم أربع دوال حي:

  • النواة الغاوسية: h^Gaussian_ij(t) = exp(-d²_ij / (2σ(t)²))
  • نواة القبعة المكسيكية: توفر علاقات حي أكثر تعقيداً
  • النواة الفقاعية: شكل دالة الخطوة
  • النواة المثلثية: تناقص خطي

4. استراتيجيات الجدولة التكيفية

تطبيق استراتيجيات اضمحلال معاملات متعددة:

  • الاضمحلال العكسي: α(t+1) = α(t) · γ/(γ + t)
  • الاضمحلال الخطي: α(t+1) = α(t) · (1 - t/T)
  • الاضمحلال التقاربي: للتقارب الأسي

إعداد التجربة

مجموعات البيانات

استخدام make_blobs() من scikit-learn لإنشاء مجموعات بيانات اصطناعية:

  • نطاق العينات: {240, 4000, 16000}
  • بُعد الميزة: {4, 50, 300}
  • حجم الشبكة: 25×15 (صغير)، 90×70 (كبير)

مؤشرات التقييم

  1. خطأ التكميم (QE): QE = (1/N) Σ ||x_i - w_BMU(x_i)||₂
  2. خطأ الطوبولوجيا (TE): قياس درجة الحفاظ على علاقات الحي
  3. وقت التنفيذ: يشمل وقت التهيئة والتدريب

طرق المقارنة

  • MiniSom (CPU): مكتبة SOM الأكثر استخداماً على نطاق واسع
  • torchsom (CPU): تطبيق إصدار CPU
  • torchsom (GPU): إصدار مع تسريع GPU

تفاصيل التطبيق

  • تهيئة PCA
  • طوبولوجيا مستطيلة
  • 100 تكرار تدريب
  • دالة حي غاوسية
  • مسافة إقليدية

نتائج التجربة

النتائج الرئيسية

مقارنة الأداء (شبكة 25×15)

مجموعة البياناتMiniSom(CPU)torchsom(CPU)torchsom(GPU)
QE0.15-5.430.23-5.210.23-5.21
تحسن TEالأساس34-81%↓34-81%↓
تحسن السرعةالأساس77-99%↑77-99%↑

النتائج الرئيسية

  1. مزايا الحفاظ على الطوبولوجيا: انخفاض TE بنسبة 34-81% مقارنة بـ MiniSom
  2. تحسن الكفاءة الحسابية: تقليل وقت التدريب من آلاف الثواني إلى عشرات الثواني
  3. جودة تكميم قابلة للمقارنة: تحقيق QE معادل عبر جميع مجموعات البيانات
  4. قابلية التوسع: يُظهر إصدار GPU أفضل أداء على مجموعات البيانات عالية الأبعاد والكبيرة

تجارب الاستئصال

تتحقق التجارب من مساهمة كل مكون:

  • تحسين معالجة الدفعات: تحسن كبير في سرعة التدريب
  • تسريع GPU: توفير تحسن بمستويات الحجم على البيانات الكبيرة
  • واجهة PyTorch الخلفية: تحقيق إدارة ذاكرة أفضل وحساب متوازي

دراسات الحالة

من خلال تحليل التصور لمجموعات بيانات النبيذ وأسعار المنازل في بوسطن، يتم عرض:

  • حدود التجميع الواضحة: U-matrix يعرض بشكل فعال بنية التجميع
  • خريطة الميزات المعقولة: تعكس مستويات المكونات توزيع الميزات
  • تأثير التصنيف الجيد: تعرض خرائط التصنيف حدود قرار واضحة

الأعمال ذات الصلة

مقارنة مكتبات SOM الموجودة

الميزةtorchsomMiniSomSimpSOMSOMPYsomoclu
الإطارPyTorchNumPyNumPyNumPyC++
دعم GPUCUDACuPYCUDA
تصميم الواجهة البرمجيةscikit-learnمخصصمخصصMATLABمخصص
التصورمتقدممتوسطمتوسطأساسي
التجميع

المزايا التقنية

  1. معمارية حديثة: قائمة على نظام PyTorch البيئي
  2. واجهة موحدة: تتبع اتفاقيات scikit-learn
  3. وظائف كاملة: تكامل التدريب والتجميع والتصور
  4. تطبيق عالي الجودة: نسبة تغطية اختبار 90%، توثيق كامل

الخلاصة والمناقشة

الاستنتاجات الرئيسية

  1. توفر torchsom أول تطبيق شامل لـ SOM قائم على PyTorch
  2. تحسن كبير في الحفاظ على الطوبولوجيا والكفاءة الحسابية مع الحفاظ على جودة تكميم معادلة
  3. أدوات التصور الغنية تملأ فجوة مهمة في مكتبات SOM الموجودة
  4. تصميم الواجهة البرمجية الموحدة يعزز التكامل مع سير العمل الحديث للتعلم الآلي

القيود

  1. الاعتماد على GPU: تتطلب أفضل أداء دعم CUDA
  2. متطلبات الذاكرة: قد تتطلب مجموعات البيانات الكبيرة ذاكرة GPU كبيرة
  3. حساسية المعاملات الفائقة: لا تزال تتطلب معايرة دقيقة
  4. التكيف الخاص بالتطبيق: قد تتطلب احتياجات معينة خاصة بالمجال تخصيصاً إضافياً

الاتجاهات المستقبلية

  1. توسيع الخوارزمية: دعم المزيد من متغيرات SOM (مثل Growing SOM)
  2. التدريب الموزع: دعم حساب متعدد GPU والموزع
  3. المعايرة التلقائية: تكامل ميزات تحسين المعاملات الفائقة
  4. التخصص بالمجال: تحسينات موجهة نحو مجالات تطبيق محددة

التقييم المتعمق

المزايا

  1. الابتكار التقني: أول تكامل عميق لـ SOM مع أطر العمل الحديثة للتعلم العميق
  2. جودة الهندسة عالية: نسبة تغطية اختبار 90%، توثيق كامل، تصميم نمطي
  3. قيمة عملية قوية: تحسن أداء كبير وميزات غنية
  4. قابلية إعادة الإنتاج جيدة: تطبيق مفتوح المصدر، إعدادات تجريبية مفصلة

أوجه القصور

  1. مساهمة نظرية محدودة: بشكل أساسي تطبيق هندسي، ابتكار محدود على مستوى الخوارزمية
  2. نطاق التقييم محدود: اختبار بشكل أساسي على بيانات اصطناعية، حالات تطبيق حقيقية أقل
  3. مقارنة غير شاملة: لم تتم مقارنة مفصلة مع جميع مكتبات SOM الموجودة
  4. التحقق من قابلية التوسع غير كافٍ: الأداء على بيانات فائقة الحجم تحتاج إلى التحقق الإضافي

التأثير

  1. مساهمة المجال: توفير منصة أدوات حديثة لبحث SOM
  2. القيمة العملية: تقليل العتبة التقنية لتطبيق SOM
  3. التأثير البيئي: تعزيز دمج خوارزميات التعلم الآلي التقليدية مع الأطر الحديثة
  4. قيمة المجتمع: المساهمة مفتوحة المصدر تساعد على نشر وتطور تقنية SOM

السيناريوهات القابلة للتطبيق

  1. تحليل البيانات الاستكشافي: تصور وفهم البيانات عالية الأبعاد
  2. كشف الشذوذ: المراقبة الصناعية والتحكم في الجودة
  3. تحليل التجميع: تقسيم العملاء وتحليل السوق
  4. تعلم الميزات: كخطوة معالجة مسبقة في خط أنابيب التعلم العميق
  5. منصة التعليم والبحث: منصة تدريس وبحث خوارزمية SOM

المراجع

  1. Kohonen, T. (1982). تشكيل ذاتي منظم لخرائط الميزات الصحيحة طوبولوجياً
  2. Kohonen, T. (1990). الخريطة ذاتية التنظيم
  3. Vettigli, G. (2018). MiniSom: تطبيق بسيط للخرائط ذاتية التنظيم
  4. Pedregosa, F. وآخرون. (2011). Scikit-learn: التعلم الآلي في Python

التقييم الشامل: هذه ورقة عالية الجودة في الهندسة البرمجية، تحسن بشكل كبير من سهولة الاستخدام والأداء لـ SOM من خلال تطبيق حديث. على الرغم من أن الابتكار على مستوى الخوارزمية محدود، إلا أن قيمتها الهندسية والعملية لا يمكن إغفالها، حيث توفر مثالاً ممتازاً لتطبيق خوارزميات التعلم الآلي التقليدية في بيئات الحوسبة الحديثة.