Node i 에 대한 Node Computation Graph




- $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 |