본문 바로가기
Data & Research

[Graph Neural Networks] Transductive vs. Inductive

by 물박사의 저장공간 2025. 6. 3.
Dr.trillion
Dr.trillion
Dr.trillion
Dr.trillion
Dr.trillion
Dr.trillion

2025.06.08 - [Data & Research] - [Graph Neural Networks] Table of Contents


본격적으로 Graph Neural Network에 들어가기 앞 서 일단 먼저 알아두어야 할 컨셉이 있습니다. Transductive Learning과 Inductive Learning인데요

 

1. Transductive Learning

Transductive Learning 환경에서는 모델이 학습 단계에서 전체 데이터셋(학습, 검증, 테스트 데이터 모두)에 접근할 수 있습니다. 테스트 데이터의 특성(feature)과 그래프 구조(연결성)는 알고 있지만, 레이블(label)만 모르는 상태입니다. 모델의 목표는 학습 데이터의 레이블을 활용하여 학습 과정 중에 이미 관찰된 특정 테스트 데이터(노드)의 레이블을 예측하는 것입니다. 즉, 학습 중에 보았던 노드들에 대해서만 예측을 수행하며, 완전히 새로운, 학습 중에 보지 못했던 노드에 대한 일반화는 초점을 맞추고 있지 않습니다. 

  • 전체 그래프 구조 활용: transductive GNN 모델은 학습 시 전체 그래프 구조(모든 노드와 간선 포함, 테스트 노드 포함)를 알고 있습니다. 예를 들어, GCN (Graph Convolutional Network)의 경우, 전체 그래프의 인접 행렬(adjacency matrix)과 모든 노드의 특성 행렬(feature matrix)을 사용하여 특정 노드의 임베딩을 계산합니다.
  • 고정된 노드 집합: 모델은 주어진 그래프 내의 특정 노드들에 대한 임베딩을 학습합니다. 따라서 학습이 완료된 후 완전히 새로운 노드가 그래프에 추가되면, 이 노드에 대한 임베딩을 직접적으로 생성하기 어렵고, 모델을 재학습하거나 추가적인 처리가 필요할 수 있습니다.
  • 주요 사용 사례: 주로 고정된 단일 그래프 내에서 일부 노드의 레이블이 주어졌을 때, 나머지 노드의 레이블을 예측하는 semi-supervised learning에서 많이 사용됩니다. 예를 들어, social network에서 일부 사용자의 관심사를 알고 있을 때, 다른 사용자들의 관심사를 예측하는 경우가 해당됩니다.
  • 예시 모델:
    • GCN (Graph Convolutional Network)의 표준적인 준지도 노드 분류 세팅: 전체 그래프의 인접 행렬을 사용하여 컨볼루션 연산을 수행하므로, 학습 시 테스트 노드의 정보(구조적 위치, 특성)도 활용됩니다.
    • DeepWalk, node2vec 같은 전통적인 노드 임베딩 방법들도 특정 그래프 전체에 대해 임베딩을 생성하므로, 해당 임베딩을 고정된 노드 집합에 대한 다운스트림 태스크에 사용할 때 Transductive 방식으로 간주될 수 있습니다.

 

 

2. Inductive Learning

Inductive Learning 환경에서는 모델이 학습 데이터만을 사용하여 일반적인 규칙이나 함수를 학습합니다. 학습이 완료된 후, 이 모델은 학습 과정 중에 전혀 보지 못했던 새로운 데이터(unseen instances)에 대해서도 예측을 수행할 수 있습니다. 즉, 모델이 데이터의 기본 패턴을 학습하여 새로운 상황에 일반화하는 것을 목표로 합니다.

  • 일반화 가능한 함수 학습: inductive GNN 모델은 개별 노드의 정체성(identity)에 의존하기보다는, 노드의 로컬 이웃 구조와 특성으로부터 노드 표현을 생성하는 일반화된 함수(예: aggregator 함수, message passing 함수)를 학습합니다.
  • 새로운 노드/그래프에 대한 예측: indutive GNN 모델은 학습 중에 보여주지 않은 새로운 노드가 등장하거나, 심지어 완전히 새로운 그래프가 주어져도 해당 노드 또는 그래프에 대한 임베딩을 생성하고 예측을 수행할 수 있습니다.
  • 주요 사용 사례:
    • 동적 그래프: Node나 edge가 시간에 따라 변하는 그래프에서의 예측.
    • 새로운 개체 예측: 단백질 구조 예측(새로운 분자 구조에 대한 특성 예측), 논문 인용 네트워크(새로운 논문의 주제 분류), 소셜 네트워크(새로운 사용자의 특성 예측) 등.
    • 그래프 분류: 여러 개의 독립적인 그래프를 학습하여, 새로운 그래프의 속성을 예측하는 경우 (예: 분자 그래프가 특정 약효를 가질지 예측).
  • 예시 모델:
    • GraphSAGE (Graph Sample and Aggregation): 각 노드의 embedding을 생성할 때, 모든 이웃을 사용하는 대신 고정된 수의 이웃을 샘플링하고, 학습된 aggregator 함수를 사용하여 이웃 정보를 집계합니다. 이 aggregator 함수는 노드의 정체성과 무관하게 작동하므로 새로운 노드에도 적용 가능합니다.
    • GAT (Graph Attention Network): attention mechanism을 사용하여 이웃 노드의 중요도를 학습하는 GAT역시 Inductive Learning의 범주에 포함될 수 있습니다. 
    • MPNN (Message Passing Neural Network)의 Framework에 기반한 많은 최신 GNN들이 이 범주에 포함될 수 있습니다. 

 

https://komputervision.wordpress.com/2020/03/24/inductive-learning-vs-transductive-learning/