اكتشف كيف تُحدث الشبكات العصبية البيانية (GNNs) ثورة في الذكاء الاصطناعي من خلال البيانات المنظمة بيانيًا لاكتشاف الأدوية والشبكات الاجتماعية والتنبؤ بحركة المرور والمزيد!
الشبكة العصبية للرسم البياني (GNN) هي بنية متخصصة في مجال التعلم العميق (DL) المصممة لمعالجة وتحليل البيانات الممثلة كرسوم بيانية. بينما تتطلب نماذج تتطلب نماذج التعلم الآلي (ML) القياسية عادةً أن تكون البيانات منظمة على شكل شبكات منتظمة (مثل الصور) أو مصفوفات متسلسلة (مثل النصوص)، فإن شبكات GNN تتفوق في تفسير البيانات المحددة بالعقد والحواف التي تربطها. هذه القدرة الفريدة تسمح لهم بالتقاط العلاقات المعقدة والترابطات المعقدة بين الكيانات، مما يجعلها لا غنى عنها في المهام التي تكون فيها بنية الاتصال بنفس أهمية نقاط البيانات نفسها.
تتمثل الآلية الأساسية وراء شبكة GNN في عملية تُعرف باسم تمرير الرسائل أو تجميع الأحياء. في هذا الإطار تقوم كل عقدة في الرسم البياني بتحديث تمثيلها الخاص من خلال جمع المعلومات من جيرانها المباشرين. أثناء التدريب أثناء التدريب، تتعلم الشبكة التضمينات -التمثيلات المتجهة الكثيفة كثيفة - التي ترمز كلاً من ميزات العقدة نفسها والمعلومات الهيكلية للشبكة المحيطة بها المحيطة بها.
من خلال طبقات متعددة من المعالجة، يمكن للعقدة في النهاية دمج معلومات من أجزاء بعيدة من الرسم البياني, "رؤية" السياق الأوسع بشكل فعال. وهذا يتناقض مع نماذج الانحدار الخطي التقليدي أو نماذج التصنيف البسيطة التي غالباً ما تتعامل مع نقاط البيانات ككيانات مستقلة. أطر مثل PyTorch Geometric تسهّل هذه الحسابات المعقدة المعقدة، مما يسمح للمطورين ببناء تطبيقات معقدة قائمة على الرسم البياني.
لفهم فائدة شبكات GNN، من المفيد التفريق بينها وبين أنواع الشبكات العصبية الشائعة الأخرى الشائعة الأخرى الموجودة في الذكاء الاصطناعي الحديث:
إن القدرة على نمذجة العلاقات تجعل شبكات GNN قوية في مختلف الصناعات عالية التأثير:
في حين أن المكتبات المتخصصة تتعامل مع الرفع الثقيل لتمرير الرسائل، فإن فهم كيفية هيكلة بيانات الرسم البياني هو الخطوة الأولى. فيما يلي مثال بسيط باستخدام PyTorch ل لتعريف اتصالات الحواف (طوبولوجيا) الرسم البياني، والذي يعمل كمدخل لشبكة GNN.
import torch
# Define a simple graph with 3 nodes and 2 edges
# 'edge_index' represents connections: Node 0->1 and Node 1->2
edge_index = torch.tensor([[0, 1], [1, 2]], dtype=torch.long)
# Define features for each node (e.g., x, y coordinates or attributes)
# 3 nodes, each with 2 feature values
x = torch.tensor([[-1, 0], [0, 0], [1, 0]], dtype=torch.float)
print(f"Graph defined with {x.size(0)} nodes and {edge_index.size(1)} edges.")
يتم دمج شبكات GNN بشكل متزايد في خطوط أنابيب أكبر. على سبيل المثال، قد يستخدم النظام تجزئة الصور لتحديد الأجسام في المشهد ثم استخدام شبكة GNN للتفكير في العلاقات المكانية بين تلك الأجسام، مما يسد الفجوة بين الإدراك البصري الإدراك البصري والاستدلال المنطقي. كأدوات مثل TensorFlow GNN و ومكتبة الرسم البياني العميق (DGL) ، فإن حاجز الدخول لنشر هذه النماذج المعقدة المعقدة، مما يوسع نطاق وصولها إلى المدن الذكية وما بعدها.