이웃에게 메시지를 받는 GNN
랜덤 워크 임베딩은 노드마다 벡터를 따로 외웁니다. 노드의 특징을 이웃과 섞어 표현을 만드는 그래프 신경망(GNN)의 한 층이 무엇을 하는지 직접 평균을 내며 따라가 봅니다.
이번 회차, 내 속도로.
기초를 더 짚거나 궁금한 주제로 잠깐 넓혀 보세요. 최대 3단계를 거쳐 DAY 78로 돌아옵니다.
난이도·관심 주제 고르기
1/2개 선택 · 새 보충·심화 수업과 본과정 다시 읽기를 선택할 수 있어요.
이렇게 다녀와요 1단계 · 약 12분
- 출발 · DAY 78메시지 전달·층 수
- 1. 관심 주제원-핫·밀집 벡터·코사인 유사도추가 31 · 새 추가 수업
- 복귀 · DAY 78원래 회차 이어가기
- 원-핫·밀집 벡터·코사인 유사도 · DAY 76에서 노드 임베딩이 가까운 노드를 가까운 벡터로 만든다고 했는데, 출발점인 원-핫 표현과 비교하면 임베딩이 왜 필요한지 분명해집니다.
선택과 경로 기록은 이 브라우저에 저장됩니다. 본과정의 회차 완료와는 별도입니다.
핵심 개념
그래프 신경망(graph neural network, GNN)은 노드마다 특징 벡터(예: 텍스트 임베딩, 숫자 속성)에서 출발해, 층을 지날 때마다 이웃의 정보를 섞어 표현을 갱신합니다. Gilmer et al.(2017)은 여러 모델을 메시지 전달 신경망(MPNN) 틀로 정리했습니다. 단계마다 이웃 w에서 메시지 함수 M(h_v, h_w, e_vw)로 메시지를 만들어 더하고, 갱신 함수 U(h_v, m_v)로 자기 상태를 새로 씁니다. 그래프 전체를 예측해야 하면 마지막에 읽기(readout) 함수로 모든 노드를 요약합니다.
GCN(Kipf & Welling 2017)의 층은 H' = σ(D̃^−1/2 Ã D̃^−1/2 H W)입니다. Ã = A + I는 인접 행렬에 자기 연결을 더한 것이고, D̃는 그 차수 행렬입니다. 풀어 말하면 ‘자기와 이웃의 특징을 차수로 정규화해 섞은 뒤 학습 가중치 W를 곱하고 활성화 함수 σ를 통과시킨다’입니다. 층 하나가 1홉 이웃의 정보를 가져오므로 k층을 쌓으면 k홉 안의 노드가 출력에 영향을 줍니다.
층을 많이 쌓으면 더 멀리 보지만 늘 좋아지지는 않습니다. GCN 논문의 실험에서는 2~3층이 가장 좋았고, 7층보다 깊으면 잔차 연결 없이는 학습이 어려워졌다고 보고합니다. Li et al.(2018)은 그래프 합성곱이 라플라스 평활화(Laplacian smoothing)의 한 형태이며, 층을 많이 쌓으면 노드 표현이 서로 구별되지 않는 과평활화(over-smoothing) 우려가 있다고 분석했습니다. 평균을 반복하면 값이 한곳으로 모이는 것과 같은 현상입니다.
GNN은 연결 구조를 그대로 믿고 정보를 퍼뜨린다는 점도 기억해 둡니다. LLM이 추출한 그래프(DAY 83)에 잘못된 엣지가 있으면 그 오류도 이웃을 따라 퍼집니다. 이 파트 뒤쪽의 G-Retriever(DAY 93)는 검색한 부분 그래프를 GNN으로 인코딩해 LLM에 넣는데, 그때도 부분 그래프의 품질이 결과를 좌우합니다.
작은 예제로 따라가기
경로 A–B–C의 초기 특징이 A=6, B=0, C=3입니다. 학습 가중치와 활성화는 생략하고 ‘새 값 = 자기와 이웃 값의 평균’ 규칙만 씁니다.
1층: A=(6+0)/2=3, B=(0+6+3)/3=3, C=(3+0)/2=1.5입니다. B는 이제 양쪽 이웃의 정보를 담습니다.
2층: A=(3+3)/2=3, B=(3+3+1.5)/3=2.5, C=(1.5+3)/2=2.25입니다. A에 C의 정보가 처음 들어오고(2홉), 최댓값−최솟값이 6→1.5→0.75로 줄어 노드 값이 서로 비슷해집니다.
직접 실험해 보기
층 수를 0에서 4까지 한 칸씩 올리며 노드 값 badge와 footer의 분산을 기록하고, 분산이 가장 크게 줄어드는 층과 값이 거의 같아지는 층을 찾으세요.
층을 쌓으며 이웃의 평균을 받아 보기
| 층 | 분산 | 감소폭 | 최댓값−최솟값 |
|---|---|---|---|
| 0층 | 10.00 | — | 9.00 |
| 1층 | 1.96 | −8.04 | 3.75 |
| 2층 | 0.46 | −1.50 | 1.56 |
| 3층 | 0.11 | −0.34 | 0.73 |
| 4층 | 0.03 | −0.08 | 0.35 |
이번에는 직접 풀어 보세요
정답을 보기 전에 계산과 이유를 적어 보세요. 해설과 비교하고 확인 표시를 남기면 완료할 수 있습니다.
힌트 보기
A와 D의 거리는 3홉입니다. 층마다 C, B, A 순으로 정보가 한 칸씩 이동합니다.
풀이와 비교하기
1층: C=(0+0+12)/3=4, D=(12+0)/2=6이고 A·B는 0입니다. 2층: B=(0+0+4)/3≈1.33이고 A는 여전히 0입니다. 3층: A=(0+1.33)/2≈0.67로 처음 0이 아닙니다. 정보가 층마다 한 홉씩 전달되므로 거리 3인 D의 영향은 3층에서야 A에 닿습니다.
풀이와 확인 표시는 이 브라우저에 저장됩니다.
오늘 이해한 것과 다시 볼 것
계산이 달라진 이유, 헷갈린 개념, 다음에 확인할 질문을 남겨 보세요.
메모는 이 브라우저에 저장됩니다. 홈에서 전체 기록을 내려받을 수 있습니다.오늘의 이해 확인
평균으로 이웃을 집계하는 GNN에서 층 수를 계속 늘릴 때 나타나기 쉬운 현상은?
완료 조건: 확인 퀴즈 정답 · / 직접 풀기 0/1
더 깊이 읽기
예제와 실험 데이터는 이 과정을 위해 만든 것입니다. 원문은 선택 자료이며, 강의와 직접 풀기만으로도 다음 회차를 이어갈 수 있습니다.
Neural Message Passing for Quantum ChemistryGilmer et al. (2017)Semi-Supervised Classification with Graph Convolutional NetworksKipf & Welling (2017)Deeper Insights into Graph Convolutional Networks for Semi-Supervised LearningLi, Han & Wu (2018)이 자료는 개념 학습용입니다. 실제 데이터베이스·라이브러리·플랫폼의 동작과 설정은 제품과 버전마다 다를 수 있습니다.