정규화된 GCN 전파 규칙 (Normalized GCN Propagation Rule)
핵심 목표
정규화된 GCN 전파 규칙은 다음과 같습니다:
H(i+1)=σ(D~−1/2A~D~−1/2H(i)W(i))
이 수식이 왜 필요한지, 각 기호가 무엇을 의미하는지, 실제 숫자로 어떻게 계산되는지를 기초부터 아주 자세히 설명합니다.
1. 왜 정규화가 필요한가? — 기본 전파 규칙의 문제점
기본 GCN 전파 규칙:
H(i+1)=σ(AH(i)W(i))
문제: 이웃 수에 따라 정보량이 치우침
- 노드 A: 이웃 100개 → AH(i) 결과가 과도하게 증폭됨
- 노드 B: 이웃 1개 → 결과가 작음
→ 학습 불안정 및 노드 간 표현 편향 발생
해결책: 이웃 정보를 정규화하여 공정하게 반영
2. 정규화를 위한 3가지 핵심 요소
A~=A+I — Self-loop 추가
- A: 원본 인접 행렬
- I: 단위 행렬
- 의미: 각 노드가 자기 자신의 정보도 포함하도록 연결합니다.
D~ — 차수 행렬 (Degree Matrix)
- D~는 대각 행렬이며,
D~ii=j∑A~ij
- 즉, 노드 i의 총 연결 수 (self-loop 포함)입니다.
D~−1/2A~D~−1/2 — 정규화된 인접 행렬
- 목적: 이웃이 많은 노드의 영향력을 줄이고, 적은 노드의 영향력을 높여 균형 잡힌 정보 전달을 보장합니다.
- 직관: 노드 i와 j 사이의 연결 강도 = didj1
이 방식은 대칭 정규화(symmetric normalization)라 불립니다.
3. 실제 예시로 단계별 계산 (새로운 데이터 적용)
그래프 정의
- 노드: 0, 1, 2, 3
- 엣지: (0, 1), (1, 2), (1, 3), (3, 0)
→ 원본 인접 행렬 A:
A=⎣⎢⎢⎢⎡0001101001010100⎦⎥⎥⎥⎤
Step 1: A~=A+I — Self-loop 추가
A~=A+I=⎣⎢⎢⎢⎡1001111001110101⎦⎥⎥⎥⎤
Step 2: 차수 행렬 D~ 계산
각 행의 합: d0=2,d1=3,d2=2,d3=3.
D~=⎣⎢⎢⎢⎡2000030000200003⎦⎥⎥⎥⎤
Step 3: D~−1/2 계산
D~−1/2=⎣⎢⎢⎢⎢⎡21000031000021000031⎦⎥⎥⎥⎥⎤≈⎣⎢⎢⎢⎡0.707100000.577400000.707100000.5774⎦⎥⎥⎥⎤
Step 4: 정규화된 인접 행렬 M=D~−1/2A~D~−1/2 계산
(Step 1~3이 동일하므로, 결과 행렬 M은 이전과 동일합니다.)
M=D~−1/2A~D~−1/2=⎣⎢⎢⎢⎡0.5000000.40820.40820.33330.4082000.40820.50000.408200.333300.3333⎦⎥⎥⎥⎤
✅ 이 행렬의 각 원소 (i,j)는 노드 i가 노드 j로부터 받는 정규화된 정보 비율을 나타냅니다.
Step 5: 전파 규칙 적용 (새로운 H(0) 및 W(0) 사용)
초기 임베딩 H(0)∈R4×2 (모든 값 양수)
H(0)=⎣⎢⎢⎢⎡1.02.03.04.01.02.03.04.0⎦⎥⎥⎥⎤
가중치 W(0)∈R2×2 (모든 값 양수)
W(0)=[0.10.30.20.4]
1) MH(0) 계산 (이웃 정보 집계)
MH(0)=⎣⎢⎢⎢⎡0.5000000.40820.40820.33330.4082000.40820.50000.408200.333300.3333⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡1.02.03.04.01.02.03.04.0⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡1.31643.22442.31642.96601.31643.22442.31642.9660⎦⎥⎥⎥⎤
2) ×W(0) 계산 (선형 변환)
⎣⎢⎢⎢⎡1.31643.22442.31642.96601.31643.22442.31642.9660⎦⎥⎥⎥⎤[0.10.30.20.4]=⎣⎢⎢⎢⎡0.52661.28980.92661.18640.78981.93461.38981.7796⎦⎥⎥⎥⎤
3) ReLU 적용 (σ=ReLU)
모든 값이 양수이므로, ReLU를 적용해도 값이 유지됩니다.
H(1)=ReLU⎝⎜⎜⎜⎛⎣⎢⎢⎢⎡0.52661.28980.92661.18640.78981.93461.38981.7796⎦⎥⎥⎥⎤⎠⎟⎟⎟⎞=⎣⎢⎢⎢⎡0.52661.28980.92661.18640.78981.93461.38981.7796⎦⎥⎥⎥⎤
결과 해석: H(1)은 노드 0, 1, 2, 3의 새로운 임베딩을 나타냅니다. 이 임베딩은 이웃 노드의 정보를 정규화된 방식으로 통합하여 생성되었으며, 다음 레이어의 입력으로 사용됩니다.
정규화의 효과 요약
| 노드 | 이웃 수 (self-loop 포함) | 기본 전파 AH (합산) | 정규화 전파 MH (평균화) |
|---|
| 0 | 2 | 1.0+2.0=3.0 (큼) | 1.3164 (정규화됨) |
| 1 | 3 | 2.0+3.0+4.0=9.0 (매우 큼) | 3.2244 (정규화됨) |
| 2 | 2 | 2.0+3.0=5.0 (큼) | 2.3164 (정규화됨) |
| 3 | 3 | 1.0+3.0+4.0=8.0 (매우 큼) | 2.9660 (정규화됨) |
결과: 정규화된 전파 MH를 사용하면, 이웃이 2개인 노드 0과 이웃이 3개인 노드 1, 3이 받는 정보의 크기가 훨씬 더 균형 잡히게 조정됩니다. 이는 안정적이고 공정한 학습을 가능하게 합니다.
결론
정규화된 GCN 전파 규칙은 다음과 같이 요약됩니다:
H(i+1)=σ(정규화된 구조D~−1/2A~D~−1/2현재 임베딩H(i)학습 가중치W(i))
이 수식은 GCN이 그래프 구조를 활용하여 노드 임베딩을 효과적으로 업데이트하는 핵심 메커니즘입니다.