Découvrez comment les réseaux de flux génératifs (GFlowNets) utilisent la modélisation probabiliste pour générer un échantillon d'objets discrets variés et à forte valeur ajoutée dans le cadre de la découverte de médicaments et de l'apprentissage causal.
Les réseaux de flux génératifs, ou GFlowNets, constituent un puissant cadre d'apprentissage automatique conçu pour la modélisation probabiliste et l'échantillonnage amorti. Ils excellent dans la génération d'objets discrets et composables en traitant le processus de génération comme une tâche de prise de décision séquentielle. Au lieu de simplement maximiser une récompense, comme c'est souvent le cas dans l' apprentissage par renforcement traditionnel, les GFlowNets apprennent à échantillonner des objets avec une probabilité proportionnelle à une fonction de récompense prédéfinie. Cela leur permet de découvrir des ensembles variés de candidats à haute récompense au sein d'espaces d'échantillonnage exceptionnellement vastes, atténuant ainsi efficacement l' effondrement du modèle qui affecte souvent d'autres architectures génératives telles que les réseaux antagonistes génératifs (GAN).
Les GFlowNets fonctionnent en se déplaçant dans un environnement structuré, en ajoutant des éléments constitutifs étape par étape pour construire un objet final.
Si l'IA générative englobe de nombreuses techniques, les GFlowNets occupent une niche unique. Les modèles de diffusion classiques ou des techniques telles que le « flow matching » transforment généralement des distributions de bruit continues en données. En revanche, les GFlowNets sont explicitement conçus pour générer des structures discrètes, telles que des graphes ou des séquences. De plus, alors que les agents d'apprentissage par renforcement standard visent à trouver un seul chemin optimal via le processus de décision markovien (MDP), les GFlowNets cartographient plusieurs chemins à haute récompense afin de garantir une grande variété de résultats générés.
La capacité à générer des candidats variés et hautement optimisés rend les GFlowNets particulièrement utiles dans les domaines scientifiques et structurels.
Lors de la construction d'un GFlowNet, la politique de propagation doit prédire une distribution de probabilité sur les prochaines étapes possibles. Le code suivant PyTorch montre comment définir une couche de politique simple et échantillonner une action. Alors que la construction de modèles de vision tels que Ultralytics nécessite de prédire les coordonnées des boîtes englobantes, un GFlowNet utilise des distributions catégorielles pour sélectionner l'état suivant dans son chemin de génération.
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()}")
Si vous développez des solutions d'IA complexes en Python, vous pouvez facilement annoter des ensembles de données, entraîner et déployer des modèles à l'aide de la Ultralytics . Que vous vous concentriez sur des tâches de détection d'objets à grande vitesse ou que vous exploriez des architectures génératives, il est essentiel de disposer d'un solide pipeline d'opérations d'apprentissage automatique (MLOps) pour faire évoluer vos modèles efficacement.
Commencez votre parcours avec l'avenir de l'apprentissage automatique