Yolo 비전 선전
선전
지금 참여하기
용어집

Graph Neural Network (GNN)

그래프 신경망(GNN)을 활용하여 비유클리드 데이터를 처리하는 방법을 탐구하세요. 고급 비전 AI를 위해 Ultralytics 함께 GNN이 관계적 추론을 어떻게 향상시키는지 알아보세요.

그래프 신경망(GNN)은 그래프로 표현된 데이터를 처리하도록 설계된 특수한 딥러닝 아키텍처입니다. 전통적인 모델인 컨볼루션 신경망(CNN)은 이미지와 같은 격자형 구조에 최적화되어 있으며, 순환 신경망(RNN) 은 텍스트나 시간 시리즈 분석과 같은 순차적 데이터에 탁월한 반면, GNN은 비유클리드 데이터를 처리하는 데 독특한 능력을 지닙니다. 이는 노드(엔티티)와 에지(관계)로 정의된 데이터셋을 기반으로 작동하여, 실제 네트워크를 특징짓는 복잡한 상호의존성으로부터 학습할 수 있음을 의미합니다. 개별 데이터 포인트의 속성과 그들 사이의 구조적 연결을 모두 포착함으로써, GNN은 엔티티 자체만큼이나 관계가 중요한 영역에서 강력한 통찰력을 제공합니다. 관계가 개체 자체만큼 중요한 분야에서 강력한 통찰력을 제공합니다.

그래프 신경망의 작동 원리

그래프 신경망(GNN)의 근본적 메커니즘은 흔히 "메시지 전달" 또는 근접 집합(neighborhood aggregation)이라 불리는 과정이다. 이 프레임워크에서 그래프의 각 노드는 자신의 근접 이웃들로부터 정보를 수집하여 자체 표현을 업데이트한다. 모델 훈련 과정에서 네트워크는 노드의 특징과 함께 그 지역 근접 이웃의 토폴로지를 인코딩하는 효과적인 임베딩(밀집 벡터 표현)을 생성하는 법을 학습한다.

여러 계층의 처리를 통해 노드는 결국 그래프에서 더 먼 위치의 정보를 통합할 수 있으며, 이는 효과적으로 그 "수용 영역"을 확장합니다. 이를 통해 모델은 더 큰 구조 내에서 노드의 맥락을 이해할 수 있습니다. PyTorch Deep Graph Library(DGL) 같은 현대적 프레임워크는 이러한 복잡한 메시지 전달 방식을 구현하기 쉽게 하여, 개발자들이 처음부터 시작하지 않고도 정교한 그래프 기반 애플리케이션을 구축할 수 있게 합니다.

GNNs 대 기타 신경망 아키텍처

GNN의 독특한 역할을 이해하려면, AI 분야에서 흔히 발견되는 다른 신경망(NN) 유형과 구별하는 것이 도움이 됩니다:

  • 컨볼루션 신경망(CNN): 이미지 분류나 객체 탐지와 같은 시각적 작업의 표준으로 여겨집니다. Ultralytics 같은 모델은 고정 격자 픽셀 데이터를 처리하기 위해 CNN에 의존합니다. 그러나 CNN은 각 노드마다 이웃 개수가 달라지는 불규칙한 구조에는 취약합니다.
  • 순환 신경망(RNNs): RNN은 특정 순서로 입력을 처리하므로 언어 작업이나 자연어 처리(NLP)에 이상적입니다. 반면 GNN은 관계가 엄격히 시간적 또는 순차적이라기보다 공간적 또는 관계적인 데이터를 처리합니다.
  • 지식 그래프: 지식 그래프는 사실(엔티티와 관계)의 구조화된 데이터베이스인 반면, GNN은 이러한 구조로부터 학습하는 데 사용되는 계산 모델입니다. GNN은 링크 예측과 같은 작업을 수행하기 위해 지식 그래프 위에 자주 배포되며, 종종 검색 강화 생성(RAG) 파이프라인을 향상시킵니다.

실제 애플리케이션

임의의 관계를 모델링할 수 있는 능력 덕분에 GNN은 다양한 고부가가치 산업 분야에서 필수적인 기술로 자리매김하고 있습니다:

  1. 신약 개발과 의료: 제약 산업에서 화학 분자는 원자를 노드, 결합을 에지로 하는 그래프로 자연스럽게 표현됩니다. 그래프 신경망(GNN)은 분자 특성 예측과 단백질 상호작용 시뮬레이션을 통해 의료 분야의 인공지능을 혁신하고 있습니다. Google 알파폴드(AlphaFold )와 같은 혁신은 생물학적 구조 이해에 있어 기하학적 딥러닝의 힘을 보여줍니다.
  2. 소셜 네트워크 분석 및 추천: 플랫폼은 GNN(그래프 신경망)을 활용해 방대한 사용자 상호작용 네트워크를 분석합니다. 사용자를 노드로, 친구 관계나 좋아요를 에지로 모델링함으로써, 이러한 네트워크는 콘텐츠, 제품 또는 연결을 제안하는 추천 시스템을 구동합니다. Pinterest의 GraphSage에서 사용된 방법과 유사한 이 접근법은 수십억 건의 상호작용까지 효과적으로 확장됩니다.
  3. 물류 및 교통 예측: 물류 분야의 인공지능에서는 도로망을 교차로를 노드, 도로를 에지로 하는 그래프로 처리합니다. GNN(그래프 신경망)은 서로 다른 도로 구간 간의 공간적 의존성을 분석하여 교통 흐름을 예측하고 배송 경로를 최적화할 수 있으며, 이는 단순한 통계적 기준 모델을 훨씬 능가하는 성능을 보입니다.

그래프 개념과 비전 AI의 통합

그래프 신경망은 다중 모달 파이프라인에 점점 더 통합되고 있습니다. 예를 들어, 포괄적인 시스템은 장면 내 개별 객체를 식별하기 위해 이미지 분할을 사용한 후, 해당 객체들 간의 공간적 관계(흔히 "장면 그래프"라고 함)를 추론하기 위해 GNN을 활용할 수 있습니다. 이는 시각적 인식과 논리적 추론 사이의 간극을 메웁니다.

다음 Python Vision AI를 그래프 구조와 연결하는 방법을 보여줍니다. 이 예제는 Ultralytics YOLO26 detect 모델로, 이들 물체가 노드 역할을 하며, 기본 그래프 구조를 준비합니다. torch.

import torch
from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Run inference on an image to find entities (nodes)
results = model("https://ultralytics.com/images/bus.jpg")

# Extract box centers to serve as node features
# Format: [center_x, center_y] derived from xywh
boxes = results[0].boxes.xywh[:, :2].cpu()
x = torch.tensor(boxes.numpy(), dtype=torch.float)

# Create a hypothetical edge index connecting the first two objects
# In a real GNN, edges might be defined by distance or interaction
edge_index = torch.tensor([[0, 1], [1, 0]], dtype=torch.long)

print(f"Graph constructed: {x.size(0)} nodes (objects) and {edge_index.size(1)} edges.")

이러한 복잡한 파이프라인에 필요한 데이터셋을 관리하려는 개발자는 시스템의 비전 구성 요소에 대한 주석 작업 및 훈련 워크플로를 간소화하는 Ultralytics 활용할 수 있습니다. 강력한 비전 모델과 GNN의 관계 추론 능력을 결합함으로써 엔지니어는 주변 환경을 더 잘 이해하는 상황 인식 자율 시스템을 구축할 수 있습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기