Generative Flow Networks (GFlowNets)
اكتشف كيف تستخدم شبكات التدفق التوليدية (GFlowNets) النمذجة الاحتمالية لأخذ عينات من عناصر متقطعة متنوعة وعالية المكافأة لاكتشاف الأدوية والتعلّم السببي.
شبكات التدفق التوليدي، أو GFlowNets، إطار عمل قوي من التعلم الآلي صُمم للنمذجة الاحتمالية وأخذ العينات المُطفأ. وتتخصص هذه الشبكات في توليد كائنات متقطعة وتركيبية، إذ تتعامل مع عملية التوليد بوصفها مهمة متسلسلة لاتخاذ القرار. وبدلًا من مجرد تعظيم المكافأة، كما هو شائع في التعلم المعزز التقليدي، تتعلم GFlowNets أخذ عينات من الكائنات باحتمال يتناسب مع دالة مكافأة محددة مسبقًا. ويتيح لها ذلك اكتشاف مجموعات متنوعة من المرشحين ذوي المكافآت العالية ضمن فضاءات عينات ضخمة للغاية، ما يحد بفاعلية من انهيار النموذج الذي يصيب غالبًا معماريات توليدية أخرى مثل الشبكات التوليدية الخصومية (GANs).
المبادئ والآليات الأساسية#
تعمل GFlowNets عبر التنقل في بيئة منظمة، مضيفةً لبنات البناء خطوةً تلو الأخرى لتكوين كائن نهائي.
- السياسات الأمامية والخلفية: تتنبأ شبكة عصبية بسياسة أمامية تحدد التوزيع الاحتمالي للإجراءات الممكنة انطلاقًا من حالة معينة. ومن خلال تمثيل المسارات عبر هذه الحالات، يتعلم النموذج «تدفق» الاحتمالات.
- خسارة موازنة المسار: غالبًا ما يعتمد التدريب على أهداف تحسين مثل خسارة موازنة المسار، التي تضمن توافق احتمال توليد عنصر محدد بدرجة كبيرة مع المكافأة المرصودة له. ويُعد ضبط المعلمات الفائقة بصورة مناسبة ضروريًا لتحقيق استقرار دالة الخسارة أثناء التدريب.
- أخذ العينات التناسبي: من خلال أخذ العينات بما يتناسب مع المكافأة بدلًا من السعي إلى القيمة القصوى المطلقة فحسب، تفرض GFlowNets التنوع تلقائيًا، وهو أمر بالغ الأهمية عند استكشاف الفضاءات التوافقية المعقدة.
GFlowNets مقارنةً بنماذج الذكاء الاصطناعي التوليدي الأخرى#
مع أن الذكاء الاصطناعي التوليدي يشمل تقنيات عديدة، فإن GFlowNets تشغل مجالًا فريدًا. عادةً ما تحوّل نماذج الانتشار القياسية أو تقنيات مثل مطابقة التدفق توزيعات الضوضاء المستمرة إلى بيانات. وعلى النقيض من ذلك، صُممت GFlowNets خصيصًا لتوليد بُنى متقطعة، مثل الرسوم البيانية أو المتتاليات. وإضافةً إلى ذلك، بينما تسعى عوامل التعلم المعزز القياسية إلى إيجاد مسار أمثل واحد عبر عملية اتخاذ القرار لماركوف (MDP)، ترسم GFlowNets مسارات متعددة ذات مكافآت عالية لضمان تنوع واسع في المخرجات المُولّدة.
تطبيقات عملية#
إن القدرة على توليد مرشحين متنوعين ومحسّنين بدرجة كبيرة تجعل GFlowNets ذات قيمة خاصة في المجالات العلمية والبنيوية.
- اكتشاف الأدوية وتصميم الجزيئات: تُستخدم GFlowNets في الأبحاث الصيدلانية لتوليد ببتيدات علاجية جديدة ورسوم بيانية جزيئية. وتبني التطورات الحديثة، مثل Atomic GFlowNets (A-GFN)، الجزيئات ذرةً تلو الأخرى لتحسين خصائص مثل ألفة الارتباط وإمكانية التخليق. وتنتج عن هذه العملية مرشحات دوائية أكثر تنوعًا مقارنةً بالأساليب التي تعتمد على أجزاء محددة مسبقًا.
- تعلّم البنية السببية: تُستخدم GFlowNets أيضًا لاكتشاف بنية الشبكات البايزية السببية. وهي تقرّب التوزيع اللاحق على الرسوم البيانية الموجّهة غير الدورية (DAGs)، ما يساعد الباحثين على تكوين تصور واقعي عن عدم اليقين المعرفي عند نمذجة العلاقات المعقدة بين البيانات.
تنفيذ السياسة الأمامية#
عند بناء GFlowNet، يجب أن تتنبأ السياسة الأمامية بتوزيع احتمالي للخطوات التالية الممكنة. يوضح المقتطف التالي من PyTorch كيفية تعريف طبقة سياسة بسيطة وأخذ عينة لاختيار إجراء. وبينما يتطلب بناء نماذج رؤية مثل Ultralytics YOLO26 التنبؤ بإحداثيات مربعات الإحاطة، تستخدم GFlowNet التوزيعات الفئوية لاختيار الحالة التالية في مسار التوليد.
import torch
import torch.nn as nn
from torch.distributions import Categorical
# A simple linear policy mapping a 64-dim state to 4 possible actions
policy_network = nn.Sequential(nn.Linear(64, 4), nn.Softmax(dim=-1))
# Given a random state vector, compute action probabilities and sample
state = torch.randn(1, 64)
action_probs = policy_network(state)
sampled_action = Categorical(action_probs).sample()
print(f"Sampled Action: {sampled_action.item()}")إذا كنت تطوّر حلولًا معقدة للذكاء الاصطناعي باستخدام Python، فيمكنك إضافة التعليقات التوضيحية إلى مجموعات البيانات، وتدريب النماذج ونشرها بسلاسة باستخدام منصة Ultralytics. وسواء أكنت تركز على مهام اكتشاف الأجسام عالية السرعة أم تستكشف البنى التوليدية، فإن امتلاك مسار متين لـعمليات تعلّم الآلة (MLOps) ضروري لتوسيع نطاق نماذجك بفعالية.









