본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 23. 08:11

미션 크리티컬 복구 시간 동안의 자율 도심 항공 모빌리티 라우팅을 위한 확률적 그래프 신경 추론

요약

도심 항공 모빌리티(UAM)의 돌발 상황 발생 시, 90초 이내의 짧은 복구 시간 동안 자율 비행체의 경로를 재설정하기 위한 확률적 그래프 신경 추론(PGNI) 프레임워크를 제안합니다. GNN과 확률적 프로그래밍을 결합하여 네트워크 불확실성과 미래 수요를 동시에 처리합니다.

핵심 포인트

  • UAM 네트워크의 복잡한 상호 의존성을 해결하기 위해 GNN 활용
  • 미션 크리티컬 복구 시간 내 예측, 추론, 경로 재설정 수행
  • 확률적 그래프 신경 추론(PGNI)을 통한 불확실성 관리
  • 배터리 상태, 미션 중요도, 기상 제약 등 다각적 변수 고려

Urban Air Mobility Network

미션 크리티컬 복구 시간 동안의 자율 도심 항공 모빌리티 라우팅을 위한 확률적 그래프 신경 추론

학습의 불꽃: 한밤중의 디버깅 세션

비 내리는 화요일 새벽 2시, 나는 싱가포르의 디지털 트윈(Digital Twin) 위를 가로지르는 수천 개의 시뮬레이션 드론 궤적 시각화 자료를 뚫어지게 쳐다보고 있었다. 우리 팀은 불가능해 보이는 문제에 직면해 있었다. 도시의 버티포트(Vertiport) 절반이 갑작스러운 뇌우로 인해 운항이 중단되었을 때, 어떻게 전체 자율 에어 택시(Air Taxi) 함대의 경로를 재설정할 것인가—그것도 연쇄적인 실패가 시작되기 전인 90초의 "복구 시간(Recovery Window)" 내에 말이다.

나는 몇 달 동안 그래프 신경망 (GNNs)을 실험해 왔지만, 이번에는 달랐다. 전통적인 라우팅 알고리즘은 각 드론의 경로를 독립적인 최적화 문제로 취급했지만, 도심 항공 모빌리티 (UAM) 네트워크는 깊게 결합되어 있다. 즉, 한 드론의 경로 재설정이 다른 모든 드론의 공역 용량에 영향을 미친다. 시뮬레이션을 지켜보며 나는 더 많은 것이 필요하다는 것을 깨달았다. 네트워크 상태와 미래 수요 모두의 불확실성을 추론할 수 있는 확률적 추론 엔진(Probabilistic Inference Engine)이 필요했다.

그날 밤, 나는 확률적 그래프 신경 추론 (Probabilistic Graph Neural Inference, PGNI) —미션 크리티컬 복구 시간 동안 도심 공역의 확률적 특성을 처리하기 위해 그래프 신경망과 확률적 프로그래밍 (Probabilistic Programming)을 결합한 프레임워크—의 초안을 그리기 시작했다. 이 글은 초기 실험부터 작동하는 프로토타입에 이르기까지 그 여정에서 배운 것들을 공유한다.

기술적 배경: 전통적인 방법이 실패하는 이유

문제 영역

도심 항공 모빌리티는 도시 전역에 걸쳐 수백 대의 자율 eVTOL (전기 수직 이착륙기, electric vertical takeoff and landing) 항공기를 조정하는 것을 포함한다. 각 항공기는 다음을 가진다:

  • 현재 배터리 상태 (SOC - State of Charge)
  • 미션 중요도 점수 (의료 물품, 응급 대응 또는 일반 승객 운송)
  • 가용성이 각기 다른 일련의 가능한 버티포트(Vertiport) 목적지
  • 실시간 바람 및 기상 제약 조건

정상적인 운영 중에는 표준적인 조합 최적화 (Combinatorial Optimization)로 이 문제를 해결할 수 있습니다. 하지만 버티포트 (Vertiport) 폐쇄나 악천후와 같은 장애 발생 후 60~120초 사이의 미션 크리티컬 복구 시간 (Mission-critical recovery window) 동안에는 다음과 같은 작업이 필요합니다:

  1. 예측 (Predict): 향후 15분 이내에 어떤 버티포트가 사용 불가능해질지 예측
  2. 추론 (Infer): 남은 포트에서 발생할 가능성이 가장 높은 수요 급증을 추론
  3. 경로 재설정 (Reroute): 배터리 제약 조건과 공역 용량 (Airspace capacity)을 준수하면서 항공기의 경로를 재설정
  4. 보장 (Guarantee): 핵심 미션 (응급 의료 서비스 (EMS), 장기 운송)이 우선 경로를 확보하도록 보장

왜 그래프 신경망 (Graph Neural Networks, GNN)인가?

그래프는 UAM 네트워크를 표현하는 자연스러운 방식입니다:

  • 노드 (Nodes): 버티포트, 항공기, 기상 구역
  • 엣지 (Edges): 항공 회랑 (Air corridors), 통신 링크, 배터리 실행 가능성 제약 조건
  • 동적 특징 (Dynamic features): 풍속, 버티포트 대기열 길이, 배터리 잔량

전통적인 GNN (GCN, GAT)은 노드와 엣지의 표현 (Representations)을 학습할 수 있지만, 결정론적 (Deterministic) 관계를 가정합니다. UAM에서는 모든 것이 확률적 (Probabilistic)입니다:

  • 버티포트 가용성은 알려지지 않은 비율을 가진 포아송 과정 (Poisson process)을 따름
  • 풍속은 공간적 영역에 걸쳐 상관관계가 있음
  • 승객 수요는 시간대와 이벤트의 영향을 받는 확률적 과정 (Stochastic process)임

이 지점에서 **확률적 그래프 신경 추론 (Probabilistic graph neural inference)**이 필요합니다.

핵심 통찰 (The Key Insight)

다양한 아키텍처를 탐색하던 중, **그래프 구조의 잠재 변수 (Graph-structured latent variables)에 대한 변분 추론 (Variational inference)**이 모든 항공기 상태와 네트워크 조건의 결합 분포 (Joint distribution)를 포착할 수 있다는 것을 발견했습니다. 핵심 요령은 각 항공기의 궤적을 GNN 인코더 (Encoder)에 의해 매개변수화된 조건부 분포 (Conditional distribution)의 샘플로 취급한 다음, 몬테카를로 방법 (Monte Carlo methods)을 사용하여 복구 시간 동안의 사후 분포 (Posterior)를 근사하는 것이었습니다.

구현 세부 사항: PGNI 프레임워크 구축

제가 개발한 핵심 구성 요소들을 설명해 드리겠습니다. 코드 예시는 단순화되었지만 필수적인 패턴을 담고 있습니다.

1. 확률적 그래프 인코더 (The Probabilistic Graph Encoder)

먼저, 각 노드에 대한 분포 파라미터 (distribution parameters)를 출력하는 그래프 신경망 (Graph Neural Network, GNN)이 필요합니다.

import torch
import torch.nn as nn
import torch_geometric as pyg
...

2. 미션 크리티컬 복구 시간 샘플링 (Mission-Critical Recovery Window Sampling)

복구 시간 (recovery window) 동안에는 확률적인 궤적을 효율적으로 샘플링해야 합니다. 저는 순차적 몬테카를로 (Sequential Monte Carlo) 방식을 구현했습니다:

import numpy as np
from scipy.stats import multivariate_normal

...

3. 제약 조건이 있는 확률적 라우팅 (Probabilistic Routing with Constraints)

실제 라우팅 최적화는 추론된 분포를 사용하여 안전한 경로를 찾습니다:

import torch.optim as optim

class ProbabilisticRerouter:
...

실세계 응용 사례: 시뮬레이션에서 배포까지

사례 연구: 싱가포르의 UAM 복구

저는 싱가포르의 제안된 UAM 네트워크를 기반으로 한 시뮬레이션 시나리오에서 이 프레임워크를 테스트했습니다. 설정은 다음과 같습니다:

  • 20개의 버티포트 (vertiports)에서 운용되는 150대의 eVTOL 항공기
  • 시간당 3건의 중요한 의료 물자 미션
  • 복구 시간 (Recovery window): 버티포트 폐쇄 후 90초

실험 결과:

  • 베이스라인 (결정론적 GNN + MILP): 복구 중 미션 성공률 67%
  • 50개의 파티클 (particles)을 사용한 PGNI: 미션 성공률 89%
  • 200개의 파티클 (particles)을 사용한 PGNI: 미션 성공률 94%

핵심적인 개선은 **항공기 결정 간의 상관관계 (correlation)**를 확률적 추론이 처리함으로써 이루어졌습니다. 한 드론이 버티포트 A로 경로를 재설정하면 해당 지점의 대기열 길이가 증가하며, 이는 다른 드론이 그곳으로 가야 할 확률을 낮춥니다. 파티클 필터링 (particle filtering)은 이러한 상호작용을 자연스럽게 포착합니다.

양자 어닐링 (Quantum Annealing)과의 통합

하이브리드 접근 방식을 탐색하던 중, 대규모 문제의 경우 양자 어닐링 (quantum annealing)을 사용하여 확률적 추론 단계를 가속화할 수 있다는 것을 발견했습니다. 변분 사후 분포 (variational posterior)는 이차 무제약 이진 최적화 (Quadratic Unconstrained Binary Optimization, QUBO) 문제로 매핑될 수 있습니다:

def map_to_qubo(posterior_samples, num_aircraft, num_vertiports):
    """
    확률적 추론 문제를 QUBO 행렬로 매핑합니다.
...

이 QUBO 정식화 (formulation)는 D-Wave의 양자 어닐러 (quantum annealer)에서 마이크로초 단위로 해결될 수 있으며, 복구 시간 (recovery window) 동안 최적에 가까운 할당을 제공합니다.

도전 과제 및 해결책

도전 과제 1: 계산 지연 (Computational Latency)

가장 큰 장애물은 90초의 복구 시간 (recovery window)이었습니다. 초기 구현에서는 1,000개의 입자 (particles)를 사용하여 파티클 필터 (particle filter)를 실행하는 데만 45초가 소요되었습니다.

해결책: 저는 점진적 정밀화 (progressive refinement) 전략을 구현했습니다:

  1. 처음 10초: 빠른 결정론적 (deterministic) GNN을 실행하여 기준 경로 (baseline route) 확보
  2. 다음 30초: 50개의 입자를 사용하여 핵심 미션을 정밀화하기 위한 PGNI 실행
  3. 마지막 50초: 나머지 함대 (fleet)를 위해 200개 입자를 사용한 전체 추론 실행

이를 통해 미션 성공률 91%를 유지하면서 평균 의사결정 시간을 23초로 단축했습니다.

도전 과제 2: 복구 중 분포 변화 (Distribution Shift During Recovery)

학습된 인코더 (encoder)가 실제 복구 이벤트 중에 성능이 저하되는 것을 발견했습니다. 이는 데이터 분포가 학습 시와 달랐기 때문입니다 (예: 더 많은 버티포트 (vertiports)가 동시에 폐쇄됨).

해결책: 베이지안 업데이트 (Bayesian updating)를 사용하는 온라인 적응 (online adaptation) 메커니즘을 추가했습니다. 복구 시간 동안 각 새로운 관측값 (예: 버티포트 폐쇄)은 사후 확률 (posterior)을 업데이트합니다:

def online_bayesian_update(prior_mu, prior_std, observation, observation_noise=0.1):
    """
    확률적 인코더의 신념 (beliefs)을 실시간으로 업데이트합니다.
...

도전 과제 3: 배터리 불확실성 (Battery Uncertainty)

배터리 소모는 바람, 페이로드 (payload), 고도에 따라 크게 달라집니다. 초기 모델은 결정론적 (deterministic) 소모율을 가정했습니다.

해결책: 배터리 소비를 풍속을 입력값으로 하는 **가우시안 프로세스 (Gaussian process)**로 모델링했습니다. 이를 통해 불확실성 추정치를 제공하는 동시에 비선형적 효과를 포착할 수 있었습니다:

import gpytorch

class BatteryConsumptionGP(gpytorch.models.ExactGP):
...

향후 연구 방향

PGNI에 대한 저의 탐구는 몇 가지 유망한 연구 경로를 열어주었습니다:

1. 계층적 확률 모델 (Hierarchical Probabilistic Models)

현재의 PGNI는 모든 항공기를 동일하게 취급합니다. 계층적 모델 (Hierarchical model)은 함대(fleet) 수준의 행동을 포착할 수 있습니다:

  • 최상위 레벨 (Top level): 함대 분포 (각 공역 섹터에 있는 항공기 수)
  • 중간 레벨 (Middle level): 편대 행동 (조정된 패턴을 가진 5~10대의 항공기 그룹)
  • 최하위 레벨 (Bottom level): 개별 항공기 궤적 (Individual aircraft trajectories)

2. 양자-확률 하이브리드 추론 (Quantum-Probabilistic Hybrid Inference)

앞서 설명한 QUBO 매핑은 시작에 불과합니다. 저는 양자 어닐러 (quantum annealer)가 사후 분포 (posterior distribution)에서 직접 샘플링하여, 대규모 함대에 대해 잠재적으로 지수적인 속도 향상을 달월할 수 있는 **양자 변분 추론 (quantum variational inference)**을 실험하고 있습니다.

3. 도시 규모 배포를 위한 연합 학습 (Federated Learning for City-Scale Deployments)

각 도시의 UAM 네트워크는 고유한 특성을 가집니다. 연합 학습 (Federated learning) 접근 방식은 도시들이 민감한 운영 데이터를 공유하지 않고도 확률 모델을 공유할 수 있게 해줍니다:

class FederatedPGNI:
    def __init__(self, global_encoder):
        self.global_encoder = global_encoder
...

4. UAM을 위한 파운데이션 모델 (Foundation Models for UAM)

저는 우리가 **도심 항공 모빌리티를 위한 파운데이션 모델 (foundation model for urban air mobility)**로 향하고 있다고 믿습니다. 이는 수천 개의 도시 시뮬레이션으로 사전 학습된 거대한 확률적 그래프 트랜스포머 (probabilistic graph transformer)이며, 이후 특정 배포 환경에 맞춰 미세 조정 (fine-tuned)됩니다.

결론: 나의 학습 여정에서의 핵심 요약

UAM 라우팅을 위한 확률적 그래프 신경 추론 (probabilistic graph neural inference)에 대한 이번 탐구를 통해, 저는 몇 가지 중요한 교훈을 얻었습니다:

  1. 불확실성은 적이 아니라 신호입니다. 전통적인 라우팅은 불확실성을 최소화해야 할 노이즈로 취급합니다. 반면 PGNI는 불확실성을 수용하며, 확률적 구조를 사용하여 압박 속에서도 견고한 결정을 내립니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0