본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

그래프 신경망(Graph Neural Network, GNN)은 노드와 간선으로 이루어진 그래프 구조 데이터를 입력으로 받아, 이웃 노드끼리 정보를 주고받는 연산을 반복하면서 노드·간선·그래프 전체의 표현(임베딩)을 학습하는 인공 신경망이다.

합성곱 신경망은 격자 모양(이미지의 픽셀), LSTM 같은 순환 신경망은 일렬로 늘어선 순서(문장, 시계열)를 전제로 한다. 그러나 소셜 네트워크, 분자 구조, 전력망, 도로망, 추천 시스템의 사용자-상품 관계처럼 이웃의 수와 순서가 정해져 있지 않은 데이터는 이런 구조에 맞지 않는다. 그래프 신경망은 데이터를 그래프 그대로 다루면서, 각 노드가 연결된 이웃의 정보를 모아 자기 상태를 갱신하는 방식으로 이 문제를 푼다.

그래프는 노드 집합과 간선 집합, 각 노드의 특징 벡터로 표현하며, 연결 관계는 보통 인접 행렬로 나타낸다. GNN 은 노드 번호를 어떻게 매기든 결과가 같아야 하므로(순열 불변성·등변성) 이웃 정보를 합칠 때 합·평균·최댓값처럼 순서와 무관한 연산을 쓴다.

동작 원리: 메시지 전달

편집 원본 편집

대부분의 GNN 은 메시지 전달(Message Passing) 틀로 설명된다. 한 층(layer)에서 다음 세 단계를 거친다.

단계 내용
메시지 생성(Message) 각 이웃 노드가 자기 특징(필요하면 간선 특징까지)을 변환해 메시지를 만든다
집계(Aggregate) 노드가 이웃들의 메시지를 합·평균·최댓값·어텐션 가중합 등으로 모은다
갱신(Update) 모은 정보와 자기 이전 상태를 결합해 새 노드 표현을 만든다(신경망·활성화 함수 적용)

층을 k 번 쌓으면 각 노드는 k 홉(hop) 떨어진 노드까지의 정보를 반영한다. 그래프 전체를 하나의 값으로 판단해야 할 때는 모든 노드 표현을 합치는 읽어내기(Readout, 그래프 풀링) 단계를 추가한다.

모델 특징
GCN(Graph Convolutional Network) 정규화한 인접 행렬로 이웃 특징을 평균하듯 합친다. 스펙트럴 그래프 합성곱을 1차 근사한 가장 기본적인 모델
GraphSAGE 이웃을 일부만 표본추출해 집계한다. 학습 때 없던 새 노드에도 적용할 수 있는 귀납적(inductive) 학습과 대규모 그래프에 유리
GAT(Graph Attention Network) 어텐션 메커니즘으로 이웃마다 다른 가중치를 학습해 중요한 이웃을 더 반영한다
GIN(Graph Isomorphism Network) 합(sum) 집계와 다층 퍼셉트론으로 서로 다른 그래프 구조를 구별하는 표현력을 높였다
그래프 오토인코더(GAE/VGAE) 노드 임베딩으로 인접 행렬을 복원하도록 학습한다. 링크 예측·비지도 표현 학습에 쓴다
시공간 그래프 신경망(STGNN, STGCN 등) 공간 관계는 그래프 합성곱으로, 시간 변화는 순환 신경망·시간 합성곱으로 처리한다. 교통량·전력 수요처럼 위치 간 관계와 시계열이 함께 있는 데이터에 쓴다
수준 과제 예
노드 노드 분류·회귀 논문 분야 분류, 이상 계정 탐지, 지점별 수요 예측
간선 링크 예측 친구 추천, 추천 시스템의 사용자-상품 연결 예측, 약물 상호작용 예측
그래프 그래프 분류·회귀 분자의 독성·물성 예측, 회로 특성 예측

다른 신경망과의 비교

편집 원본 편집
구분 합성곱 신경망(CNN) 순환 신경망(RNN·LSTM) 그래프 신경망(GNN)
입력 구조 규칙적인 격자(이미지) 순서가 있는 시퀀스 임의의 그래프(노드·간선)
이웃 고정된 크기의 주변 픽셀 바로 앞 시점 노드마다 수와 순서가 다른 이웃
핵심 연산 필터 합성곱 시점별 순환 상태 갱신 이웃 메시지 집계·갱신
관계 표현 위치 근접성만 반영 시간 순서만 반영 명시적 관계(연결)를 그대로 반영

트랜스포머는 모든 토큰이 서로 연결된 완전 그래프 위의 어텐션으로 볼 수 있어, GAT 와 같은 계열로 설명하기도 한다.

  • 추천 시스템: 사용자-상품 이분 그래프에서 선호 관계를 예측한다
  • 금융 보안: 계좌·거래 관계망에서 사기·자금세탁 계좌를 찾는다
  • 신약·소재: 원자를 노드, 결합을 간선으로 보고 분자 성질을 예측한다
  • 교통: 도로 구간을 노드로 두고 구간 간 영향을 반영해 통행량을 예측한다
  • 지식 그래프: 개체 간 관계를 추론해 빠진 사실을 보완한다

가상발전소 전력 수요 예측

편집 원본 편집

가상발전소(VPP, Virtual Power Plant)는 태양광·풍력·ESS·수요반응 자원처럼 흩어진 분산에너지자원을 하나의 발전소처럼 묶어 운영한다. 자원과 수요처는 송배전망으로 연결돼 있고, 한 지역의 날씨·부하 변화가 인접 지역에 영향을 주므로 공간 관계를 함께 봐야 한다.

  • 변전소·배전선로·분산자원·수요처를 노드로, 전력선 연결이나 지리적 근접성을 간선으로 둔 전력망 그래프를 만든다
  • 노드 특징으로 과거 부하·발전량, 기상, 요일·시간대를 넣는다
  • 시공간 GNN 으로 지역 간 상호 영향과 시간 패턴을 함께 학습해 지점별 수요·발전량을 예측한다
  • 시계열 딥러닝(LSTM 등)은 한 지점의 시간 패턴, GNN 은 지점 사이의 공간 관계, 강화 학습은 예측을 바탕으로 한 충방전·입찰 같은 운영 의사결정을 맡아 서로 보완한다
  • 과평활화(Over-smoothing): 층을 깊게 쌓으면 모든 노드 표현이 비슷해져 구별력이 떨어진다
  • 과압축(Over-squashing): 멀리 있는 노드의 정보가 좁은 경로를 지나며 고정 크기 벡터에 눌려 손실된다
  • 확장성: 이웃 수가 층마다 기하급수로 늘어 수억 개 노드 그래프에서는 표본추출·분할 학습이 필요하다
  • 동적 그래프: 시간에 따라 노드·간선이 바뀌는 그래프는 별도 모델이 필요하다
  • 설명 가능성: 어떤 이웃·경로가 예측에 영향을 주었는지 해석하기 어렵다