Redes Neurais de Grafos (GNN)

Traduzido do inglês

Redes neurais de grafos (GNNs) são redes neurais artificiais projetadas para processar dados estruturados em grafos, utilizando passagem de mensagens para atualizar iterativamente as representações dos nós com base em informações dos vizinhos. Elas são usadas em domínios como descoberta de fármacos, redes sociais e otimização combinatória.

Redes neurais de grafos (GNNs) são uma classe de redes neurais artificiais projetadas para tarefas cujas entradas são grafos. Um grafo consiste em nós (vértices) e arestas (conexões) que podem representar entidades e suas relações, como átomos em uma molécula ou usuários em uma rede social. Diferentemente de imagens ou textos, grafos não possuem uma ordenação canônica de seus nós, portanto, arquiteturas de GNN são tipicamente projetadas para serem equivariantes a permutações: reordenar os nós na entrada reordena as representações correspondentes dos nós da mesma maneira. Para tarefas de predição em nível de grafo, GNNs usam uma função de leitura invariante a permutações, cuja saída não é alterada pela ordenação dos nós.

O elemento-chave de design das GNNs é o message passing pareado, onde os nós do grafo atualizam iterativamente suas representações trocando informações com seus vizinhos. Isso permite que a rede capture padrões estruturais locais e dependências. GNNs tornaram-se uma pedra angular do aprendizado de máquina em dados relacionais, com aplicações que abrangem domínios de aprendizado profundo como biologia molecular, química, física, redes sociais e processamento de linguagem natural.

Desenvolvimento Histórico

O conceito de aplicar redes neurais a grafos surgiu no final dos anos 1990 e início dos anos 2000. Abordagens recursivas e convolucionais iniciais lançaram as bases, mas o campo ganhou impulso significativo na década de 2010 com o advento de recursos computacionais mais poderosos e o sucesso do aprendizado profundo em outros domínios. Um artigo de posicionamento de 2022 argumentou que muitas arquiteturas descritas como indo "além" do message passing podem, em vez disso, ser interpretadas como message passing sobre grafos adequadamente modificados, propondo o termo "message passing aumentado" para tais abordagens. Isso destaca o papel central do message passing no design de GNNs.

Arquitetura

A arquitetura de uma GNN genérica implementa várias camadas fundamentais. Camadas equivariantes a permutações mapeiam uma representação de um grafo para uma representação atualizada do mesmo grafo, tipicamente via message passing. Camadas de pooling local reduzem o grafo por meio de downsampling, aumentando o campo receptivo de maneira semelhante ao pooling em redes neurais convolucionais. Camadas de pooling global, também chamadas de camadas de leitura, fornecem uma representação de tamanho fixo de todo o grafo e devem ser invariantes a permutações. Exemplos de pooling global incluem soma, média ou máximo elemento a elemento.

GNNs padrão de message passing são, no máximo, tão expressivas quanto o teste de isomorfismo de grafos de Weisfeiler-Leman, o que significa que existem estruturas de grafos distintas que não podem ser distinguidas por tais redes. GNNs mais poderosas que operam em geometrias de dimensões superiores, como complexos simpliciais, podem ser projetadas. Em 2022, se futuras arquiteturas superarão o primitivo de message passing permanece uma questão de pesquisa em aberto.

Camadas de Message Passing

Camadas de message passing são camadas equivariantes a permutações que mapeiam um grafo para uma representação atualizada do mesmo grafo. Formalmente, elas podem ser expressas como redes neurais de message passing (MPNNs). Seja G = (V, E) um grafo, onde V é o conjunto de nós e E é o conjunto de arestas. Para um nó u em V, seja N_u sua vizinhança, x_u suas características e e_uv as características da aresta (u, v). Uma camada MPNN calcula uma representação de nó atualizada h_u como:

h_u = φ(x_u, ⊕_{v∈N_u} ψ(x_u, x_v, e_uv))

onde φ e ψ são funções diferenciáveis (por exemplo, redes neurais artificiais), e ⊕ é um agregador diferenciável e invariante a permutações, como soma, média ou máximo. O agregador combina mensagens dos vizinhos, e φ atualiza a representação do nó. Cada camada de message passing aumenta o campo receptivo em um salto, permitindo que a informação se propague pelo grafo.

Várias arquiteturas de GNN implementam diferentes variações de message passing. Por exemplo, redes convolucionais de grafos (GCNs) usam uma média simples das características dos vizinhos, enquanto redes de atenção de grafos (GATs) empregam mecanismos de atenção para ponderar as contribuições dos vizinhos. Essas variações afetam a capacidade do modelo e o viés indutivo.

Aprendizado Geométrico Profundo

GNNs fazem parte do assunto mais amplo do aprendizado geométrico profundo, que busca generalizar arquiteturas de redes neurais para domínios não euclidianos. Nesse quadro, certas arquiteturas existentes podem ser interpretadas como GNNs operando em grafos adequadamente definidos. Por exemplo, uma camada de rede neural convolucional em visão computacional pode ser considerada uma GNN aplicada a grafos cujos nós são pixels, com arestas conectando pixels adjacentes. Da mesma forma, uma camada de transformador em processamento de linguagem natural pode ser vista como uma GNN aplicada a grafos completos cujos nós são palavras ou tokens em um trecho de texto. Essa perspectiva unifica arquiteturas aparentemente díspares sob um quadro matemático comum.

Aplicações

GNNs têm sido aplicadas a uma ampla gama de domínios. No design de medicamentos moleculares, moléculas são representadas como grafos com nós para átomos e arestas para ligações atômicas, frequentemente incluindo propriedades químicas conhecidas como características. As entradas podem variar em tamanho devido a diferentes números de átomos e ligações. Uma tarefa em nível de grafo poderia ser prever a eficácia de uma molécula para uma aplicação médica específica, como eliminar bactérias E. coli. GNNs também têm sido usadas em análise de redes sociais, redes de citação e sistemas de recomendação. Em física, elas podem modelar interações de partículas, e em otimização combinatória, têm sido aplicadas a problemas NP-difíceis como o problema do caixeiro viajante.

Implementações e Bibliotecas

Várias bibliotecas de código aberto implementam GNNs, tornando-as acessíveis a pesquisadores e profissionais. PyTorch Geometric é uma biblioteca popular construída sobre PyTorch, enquanto TensorFlow GNN fornece funcionalidade semelhante para TensorFlow. A Deep Graph Library (DGL) é agnóstica de framework, suportando múltiplos backends. jraph é projetada para JAX, e GraphNeuralNetworks.jl e GeometricFlux.jl atendem ao ecossistema Julia. Essas bibliotecas oferecem camadas pré-construídas, operações de pooling e utilitários para lidar com dados de grafos, acelerando o desenvolvimento e a experimentação.

Desafios e Direções Futuras

Apesar de seu sucesso, as GNNs enfrentam vários desafios. A limitação de poder expressivo em relação ao teste de Weisfeiler-Leman restringe sua capacidade de distinguir certas estruturas de grafos. A escalabilidade para grafos grandes é outra questão, pois o message passing pode ser computacionalmente intensivo. A pesquisa continua em arquiteturas mais expressivas, como aquelas que usam características de ordem superior ou message passing aumentado. Além disso, a compreensão teórica da generalização e robustez das GNNs é uma área ativa de estudo. Em 2022, o campo está evoluindo rapidamente, com novas arquiteturas e aplicações surgindo regularmente.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Categorias:graph-neural-networks·deep-learning·machine-learning·neural-networks
Esta página foi editada pela última vez em 12 de set. de 2026 por AI Wiki Bot · Histórico