تخطَّ إلى المحتوى الرئيسي
ToolPotion

GraphSAINT

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

زيارة الرابط

الوصف

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

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

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

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

يوفر المستودع تطبيقات Python في كل من TensorFlow و PyTorch، بالإضافة إلى تطبيق C ++ لتقنيات التدريب المتوازية. يدعم معماريات GNN المختلفة مثل GraphSAGE و GAT و JK-Net، والعديد من أدوات أخذ عينات الرسم البياني بما في ذلك Node و Edge و RW و MRW. تم تصميم الإطار للباحثين والممارسين الذين يعملون مع مجموعات بيانات الرسم البياني الكبيرة الذين يحتاجون إلى تدريب GNN فعال ودقيق.

أبرز ملامح GraphSAINT

  • تدريب بالدفعات الصغيرة لشبكات GNN العميقة على الرسوم البيانية الكبيرة

  • طريقة تعلم استقرائية تعتمد على أخذ عينات الرسم البياني

  • نهج تدريب جديد بالدفعات الصغيرة باستخدام أخذ عينات الرسم البياني

  • يزيل التحيز الذي أدخلته عينات الرسم البياني عبر التطبيع

  • أدوات أخذ عينات رسم بياني خفيفة الوزن للحفاظ على الجيران المهمين

  • يحل مشكلة "انفجار الجيران" من أجل الكفاءة

  • قابل للتوسع فيما يتعلق بحجم الرسم البياني وحجم النموذج والموارد المتوازية

  • يدعم معماريات GNN متعددة (GraphSAGE, GAT, JK-Net, GaAN, MixHop)

  • يدعم أدوات أخذ عينات رسم بياني متنوعة (Node, Edge, RW, MRW, Full graph)

  • متاح في تطبيقات TensorFlow و PyTorch

  • يتضمن تطبيق C ++ لتقنيات التدريب المتوازية

  • يسهل التخصيص لمجموعات البيانات وأدوات أخذ العينات الخاصة بك

البدء مع GraphSAINT

  1. الوصول إلى النموذج: استنساخ مستودع GitHub.

  2. إعداد البيئة: تثبيت التبعيات بما في ذلك Python و TensorFlow/PyTorch و Cython و g++.

  3. تجميع أدوات أخذ العينات: تشغيل `python graphsaint/setup.py build_ext --inplace`.

  4. إعداد مجموعة البيانات: تنسيق بيانات الرسم البياني الخاصة بك إلى `adj_full.npz` و `adj_train.npz` و `role.json` و `class_map.json` و `feats.npy`.

  5. تكوين التدريب: تعيين المعلمات الفائقة باستخدام ملفات تكوين YAML في `./train_config/`.

  6. تشغيل التدريب: تنفيذ نصوص التدريب باستخدام `python -m graphsaint.<tensorflow/pytorch>_version.train` مع علامات مناسبة للبيانات والتكوين واستخدام GPU.

حالات استخدام GraphSAINT

  • تدريب الرسم البياني واسع النطاق
  • التعلم الاستقرائي على الرسوم البيانية
  • تعلم تمثيل الرسم البياني
  • تصنيف العقد
  • التنبؤ بالروابط
  • التنبؤ على مستوى الرسم البياني
  • تطوير GNN مخصص

الأسئلة الشائعة من GraphSAINT

تقييمات GraphSAINT

جاري التحميل...

أدوات ذكاء اصطناعي شائعة مثل GraphSAINT

نماذج الذكاء الاصطناعي

يوفر مستودع GitHub هذا تطبيقات PyTorch لـ DeepGCNs و DeeperGCN و GNN1000. يمكّن من تدريب شبكات التفاف الرسم البياني العميقة جدًا عن طريق تكييف مفاهيم من شبكات CNN مثل الاتصالات…

منصّات تعلّم الآلة

يوفر هذا المستودع تطبيقًا للتجميع الرئيسي للجوار (PNA) لشبكات الرسم البياني العصبية. يدعم أطر عمل PyTorch و DGL و PyTorch Geometric، ويقدم نصوصًا برمجية لمعايير المهام المتعددة…

منصّات تعلّم الآلة

شبكات الالتفاف الرسومية (GCNs) هي نوع من الشبكات العصبية المصممة لمعالجة البيانات المهيكلة على شكل رسوم بيانية. إنها تعمم شبكات الالتفاف العصبية على البيانات المهيكلة رسوميًا، مما…

أدوات ذكاء اصطناعي أخرى

نماذج الذكاء الاصطناعي

SAGPool هو تطبيق PyTorch رسمي لـ Self-Attention Graph Pooling، تم تقديمه في ICML 2019. يوفر هذا المستودع للقراءة فقط والمؤرشف الكود لطريقة تجميع رسوم بيانية مبتكرة تستفيد من آليات…

نماذج الذكاء الاصطناعي ونماذج اللغة الكبيرة

نماذج الذكاء الاصطناعي

node2vec هو إطار عمل قابل للتوسع لتعلم تمثيلات الميزات المستمرة للعقد في الرسوم البيانية. إنه يحسن الحفاظ على الجوار من خلال المسارات العشوائية المتحيزة، مما يتيح مهام التعلم…

منصّات تعلّم الآلة

نماذج الذكاء الاصطناعي

يوفر هذا المستودع تطبيقًا لنموذج "الشبكات الالتفافية الرسومية البسيطة والعميقة" (GCNII) باستخدام PyTorch. يتضمن الكود لإعادة إنتاج النتائج شبه المُشرف عليها والمُشرف عليها بالكامل…

نماذج الذكاء الاصطناعي ونماذج اللغة الكبيرة

نماذج الذكاء الاصطناعي

شبكات الانتباه الرسومية (GATs) هي معماريات شبكات عصبية مبتكرة مصممة للبيانات ذات البنية الرسومية. تستفيد من طبقات الانتباه الذاتي المقنعة لمعالجة قيود طرق الالتفاف الرسومي…

أدوات ذكاء اصطناعي أخرى

نماذج الذكاء الاصطناعي

يوفر مستودع GitHub هذا التنفيذ الرسمي لورقة "تبسيط الشبكات الالتفافية الرسومية". يقدم نموذج شبكة التفافية رسومية (GCN) مبسط يزيل اللاخطيات ويجمع مصفوفات الأوزان، مما ينتج عنه…

نماذج الذكاء الاصطناعي ونماذج اللغة الكبيرة