Generative Flow Networks (GFlowNets) sistemlerinin, ilaç keşfi ve nedensel öğrenme amacıyla olasılıksal modellemeyi kullanarak nasıl çeşitli, yüksek getirili ayrık nesnelerden örnekler oluşturduğunu keşfedin.
Üretken Akış Ağları (Generative Flow Networks) veya GFlowNets, olasılıksal modelleme ve amortize örnekleme için tasarlanmış güçlü bir makine öğrenimi çerçevesidir. Bu ağlar, üretim sürecini sıralı bir karar verme görevi olarak ele alarak, ayrık ve bileşimsel nesneler üretme konusunda üstün performans gösterir. Geleneksel pekiştirmeli öğrenmede yaygın olan şekilde sadece ödülü maksimize etmek yerine, GFlowNets, önceden tanımlanmış bir ödül fonksiyonuyla orantılı bir olasılıkla nesneleri örneklemeyi öğrenir. Bu, son derece geniş örnekleme alanları içinde çeşitli yüksek ödüllü aday kümelerini keşfetmelerine olanak tanır ve Generative Adversarial Networks (GANs) gibi diğer üretken mimari yapıları sıklıkla etkileyen model çöküşünü etkili bir şekilde azaltır.
GFlowNets, yapılandırılmış bir ortamda ilerleyerek adım adım yapı taşları ekleyip nihai nesneyi oluşturur.
Üretken Yapay Zeka birçok tekniği kapsarken, GFlowNets kendine özgü bir niş işgal etmektedir. Standart Difüzyon Modelleri veya Akış Eşleştirme gibi teknikler genellikle sürekli gürültü dağılımlarını verilere dönüştürür. Buna karşın, GFlowNets açıkça grafikler veya diziler gibi ayrık yapılar üretmek üzere tasarlanmıştır. Ayrıca, standart pekiştirmeli öğrenme ajanları Markov Karar Süreci (MDP) yoluyla tek bir optimal yol bulmayı hedeflerken, GFlowNets, çok çeşitli çıktılar üretilmesini sağlamak için birden fazla yüksek ödüllü yol haritalandırır.
Çeşitli ve son derece optimize edilmiş adaylar üretme yeteneği, GFlowNets'i bilimsel ve yapısal alanlarda özellikle değerli kılmaktadır.
Bir GFlowNet oluşturulurken, ileri yönlü politika sonraki olası adımlar üzerinde bir olasılık dağılımı tahmin etmelidir. Aşağıdaki PyTorch kod parçası, basit bir politika katmanının nasıl tanımlanacağını ve bir eylemin nasıl örnekleneceğini gösterir. Ultralytics gibi görme modelleri oluştururken sınırlayıcı kutu koordinatlarının tahmin edilmesi gerekirken, bir GFlowNet, üretim yolundaki bir sonraki durumu seçmek için kategorik dağılımlar kullanır.
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 ile karmaşık yapay zeka çözümleri geliştiriyorsanız Python, Ultralytics kullanarak veri kümelerini sorunsuz bir şekilde etiketleyebilir, modelleri eğitebilir ve devreye alabilirsiniz. İster yüksek hızlı nesne algılama görevlerine odaklanıyor olun, ister üretken mimariyi keşfediyor olun, modellerinizi etkili bir şekilde ölçeklendirmek için sağlam bir makine öğrenimi operasyonları (MLOps) iş akışına sahip olmak çok önemlidir.

Makine öğreniminin geleceği ile yolculuğunuza başlayın