GNN (Graph Neural Network)

1. GNN (Graph Neural Network)의 개요

등장
배경
딥러닝 모델은 CNN, RNN, Transformer 등 다양한 신경망 모델 종류로 발전했지만, 복잡한 구조나 관계 임베딩의 한계로 인해 그래프(Graph) 기반 신경망 모델 등장
개념데이터의 특징 추출을 위해 이웃 노드 간 정보를 이용하여 특징 벡터를 찾아내는 그래프(Graph) 기반 신경망 모델
특징추상적 개념 접근에 용이연결된 데이터 표현 시 관계, 상호작용 등 추상적 개념 접근에 용이
Non-Euclidean 공간 표현/학습SNS, 분자 데이터 등 유클리디안 공간에 표현 불가능한 데이터 표현 가능
  • 그래프는 정점, 간선으로 이루어진 자료구조이므로, 현실 사물이나 추상적 개념 간 연결 관계를 Non-Euclidean 공간에 표현하여 데이터의 특징 추출에 용이

 

2. GNN 기반 모델 생성 파이프라인

① 그래프 구조 탐색
② 그래프 유형 및 규모 지정
③ 손실 함수(Loss Function) 설계
④ 계산 모듈을 사용하여 모델 생성
  • GNN 모델 생성 파이프라인에서 계산 모듈은 크게 Propagation/Sampling/Pooling Module로 분류되며, Propagation Module에서 대표적인 학습 모델로 Recurrent/Spectral/Spartial Model을 사용

 

3. GNN의 학습 과정 및 주요 학습 모델

(1) GNN의 학습 과정

학습 과정기술 요소학습 내용
1. 변환
(Transformation)
– 인접 행렬
– 노드 특성 행렬
– Non-Euclidean 공간에 존재하는 복잡한 형태의 데이터를 신경망 학습에 적합한 형태로 변환
2. 취합
(Aggregate)
– Target Node
– Hidden State
– 각 레이어에서 타겟 노드에 인접한 모든 이웃 노드의 은닉 변수 정보를 취합
3. 결합
(Combine)
– Hidden State
– Aggregated Information
– 타겟 노드와 앞서 결합된 이웃 노드의 은닉 변수 정보 기반 타겟 노드 업데이트
4. 생성
(Readout)
– Regression
– Classification
– 모든 노드의 은닉변수를 결합하여 그래프 단위 은닉변수 생성
5. 출력
(Output)
– Node, Edge, Graph
– Graph, Embedding
– 특정 레이어까지 과정 반복 후 노드 별 임베딩 계산하여 출력

(2) GNN의 주요 학습 모델

구분학습 모델학습 방법
Recurrent
Model
RecGNN– 노드 특징 추출 위해 파라미터 재귀적 적용
– hidden state를 재귀적으로 업데이트
GGNN (Gated Graph Neural Network)RNN에서 자주 사용되는 GRU 적용
– 재귀를 고정된 횟수의 step으로 감소
Spectral
Model
GCN (Graph Convolutional Network)CNN 연산과 유사 방식으로 인접 노드 이용 임베딩
– over smoothing 해결 위해 skip connection 사용
HGNN (Heterogeneous GNN)– 서로 다른 종류의 그래프에 GNN 적용
– 다른 구조, 의미 유지하며 맵핑 함수 학습
Spatial
Model
GAT (Graph Attention Network)– Transformer의 attention 을 그래프에 적용
– 이웃 노드 정보 기반 중요도 고려 임베딩
GraphSAGE– neighbor sampling 기반 mini-batch 학습
– 여러 Sub-Graph를 이용하여 학습
  • 기본 GNN의 문제점은 노드 은닉 상태의 비효율성, Edge 정보 계산 불가 등의 문제가 있으므로 GGNN, R-GCN 등 개선된 모델 사용 필요

 

4. GNN의 문제점 및 대응 방안

문제점해결 방안
– 노드 은닉 상태 반복 업데이트로 비효율적
– 기본 GNN은 Edge의 중요 정보 계산 불가
– 반복 맵핑 시 노드 정보 구별 제약 사항
기본 GNN 한계 극복 위해 GGNN(Gated Graph Neural Network), R-GCN(Relational Graph Convolution Network) 등 개선된 GNN 모델 사용
  • 그래프 데이터 특성은 실제 시스템에서 크게 다르기 때문에 최적의 GNN 아키텍처와 학습 하이퍼파라미터 식별이 어려우므로 AutoML, Self-Supervised Learning 등 적용하여 최적의 솔루션 탐색 가능

 

[참고]

  • KeAi, Graph neural networks: A review of methods and applications
  • wikidocs Deep Learning Bible – Graph Deep Learning

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^