Generative Flow Networks (GFlowNets)
اكتشف كيف تستخدم شبكات التدفق التوليدية (Generative Flow Networks (GFlowNets)) النمذجة الاحتمالية لأخذ عينات من أجسام منفصلة متنوعة وعالية المكافأة لاكتشاف الأدوية والتعلم السببي.
تعتبر شبكات تدفق التوليد، أو GFlowNets، إطار عمل قوي لـ machine learning مصمم خصيصاً للنمذجة الاحتمالية وamortized sampling. وهي تتفوق في توليد كائنات منفصلة وتركيبية من خلال معاملة عملية التوليد كمهمة اتخاذ قرار متسلسلة. فبدلاً من مجرد تعظيم المكافأة، كما هو شائع في reinforcement learning التقليدي، تتعلم GFlowNets أخذ عينات من الكائنات باحتمالية تتناسب طردياً مع reward function محدد مسبقاً. يتيح لها ذلك اكتشاف مجموعات متنوعة من المرشحات ذات المكافآت العالية ضمن مساحات عينات كبيرة بشكل استثنائي، مما يخفف بفعالية من ظاهرة model collapse التي غالباً ما تعاني منها البنى التوليدية الأخرى مثل Generative Adversarial Networks (GANs).
المبادئ والآليات الأساسية#
تعمل GFlowNets من خلال التحرك عبر بيئة منظمة، مع إضافة وحدات بناء خطوة بخطوة لإنشاء كائن نهائي.
- Forward and Backward Policies: تتنبأ neural network بسياسة أمامية، والتي تملي توزيع الاحتمالات عبر الإجراءات الممكنة من حالة معينة. ومن خلال تعيين المسارات عبر هذه الحالات، يتعلم النموذج "تدفق" الاحتمالية.
- Trajectory Balance Loss: يعتمد التدريب غالباً على أهداف تحسين مثل خسارة توازن المسار، والتي تضمن أن احتمالية توليد كائن معين تتوافق بشكل وثيق مع مكافأته المرصودة. يُعد الضبط الصحيح لـ hyperparameter tuning أمراً بالغ الأهمية لتثبيت loss function هذه أثناء التدريب.
- Proportional Sampling: من خلال أخذ العينات بشكل يتناسب مع المكافأة بدلاً من البحث فقط عن الحد الأقصى المطلق، تفرض GFlowNets التنوع بشكل طبيعي، وهو أمر بالغ الأهمية عند التنقل في combinatorial spaces المعقدة.
GFlowNets مقابل الذكاء الاصطناعي التوليدي الآخر#
في حين أن Generative AI تشمل العديد من التقنيات، تحتل GFlowNets مكانة فريدة. تحول نماذج Diffusion Models القياسية أو التقنيات مثل Flow Matching عادةً توزيعات الضوضاء المستمرة إلى بيانات. في المقابل، صُممت GFlowNets صراحةً لتوليد هياكل منفصلة، مثل الرسوم البيانية أو التسلسلات. علاوة على ذلك، في حين يهدف وكلاء التعزيز القيليون إلى إيجاد مسار أمثل واحد عبر Markov Decision Process (MDP)، تقوم GFlowNets بتخطيط مسارات متعددة ذات مكافآت عالية لضمان مجموعة واسعة ومتنوعة من المخرجات المُولَّدة.
تطبيقات العالم الحقيقي#
إن القدرة على توليد مرشحين متنوعين ومحسنين للغاية تجعل GFlowNets ذات قيمة خاصة في المجالات العلمية والهيكلية.
- Drug Discovery and Molecular Design: في pharmaceutical research، تُستخدم GFlowNets لتوليد ببتيدات علاجية جديدة ورسومات جزيئية. تعمل التطورات الحديثة، مثل Atomic GFlowNets (A-GFN)، على بناء الجزيئات ذرة بذرة لتحسين خصائص مثل تقارب الارتباط وقابلية التصنيع الاصطناعي. تخلق هذه العملية مرشحين للأدوية أكثر تنوعاً مقارنةً بالطرق التي تعتمد على أجزاء محددة مسبقاً.
- Causal Structure Learning: تُطبق GFlowNets أيضاً لاكتشاف هيكل Bayesian Networks السببية. فهي تقارب التوزيع اللاحق عبر Directed Acyclic Graphs (DAGs)، مما يساعد الباحثين في الحفاظ على نظرة واقعية لـ epistemic uncertainty عند نمذجة علاقات البيانات المعقدة.
تنفيذ سياسة التوجيه الأمامي#
عند بناء GFlowNet، يجب أن تتنبأ السياسة الأمامية بتوزيع احتمالي على الخطوات القادمة الممكنة. يوضح نموذج PyTorch التالي كيفية تحديد طبقة سياسة بسيطة وأخذ عينات من إجراء ما. في حين أن بناء نماذج الرؤية مثل Ultralytics YOLO26 يتطلب التنبؤ بإحداثيات مربع التحديد، تستخدم GFlowNet categorical distributions لتحديد الحالة التالية في مسار التوليد الخاص بها.
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 Platform. وسواء كنت تركز على مهام object detection عالية السرعة أو تستكشف البنى التوليدية، فإن امتلاك خط انابيب قوي لـ machine learning operations (MLOps) يعد أمراً أساسياً لتوسيع نطاق نماذجك بفعالية.






