본문 바로가기
AI & Data Analysis/Deep Learning

Simple neighborhood aggregation

by doraemin_dev 2025. 7. 9.
Node i 에 대한 Node Computation Graph

 

그림은 이웃 정보 집계(aggregation)에 집중한 시각화입니다. 수식은 이웃 정보 + 자기 정보 → 뉴럴 네트워크 적용 → 출력 임베딩까지 전체 과정을 설명합니다. 따라서 수식이 더 일반화된 GNN 구조를 표현하고 있으며, 그림은 그 중 message passing(aggregation) 단계만 강조한 버전입니다.

 

  • $h_v^k$ : **노드 vv**의 $k$번째 layer의 임베딩 (출력)
  • $h_u^{k-1}$: 이웃 노드 $u$의 이전 layer의 임베딩 (입력)
  • $N(v)$: 노드 $v$의 이웃 집합
  • $W_k, B_k$: 각각 이웃 정보, 자기 자신 정보에 곱하는 학습 가능한 가중치 행렬
  • $\sigma$: 비선형 함수 (예: ReLU)

논리 해석:

1. 이웃 정보

$\sum_{u \in N(v)} \frac{h_u^{k-1}}{|N(v)|}$

→ 이웃 노드들의 임베딩을 평균 내는 것
→ $W_k$를 곱해서, 이웃 정보에서 새로운 표현을 뽑아냄

2. 자기 자신 정보 $B_k h_v^{k-1}$ → 본인의 이전 layer 임베딩에 $B_k$를 곱해서 자기 정보 유지

실제 GNN 구현에서는 자기 자신의 이전 임베딩도 함께 고려함
이를 "residual connection" 또는 "skip connection"처럼 보기도 함.

3. 둘을 더한 후 $\sigma$를 적용:
→ 이웃과 본인 정보를 조합해서 다음 레이어의 $h_v^k$ 생성


(1) average messages from neighbors :

→ 이건 수식의

​$\sum_{u \in N(v)} \frac{h_u^{k-1}}{|N(v)|}​$

이웃 노드들의 임베딩을 평균내는 과정

 

(2) apply neural network

→ 이건 위의 평균 결과를 뉴럴 네트워크(또는 가중치 행렬)에 통과시키는 것을 의미합니다.
수식으로는

$W_k \cdot (\text{평균}) + B_k \cdot h_v^{k-1}​$

 


쉬운 비유:

노드 v는 어떤 조직의 구성원이고, 주변 동료들의 피드백(이웃)과 자신의 기존 성과(자기 자신)를 반영해서 이번 성과(embedding)를 내는 것과 같습니다.

  • 동료들 피드백: 평균 내서 정리 (→ $\sum \frac{h_u}{|N(v)|}$)
  • 자기 성과: 그대로 사용
  • 팀장이 이 둘을 가중치 다르게 반영 (→ $W_k, B_k$)
  • 최종 성과는 둘을 합쳐서 보고 (→ $\sigma(...)$)

요약:

  • 이 수식은 이웃 정보자기 자신 정보각기 다르게 처리한 뒤 더해서, 다음 레이어의 임베딩을 만드는 GNN의 대표적인 방법입니다.
  • "이웃 + 자기"라는 요약은 맞지만, 실제 수식에서는 각각 다르게 취급되기 때문에 단순 덧셈으로 오해하면 직관이 어렵습니다.

 

'AI & Data Analysis > Deep Learning' 카테고리의 다른 글

[GAT] self-attention  (0) 2025.07.17
Graph Attention Network (GAT)  (0) 2025.07.09
[HierMIL Dataset] compare in cellxgene  (0) 2025.06.24
Pretrained model vs. Transfer learning  (0) 2025.06.09
LSTM  (0) 2025.06.06