Home
Login

DGL (مكتبة الرسم البياني العميق) هي حزمة Python لتنفيذ شبكات الرسم البياني العصبية فوق أطر التعلم العميق مثل PyTorch و MXNet.

Apache-2.0Python 13.9kdmlc Last Updated: 2025-02-11

DGL (مكتبة الرسم البياني العميق)

نظرة عامة على المشروع

DGL (مكتبة الرسم البياني العميق) هي مكتبة Python مفتوحة المصدر تم تطويرها بواسطة DMLC (مجتمع التعلم الآلي الموزع)، وتركز على البحث والتطبيق في الشبكات العصبية الرسومية (Graph Neural Networks, GNNs). توفر DGL مجموعة غنية من هياكل بيانات الرسم البياني، وطبقات الشبكات العصبية الرسومية، وتنفيذ خوارزميات الرسم البياني، بهدف مساعدة الباحثين والمطورين على إجراء التعلم العميق لبيانات الرسم البياني بكفاءة.

الخلفية

توجد هياكل الرسم البياني في كل مكان في العالم الحقيقي، مثل الشبكات الاجتماعية، وقواعد المعرفة، والهياكل الجزيئية، وما إلى ذلك. يصعب على طرق التعلم العميق التقليدية معالجة بيانات الرسم البياني مباشرةً، لأن هيكل الرسم البياني غير منتظم والاتصالات بين العقد معقدة. الشبكات العصبية الرسومية (GNN) هي نموذج تعلم عميق مصمم خصيصًا لمعالجة بيانات الرسم البياني، وهو قادر على تعلم تمثيلات العقد والحواف، وإجراء مهام مثل تصنيف العقد، والتنبؤ بالارتباطات، وتصنيف الرسم البياني.

ومع ذلك، فإن تنفيذ وتحسين GNN يمثل تحديًا. نماذج GNN المختلفة لها آليات تمرير الرسائل ووظائف التجميع المختلفة، ويتطلب التنفيذ اليدوي لهذه النماذج قدرًا كبيرًا من التعليمات البرمجية والخبرة المتخصصة. بالإضافة إلى ذلك، عادةً ما يكون حجم بيانات الرسم البياني كبيرًا، ويتطلب طرق حساب وتخزين فعالة.

يهدف ظهور DGL إلى حل هذه المشكلات، حيث يوفر إطارًا موحدًا يبسط تطوير ونشر GNN، ويوفر قدرات حسابية عالية الأداء.

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

  • سهولة الاستخدام: توفر DGL واجهة برمجة تطبيقات Python موجزة، ويمكن للمستخدمين بسهولة تحديد هياكل الرسم البياني، وتنفيذ نماذج GNN، وتدريب النماذج.
  • أداء عالي: تستخدم DGL هياكل بيانات محسنة ونواة حسابية، وهي قادرة على معالجة بيانات الرسم البياني واسعة النطاق بكفاءة. وهي تدعم تسريع GPU وتوفر تقنيات تحسين متعددة، مثل جدولة تمرير الرسائل وتقسيم الرسم البياني.
  • المرونة: تدعم DGL مجموعة متنوعة من نماذج GNN، بما في ذلك GCN و GAT و GraphSAGE وما إلى ذلك. يمكن للمستخدمين أيضًا تخصيص بنية GNN الخاصة بهم، واستخدام العوامل التي توفرها DGL لبناء نماذج GNN الخاصة بهم.
  • قابلية التوسع: يمكن دمج DGL مع أطر عمل التعلم العميق الأخرى (مثل PyTorch و TensorFlow)، ويمكن للمستخدمين استخدام DGL لمعالجة بيانات الرسم البياني، واستخدام أطر عمل أخرى لبناء أجزاء أخرى من النموذج.
  • دعم الرسوم البيانية غير المتجانسة: تدعم DGL الرسوم البيانية غير المتجانسة، أي أن الرسم البياني يمكن أن يحتوي على أنواع مختلفة من العقد والحواف. هذا يجعل DGL قادرة على معالجة بيانات الرسم البياني الأكثر تعقيدًا، مثل قواعد المعرفة.
  • التفاضل التلقائي: تتكامل DGL بسلاسة مع أطر عمل التعلم العميق السائدة، وتدعم التفاضل التلقائي، مما يسهل على المستخدمين تدريب النماذج وتحسينها.
  • أمثلة ودروس تعليمية غنية: توفر DGL عددًا كبيرًا من الأمثلة والدروس التعليمية لمساعدة المستخدمين على البدء بسرعة وإتقان استخدام DGL.

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

يمكن تطبيق DGL على مجموعة متنوعة من المهام المتعلقة بالرسم البياني، بما في ذلك:

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

يتم استخدام DGL من قبل عدد متزايد من الباحثين والمهندسين، وقد حققت نتائج ملحوظة.

للحصول على جميع التفاصيل، يرجى الرجوع إلى الموقع الرسمي (https://github.com/dmlc/dgl)