GNNs Prof. Anderson Rocha Tavares Slide 14 / 24

GNN como uma forma de Convolução

Bloco 3 — Perspectiva Unificada

🖼️ CNN — Grade Regular
Kernel 3×3 sobre região da imagem
Imagem -1 2 0 -2 1 0 2 -1 0 -1 -2 1 -2 1 2 1 0 2 -1 0 kernel 3×3 → Kernel W 1 -1 0 2 0 -1 -1 1 2 → Resultado 4
  • Kernel desliza por uma grade regular
  • Vizinhança = pixels adjacentes (posição fixa)
  • Pesos aprendidos para cada posição do kernel
🕸️ GNN — Grafo Irregular
Região 3×3 como grafo — GCN sobre pixels
2 p₀₀ -1 p₀₁ 0 p₀₂ 1 p₁₀ 1 p₁₂ 0 p₂₀ 2 p₂₁ -1 p₂₂ -2 p₁₁
GCN Update  (Kipf & Welling, ICLR 2017)
h'p₁₁ = σ( W · mean(N(p₁₁)) )  ·  mean ≈ 0.5
  • Vizinhança = pixels adjacentes na grade 2D (nós conectados por arestas)
  • Grau variável — borda tem menos vizinhos que o centro
  • GCN (Kipf & Welling) usa mean-pooling normalizado pelo grau
Exemplo: atualização de p₁₁
hp₁₁ = −2 (feature atual)
N(p₁₁) {2,−1,0,1,1,0,2,−1} (8 vizinhos)
Σhu = 4 2−1+0+1+1+0+2−1
mean = 0.5 Σ / 8
z = W · 0.5 (W escalar)
h'p₁₁ = ReLU(z) ≥ 0 após ativação
CNN
y[i] = Σk∈N wk · x[i+k]
Vizinhança fixa · Pesos por posição
GNN (mean-pooling)
hv(l+1) = σ( W · ( 1/|N(v)| · Σu∈N(v) hu(l) ) )
Vizinhança variável · Mean-pooling sobre vizinhos · Pesos compartilhados W
💡 CNN é um caso especial de GNN em grafos do tipo grade! A convolução clássica nada mais é que message passing em um grafo regular 2D com pesos posicionais fixos.