Graph Neural Networks Flashcards
Explique o funcionamento básico das GNNs
Elas aplicam uma série de camadas de propagação de mensagens (também conhecidas como convoluções de grafos) para agregar informações dos vizinhos de cada nó e atualizar a representação desse nó.
Cite algumas de suas arquiteturas
- Graph Convolutional Networks (GCNs)
- GraphSAGE
- Gated Graph Neural Networks (GGNNs)
- Graph Attention Networks (GATs)
Cite as principais vantagens das GNNs
Capacidade de lidar com dados de grafos irregulares e não estruturados.
Invariância a permutações, ou seja, a ordem dos nós no grafo não afeta o resultado.
Capacidade de capturar informações locais e globais dos grafos.
Flexibilidade para lidar com grafos de diferentes tamanhos e topologias.
O que é o grau de um grafo?
O grau de um vértice é o número de arestas incidentes a ele.
Em grafos direcionados, distinguimos entre grau de entrada (número de arestas que chegam ao vértice) e grau de saída (número de arestas que saem do vértice).
O que é o caminho de um grafo?
Um caminho é uma sequência de vértices conectados por arestas. O comprimento do caminho é o número de arestas no caminho.
O que é o ciclo de um grafo?
Um ciclo é um caminho fechado no qual o primeiro e o último vértices são o mesmo, e todos os outros vértices são distintos.
O que é conectividade de um grafo?
Um grafo é conectado se existir um caminho entre cada par de vértices. Em um grafo direcionado, a conectividade é chamada de fortemente conectada se existir um caminho direcionado entre cada par de vértices.
O que é um subgrafo?
Um subgrafo é um grafo cujos vértices e arestas são subconjuntos dos vértices e arestas de outro grafo.
O que é uma árvore?
Uma árvore é um grafo não direcionado, conectado e acíclico. Uma árvore tem exatamente um caminho entre cada par de vértices.
O que é a distância de um grafo?
A distância entre dois vértices é o comprimento do caminho mais
curto entre eles.
O que é o diâmetro de um grafo?
O diâmetro de um grafo é a maior distância entre quaisquer dois vértices.
Qual a ideia básica das GCN (Graph Convolutional Networks)
Generalizar a convolução para que ela possa ser aplicada aos nós de um grafo, considerando as informações de seus vizinhos e suas características.
Quando e por quem foi proposta a GAT
GAT: Graph Attention Network
Proposta em “Graph Attention Networks”, 2017, Petar Velickovic, et al
Cite a ideia principal da GAT
A GAT estende as técnicas convolucionais de grafos, como a Graph Convolutional Network (GCN), introduzindo mecanismos de atenção (similares aos Transformers).
A ideia principal é calcular a importância relativa das arestas (ou seja, a relação entre dois nós), usando um mecanismo de atenção. Isso permite que a rede ajuste a importância de cada vizinho em relação ao nó central, em vez de tratar todos os vizinhos igualmente. A atenção é calculada com base nas características dos nós e é aprendida durante o treinamento da rede.
Cite exemplos de tarefas de GNNs
Tarefa em nível de nó - Classificação Semi-Supervisionada
Objetivo: classificar nós de um grafo em várias classes, sendo que somente um subconjunto de nós tem rótulos disponíveis para treinamento.
Tarefa em nível de aresta - Link de previsão
Objetivo: prever a existência ou não de uma aresta entre dois nós em um grafo.
Pode ser útil em sistemas de recomendação, previsão de interações e detecção de fraudes.
Tarefa em nível de grafo - Classificação
Objetivo: atribuir um rótulo a um grafo inteiro
Pode ser útil em classificação de moléculas, análise de redes sociais e detecção de comunidades.
Nesse caso especificamente, a GAT precisa aprender as representações de nós e depois agregá-las para obter uma representação global do grafo. Isso pode ser feito utilizando técnicas de pooling como global_mean_pool ou global_max_pool.