CHAPTER 09 / 15

GNN으로 공간의 관계를 학습한다

3개 집필 단위PDF 151–155쪽출간 준비 웹판

저자 Markdown 원고를 바탕으로 한 웹판입니다. 2026-09-14 PDF에서 보강된 설명은 별도로 표시했습니다.

1단위. 이웃 관계를 학습에 사용하는 이유

9.1 그래프를 만들었다고 학습한 것은 아니다

7장에서는 위치·유형·주변 관계로 설계와 관측의 후보를 비교했다. 그런데 어떤 현장에서는 보행로와의 관계가 유용하고, 다른 현장에서는 수목 사이 배열이 더 유용할 수 있다. 사람이 모든 관계의 중요도를 고정하기 어려울 때, 자료에서 그 조합을 학습하는 방법을 검토할 수 있다.

**그래프 신경망(GNN, graph neural network)**은 그래프의 노드·간선·구조를 입력으로 사용해 표현과 예측을 학습하는 신경망 계열이다. 그래프를 그리는 프로그램이나 모든 그래프 알고리즘을 뜻하지 않는다. 최단경로 계산과 7장의 선형 할당은 학습 없이도 수행할 수 있다. GNN을 사용하는 이유는 선택한 과제에서 학습된 관계 표현이 기존 방법보다 어떤 도움을 주는지에 있어야 한다.

학습할 과제는 출력 단위에 따라 달라진다. 노드 분류는 객체의 범주나 상태를, 간선 예측은 두 객체의 관계를, 그래프 수준 예측은 하나의 구역이나 장면 전체의 특성을 다룬다. 설계–관측 대응에서는 후보 쌍의 적합도나 객체 표현을 학습한 뒤 7장의 할당 단계에 연결할 수 있다. 모델 점수와 최종 일대일 조합 선택은 서로 다른 단계다.

입력에는 노드별 유형·기하 특징·관측 품질, 간선별 거리·관계 종류 등이 들어갈 수 있다. 원 ID는 자료를 추적하는 데 쓰며, ‘TREE-017이 정답이다’라는 정보를 입력 특징에 섞어 학습시키지 않는다. 실제 업무에서 알 수 없는 정답을 입력에 넣으면 의미 없는 고성능 결과를 얻게 된다.

9.2 메시지 전달과 이웃 집계

대표적인 GNN은 **메시지 전달(message passing)**을 사용한다. 한 노드가 이웃 노드와 간선의 정보를 받아 모으고, 자기 특징과 결합해 새로운 표현을 만든다. **집계(aggregation)**는 여러 이웃의 정보를 합·평균·최댓값 등의 방식으로 모으는 과정이다. PyTorch Geometric은 이를 메시지 생성, 집계, 갱신으로 설명한다. PyG: 메시지 전달

숫자 하나로 단순화한 자체 예를 보자. 중심 노드의 특징이 2이고 두 이웃의 특징이 4와 8이라고 하자. 이웃 평균은 6이다. 임의로 ‘새 특징 = 자기 특징의 절반 + 이웃 평균의 절반’이라고 정하면 새 값은 4다. 이는 정보가 섞이는 과정을 설명한 산술이다. 계수를 학습하지 않았으므로 훈련한 GNN의 출력이 아니다.

중심 특징 2와 이웃 특징 4·8을 받아 이웃 평균 6을 만들고, 정한 계수로 결합해 4를 얻는다.
원고 도판 45 · PDF 152쪽크게 보기 ↗

중심 특징 2와 이웃 특징 4·8을 받아 이웃 평균 6을 만들고, 정한 계수로 결합해 4를 얻는다.

자체 계산도. 값은 무차원 설명 숫자이며 수목 생육 점수나 모델 성능이 아니다.

이웃을 파일에 기록한 순서가 바뀌었다고 결과가 달라지지 않도록 집계 방식을 설계하는 것이 중요하다. 다만 평균·합·최댓값은 같은 정보를 보존하지 않는다. 평균은 이웃 수가 다른 경우에도 비슷한 값을 만들 수 있고, 합은 이웃 수의 영향을 받는다. 조경에서는 주변 시설의 구성과 개수 중 무엇이 필요한지에 따라 선택을 검토한다.

이웃이 없는 노드에서는 평균을 그대로 계산할 수 없다. 자기 특징만 사용하거나 정한 빈 집계 값을 사용하는 등 모델의 처리 규칙을 명시한다. 결측 특징도 실제 값 0과 구별한다.

층을 여러 번 적용하면 이웃의 이웃 정보까지 전달될 수 있다. 그러면서 원래 서로 달랐던 객체 표현이 지나치게 비슷해지거나, 많은 정보를 좁은 표현에 모으며 중요한 차이를 잃을 수 있다. 앞의 현상을 과도한 평활화(over-smoothing), 많은 이웃 정보가 좁은 표현으로 압축되는 문제를 과도한 압축(over-squashing)과 연결해 이해할 수 있다. 두 문제는 같은 원인이 아니며 이 책에서는 깊이가 항상 유리하지 않은 이유로 소개한다. GCN의 깊이와 평활화 연구, GNN의 정보 병목 연구 층을 깊게 만드는 것만으로 모든 공간 관계를 더 잘 이해한다고 가정하지 않는다.

2단위. 모델의 선택과 학습 자료 구성

9.3 GCN·GraphSAGE·GAT를 어떻게 읽을 것인가

GCN은 그래프 구조를 이용해 주변 특징을 결합하는 대표적인 그래프 합성곱 접근이다. 노드의 연결 수 등을 고려해 정규화한 이웃 정보를 학습 가능한 변환과 함께 사용한다. 4장의 영상 합성곱이 규칙적인 격자의 주변을 다루었다면, 여기서는 명시한 그래프의 이웃을 다룬다. Kipf·Welling: GCN

GraphSAGE는 이웃을 표본으로 선택하고 특징을 집계하는 함수를 학습하여 새로운 노드의 표현을 구하는 접근을 제시했다. 학습에 없던 대상에 적용할 수 있도록 설계한다는 의미가 중요하지만, 새로운 공원의 계절·수종·관측 조건에서 성능이 보장된다는 뜻은 아니다. Hamilton 외: GraphSAGE

GAT는 이웃 정보의 결합에 어텐션을 사용한다. 어떤 이웃을 얼마나 반영할지 학습된 계수로 조절하는 방식이다. 특정 이웃의 계수가 크다고 그 관계가 생태적 원인이라는 결론을 낼 수는 없다. 그 계수는 주어진 모델과 입력에서 예측을 구성하는 값이다. Veličković 외: GAT

이 모델들은 조경에 맞는 정답 순위를 이루지 않는다. 노드·관계 정의와 자료 규모, 출력 질문을 먼저 정하고 단순한 모델부터 비교한다. 수목–수목 인접과 작업–객체 대상 관계를 한 종류의 간선으로 섞으면 의미가 달라질 수 있다. 여러 노드·관계 유형을 구분하는 이종 그래프 구성이 필요할 수도 있지만, 처음부터 복잡하게 만드는 것보다 필요한 차이를 검증하며 확장한다.

9.4 무엇으로 학습하고 무엇으로 평가하는가

지도학습에서는 입력과 비교할 정답을 사용한다. 설계–관측 대응이라면 정답 쌍과 미대응 항목이 필요하다. **손실함수(loss function)**는 예측과 정답의 차이를 수량화하고, 학습은 이 손실을 줄이는 방향으로 모델의 매개변수를 갱신한다. 손실이 작아졌다는 것은 학습 목적에 더 잘 맞았다는 뜻이며, 모든 설계 판단이 좋아졌다는 뜻은 아니다.

대응할 수 없는 관측도 학습·평가 문제에 포함해야 한다. 정답 쌍만 보여주면 모델이 아무 대상이나 연결하려 할 수 있다. 음성 쌍, 즉 실제로는 대응하지 않는 후보를 어떻게 고르는지도 중요하다. 너무 쉬운 음성만 있으면 비슷한 이웃 수목 사이의 어려운 오류를 드러내지 못한다.

훈련자료는 매개변수 학습에, 검증자료는 설정·모델 선택에, 시험자료는 최종 비교에 사용한다. 조경에서는 객체 하나씩 무작위로 나누는 것보다 장소·관측 회차·프로젝트의 관계를 살피는 것이 중요하다. 같은 공원에서 연결된 이웃이 양쪽 자료에 걸치면 정보가 전달될 수 있다. 새로운 현장에 대한 성능을 말하려면 그 목적에 맞게 장면을 분리한다.

한 그래프의 일부 노드 라벨만 감추는 평가와 완전히 새로운 그래프를 평가하는 경우는 조건이 다르다. 어느 조건인지 명시하면 두 방식을 모두 연구할 수 있다. 문제는 이 차이를 숨기고 새로운 공원에 적용할 수 있다고 일반화하는 데 있다.

전처리에서도 시험자료를 사용하지 않는다. 크기 특징을 표준화할 평균·분산이나 가중치 선택은 훈련·검증 범위에서 정한다. 실제로 사용할 때 얻을 수 없는 미래 시점의 관측과 확정 상태도 입력에 넣지 않는다. 데이터를 많이 모으는 일과 비교가 공정하게 되도록 구성하는 일은 함께 필요하다.

3단위. 관계 학습이 도움이 되었는지 검토하기

9.5 관계를 없애 보는 비교

GNN이 기존 방법보다 높은 점수를 얻었다고 해도 그 차이가 관계 때문인지 확인해야 한다. 더 좋은 영상 특징을 사용했거나 학습자료가 더 많았을 수도 있다. **절제 실험(ablation study)**은 구성 요소를 제거하거나 바꾸어 그 역할을 비교하는 방법이다. 조경의 관계 학습에서는 같은 입력으로 관계를 사용한 경우와 사용하지 않은 경우를 비교한다.

기준방법은 7장의 거리·유형 기반 대응이다. 그 다음 객체 특징만 학습하는 모델, 같은 객체 특징에 관계를 더한 모델을 비교하면 관계의 추가 효과를 살필 수 있다. 관계를 무작위로 바꾸는 비교나 일부 이웃을 누락시키는 비교는 관계 정보에 대한 민감도를 드러낼 수 있다. 다만 변경이 실제 현장에서 일어날 만한 조건인지도 설명해야 한다.

비교에서 고정할 것 바꿀 것
동일한 관측과 정답 대응 관계 사용 여부
동일한 장면·시점 분리 관계 종류나 이웃 범위
동일한 결과 채택 정책 입력 누락·위치 잡음의 수준
동일한 지표 정의 모델 설정과 그 선택 근거

위치 잡음을 추가하는 합성 자료는 정답을 알고 조건을 통제하기 쉽다. 그러나 실제 센서 오차, 수관 가림, 작업 변화의 분포를 완전히 재현하지는 못한다. 합성 결과는 원리와 실패 조건을 살피는 자료로 보고하고, 실제 현장 성능 주장과 구분한다.

9.6 성능표를 설계 판단으로 바꾸는 경계

객체 대응의 평가에서는 올바른 쌍, 잘못 연결한 쌍, 놓친 쌍, 보류한 쌍을 함께 보고한다. 쉬운 항목만 채택해 오류율을 낮췄다면 채택 비율도 함께 보여준다. 정답 대응의 위치 차이와 잘못된 객체를 연결한 오류는 다른 문제이므로 하나의 평균 거리로 합치지 않는다.

여러 번 학습하거나 자료 분리를 바꾸었을 때 결과가 얼마나 달라지는지도 확인한다. 소수 장면에서 나온 작은 성능 차이는 안정적이지 않을 수 있다. 오류 사례를 수종·계절·가림·객체 밀도별로 살피면, ‘관계가 좋다’는 일반론보다 실제로 어떤 입력을 보완해야 하는지 알 수 있다.

이 책의 현재 E1에는 실제 관측·정답·GNN 학습 결과가 없다. 따라서 이 장은 메시지 전달의 자체 산술과 비교 설계를 설명하며 성공률을 제시하지 않는다. 필요한 데이터가 준비되면 동일한 대상지에서 기준방법부터 실행하고, 관계 학습의 기여를 별도로 확인할 수 있다. 대형 모델 학습을 먼저 시작하는 것이 이 절차의 필수 조건은 아니다.

학습한 모델이 관측을 설계 객체에 연결하면 다음 단계는 해당 객체의 규격·위치·작업 상태를 검토하는 일이다. 모델은 연결 후보를 제안하고, 8장의 의미·규칙과 10장의 설계 검토가 그 결과를 사용한다. 충분한 근거가 없는 대응은 보류하며 원 영상과 좌표 기록을 다시 확인하도록 남긴다.

© 2026 김수영 · 출간 준비 원고
판본 안내SPATIALFLARE 자료실 ↗

책 안에서 찾기

검색어를 입력하세요.

    원고 도판

    이미지 원본 열기 ↗