Generative Flow Networks (GFlowNets)
Découvre comment les réseaux de flux génératifs (GFlowNets) utilisent la modélisation probabiliste pour échantillonner des objets discrets diversifiés et à haute récompense pour la découverte de médicaments et l'apprentissage causal.
Les réseaux de flux génératifs, ou GFlowNets, sont un puissant framework 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 compositionnels en traitant le processus de génération comme une tâche séquentielle de prise de décision. Au lieu de simplement maximiser une récompense, comme c'est courant 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 divers ensembles de candidats à forte récompense au sein d'espaces d'échantillonnage exceptionnellement vastes, atténuant efficacement l'effondrement du modèle qui affecte souvent d'autres architectures génératives comme les réseaux antagonistes génératifs (GAN).
Link to this sectionPrincipes fondamentaux et mécanismes#
Les GFlowNets fonctionnent en se déplaçant dans un environnement structuré, en ajoutant des blocs de construction étape par étape pour construire un objet final.
- Politiques de transfert et de rétroaction : Un réseau neuronal prédit une politique de transfert, dictant la distribution de probabilité sur les actions possibles à partir d'un état donné. En cartographiant les trajectoires à travers ces états, le modèle apprend le « flux » de probabilité.
- Perte d'équilibre de trajectoire : L'entraînement repose souvent sur des objectifs d'optimisation tels que la perte d'équilibre de trajectoire, qui garantit que la probabilité de générer un objet spécifique s'aligne étroitement avec sa récompense observée. Un ajustement des hyperparamètres approprié est essentiel pour stabiliser cette fonction de perte pendant l'entraînement.
- Échantillonnage proportionnel : En échantillonnant proportionnellement à la récompense plutôt qu'en recherchant simplement le maximum absolu, les GFlowNets imposent naturellement la diversité, ce qui est crucial lors de la navigation dans des espaces combinatoires complexes.
Link to this sectionGFlowNets vs autres IA génératives#
Bien que l'IA générative englobe de nombreuses techniques, les GFlowNets occupent une niche unique. Les modèles de diffusion standard ou des techniques comme le Flow Matching transforment généralement des distributions de bruit continu 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 chemin optimal unique via le processus de décision markovien (MDP), les GFlowNets cartographient plusieurs chemins à haute récompense pour assurer une grande variété de sorties générées.
Link to this sectionApplications concrètes#
La capacité à générer des candidats diversifiés et hautement optimisés rend les GFlowNets particulièrement précieux dans les domaines scientifiques et structurels.
- Découverte de médicaments et conception moléculaire : Dans la recherche pharmaceutique, les GFlowNets sont utilisés pour générer de nouveaux peptides thérapeutiques et des graphes moléculaires. Des avancées récentes, telles que les Atomic GFlowNets (A-GFN), construisent des molécules atome par atome pour optimiser des propriétés telles que l'affinité de liaison et l'accessibilité synthétique. Ce processus crée des candidats médicaments plus diversifiés par rapport aux méthodes qui reposent sur des fragments prédéfinis.
- Apprentissage de la structure causale : Les GFlowNets sont également appliqués pour découvrir la structure des réseaux bayésiens causaux. Ils approchent la distribution a posteriori sur les graphes orientés acycliques (DAG), aidant les chercheurs à maintenir une vision réaliste de l'incertitude épistémique lors de la modélisation de relations de données complexes.
Link to this sectionMise en œuvre de la politique de transfert#
Lors de la construction d'un GFlowNet, la politique de transfert doit prédire une distribution de probabilité sur les prochaines étapes possibles. L'extrait PyTorch suivant démontre comment définir une couche de politique simple et échantillonner une action. Bien que la construction de modèles de vision comme Ultralytics YOLO26 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 tu développes des solutions d'IA complexes en Python, tu peux annoter des jeux de données, entraîner et déployer des modèles de manière transparente en utilisant la plateforme Ultralytics. Que tu te concentres sur des tâches de détection d'objets à haute vitesse ou que tu explores des architectures génératives, disposer d'un pipeline solide d'opérations d'apprentissage automatique (MLOps) est essentiel pour mettre tes modèles à l'échelle efficacement.






