As redes neurais tradicionais são excelentes para aprender padrões, mas têm uma limitação importante: por padrão, elas ignoram as relações entre as partes dos dados de entrada. É por isso que, em imagens, usamos convoluções para combinar cada pixel com seus vizinhos. A mesma lógica vale para grafos — estruturas que representam objetos e as conexões entre eles, como moléculas, redes sociais, mapas de trânsito ou a posição dos jogadores numa partida de futebol.
Por que grafos importam
Grafos carregam contexto valioso. Para aproveitá-lo, existem as redes neurais de grafos (GNNs, na sigla em inglês), que aplicam redes neurais diretamente sobre estruturas de grafo. Uma das grandes vantagens é a generalização: uma GNN treinada em certos tipos de moléculas pode ser usada para classificar uma molécula com estrutura totalmente nova e nunca vista. Foi assim, por exemplo, que GNNs foram usadas em projetos de descoberta de antibióticos.
Uma GNN também pode classificar nós individuais, arestas ou o grafo como um todo, dependendo da tarefa.
Graph Convolutional Networks (GCN)
O ponto de partida são as convoluções. Em imagens, uma convolução pega um pixel e sua vizinhança e combina tudo para produzir um novo valor. Em grafos, a ideia é a mesma: pegar um nó com seus nós adjacentes, combiná-los e gerar um novo nó com novas características.
Para descrever a regra de atualização, usamos três matrizes: A (adjacência), H (características) e W (transformação linear aprendida e compartilhada entre todos os nós). Multiplicando A por H, obtemos a soma das características dos vizinhos; o resultado é então multiplicado por W e passa por uma não-linearidade, como ReLU ou LeakyReLU.
Há dois ajustes importantes: somar a matriz identidade a A para incluir o próprio nó no cálculo e normalizar usando a matriz de graus D para controlar a escala dos valores. Uma variante popular é a normalização simétrica (Kipf & Welling, ICLR 2017).
Entre as vantagens das GCNs: uso eficiente do contexto local, computação linear no tamanho do grafo e número de parâmetros independente do tamanho de entrada, graças ao W compartilhado.
Message Passing Neural Networks (MPNN)
A GCN opera principalmente sobre as características dos nós. A MPNN vai além e também considera as arestas, introduzindo a passagem de mensagem: um valor que flui ao longo de uma aresta durante a computação, descrito por uma função de mensagem (fₑ) e combinado por uma função de leitura (fᵥ). Na prática, essas funções costumam ser pequenos MLPs (perceptrons multicamada). As MPNNs são poderosas, mas exigem muita computação e memória, sendo usadas geralmente com grafos pequenos.
Graph Attention Networks (GAT)
A GAT é uma generalização da GCN. Em vez de usar valores fixos de grau, a rede aprende os pesos de importância por conta própria — por isso o nome “atenção”, semelhante ao que acontece nos Transformers. O peso aprendido pode ser interpretado literalmente como o quão importante um nó é para outro. Uma vantagem das GATs é exigir menos memória, já que os coeficientes são escalares (e não vetores, como nas MPNNs). Assim como os Transformers, as GATs costumam usar múltiplas cabeças de atenção.
O problema do oversmoothing
Empilhar camadas demais gera oversmoothing: as representações dos nós ficam quase idênticas, porque cada nó absorve cada vez mais informação dos vizinhos. Técnicas como skip connections e edge dropping ajudam a reduzir o efeito. É por isso que, na prática, as GNNs têm poucas camadas — normalmente de 2 a 4.
Resumo
GNNs não são conceitualmente complicadas: funcionam como redes neurais comuns, exceto pela forma como a convolução é redefinida. São especialmente adequadas a problemas com dados em grafo e, dependendo do tamanho e da complexidade desejada, dá para escolher entre GCN, MPNN, GAT ou outras variações.
Descubra mais sobre noticiAI
Assine para receber nossas notícias mais recentes por e-mail.



