Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Redes de Fluxo Generativo (GFlowNets)

Descubra como as Redes de Fluxo Generativo (GFlowNets) utilizam a modelação probabilística para gerar amostras de objetos discretos diversos e de alto retorno, com vista à descoberta de fármacos e à aprendizagem causal.

As Redes de Fluxo Generativas, ou GFlowNets, são uma poderosa estrutura de aprendizagem automática concebida para modelagem probabilística e amostragem amortizada. Destacam-se na geração de objetos discretos e composicionais, tratando o processo de geração como uma tarefa de tomada de decisão sequencial. Em vez de simplesmente maximizar uma recompensa, como é comum na aprendizagem por reforço tradicional, as GFlowNets aprendem a amostrar objetos com uma probabilidade proporcional a uma função de recompensa pré-definida. Isto permite-lhes descobrir conjuntos diversificados de candidatos de alta recompensa dentro de espaços de amostragem excepcionalmente grandes, mitigando eficazmente o colapso do modelo que frequentemente afeta outras arquiteturas generativas, como as Redes Adversárias Generativas (GANs).

Princípios e mecanismos fundamentais

As GFlowNets funcionam movendo-se através de um ambiente estruturado, adicionando blocos de construção passo a passo para construir um objeto final.

  • Políticas de avanço e retrocesso: Uma rede neural prevê uma política de avanço, determinando a distribuição de probabilidade das ações possíveis a partir de um determinado estado. Ao mapear trajetórias através desses estados, o modelo aprende o «fluxo» de probabilidade.
  • Perda de equilíbrio da trajetória: O treino baseia-se frequentemente em objetivos de otimização como a perda de equilíbrio da trajetória, o que garante que a probabilidade de gerar um objeto específico esteja em estreita correspondência com a sua recompensa observada. Um ajuste adequado dos hiperparâmetros é essencial para estabilizar esta função de perda durante o treino.
  • Amostragem proporcional: Ao realizar uma amostragem proporcional à recompensa, em vez de procurar apenas o máximo absoluto, as GFlowNets promovem naturalmente a diversidade, o que é crucial na exploração de espaços combinatórios complexos.

GFlowNets vs. Outras IA generativas

Embora a IA generativa abranja muitas técnicas, as GFlowNets ocupam um nicho único. Os modelos de difusão padrão ou técnicas como o Flow Matching transformam normalmente distribuições contínuas de ruído em dados. Em contrapartida, as GFlowNets são explicitamente concebidas para gerar estruturas discretas, tais como gráficos ou sequências. Além disso, enquanto os agentes de aprendizagem por reforço padrão visam encontrar um único caminho ótimo através do Processo de Decisão de Markov (MDP), as GFlowNets traçam múltiplos caminhos de alta recompensa para garantir uma ampla variedade de resultados gerados.

Aplicações no Mundo Real

A capacidade de gerar candidatos diversificados e altamente otimizados torna as GFlowNets particularmente valiosas em domínios científicos e estruturais.

Aplicação da Política de Apoio

Ao construir uma rede GFlowNet, a política de avanço deve prever uma distribuição de probabilidade para os próximos passos possíveis. O seguinte PyTorch demonstra como definir uma camada de política simples e selecionar uma ação. Enquanto a construção de modelos de visão como Ultralytics requer a previsão das coordenadas da caixa delimitadora, um GFlowNet utiliza distribuições categóricas para selecionar o próximo estado no seu caminho de geração.

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()}")

Se estiver a desenvolver soluções complexas de IA em Python, pode facilmente anotar conjuntos de dados, treinar e implementar modelos utilizando a Ultralytics . Quer se concentre em tarefas de detecção de objetos a alta velocidade ou na exploração de arquiteturas generativas, dispor de um pipeline sólido de operações de aprendizagem automática (MLOps) é essencial para escalar os seus modelos de forma eficaz.

Vamos construir juntos o futuro da IA!

Comece sua jornada com o futuro do aprendizado de máquina