Graph Neural Networks Flashcards

1
Q

Explique o funcionamento básico das GNNs

A

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ó.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cite algumas de suas arquiteturas

A
  • Graph Convolutional Networks (GCNs)
  • GraphSAGE
  • Gated Graph Neural Networks (GGNNs)
  • Graph Attention Networks (GATs)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cite as principais vantagens das GNNs

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é o grau de um grafo?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que é o caminho de um grafo?

A

Um caminho é uma sequência de vértices conectados por arestas. O comprimento do caminho é o número de arestas no caminho.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

O que é o ciclo de um grafo?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é conectividade de um grafo?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que é um subgrafo?

A

Um subgrafo é um grafo cujos vértices e arestas são subconjuntos dos vértices e arestas de outro grafo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

O que é uma árvore?

A

Uma árvore é um grafo não direcionado, conectado e acíclico. Uma árvore tem exatamente um caminho entre cada par de vértices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

O que é a distância de um grafo?

A

A distância entre dois vértices é o comprimento do caminho mais
curto entre eles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é o diâmetro de um grafo?

A

O diâmetro de um grafo é a maior distância entre quaisquer dois vértices.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qual a ideia básica das GCN (Graph Convolutional Networks)

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quando e por quem foi proposta a GAT

A

GAT: Graph Attention Network

Proposta em “Graph Attention Networks”, 2017, Petar Velickovic, et al

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cite a ideia principal da GAT

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cite exemplos de tarefas de GNNs

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly