곡률을 요약하는 법
출발 문제
100명으로 이루어진 집단의 시험 성적을 모두 적으려면 100개의 숫자가 필요하다. 하지만 실제로 우리가 자주 쓰는 것은 평균, 분산, 중앙값 같은 요약 통계량인데, 이런 요약은 정보는 잃지만 핵심은 남긴다.
곡률에도 같은 사정이 있다. 리만 곡률 텐서(한 점의 곡률 정보를 모두 담은, 첨자 네 개짜리 텐서)는
곡률을 요약하는 일이 실제로 절실했던 사람이 있다. 아인슈타인이 일반상대성이론의 중력장 방정식(물질이 시공간을 어떻게 휘게 하는지 적은 식)을 세울 때 직면한 문제가 곡률의 요약이었다. 물질의 에너지-운동량 텐서
리치 텐서: 리만 곡률을 한 번 축약한 요약
100명의 성적을 평균 하나로 줄이듯, 첨자 네 개짜리 곡률 텐서를 첨자가 더 적은 무언가로 줄일 수 있을까? 줄인다면 무엇을 남기고 무엇을 버려야 할까?
역사: 그레고리오 리치-쿠르바스트로 (Gregorio Ricci-Curbastro, 1853–1925)

리만 곡률 텐서를 체계적으로 다루는 계산 언어를 만든 사람은 리치-쿠르바스트로다. 파도바 대학에서 가르치던 리치는 1884년부터 1894년 무렵까지 "절대 미분학(calcolo differenziale assoluto)"을 다듬었다. 좌표에 의존하지 않는 텐서 연산의 체계다. 1900년에는 제자 레비-치비타와 함께 이 방법을 정리한 70쪽이 넘는 논문을 독일 학술지 『수학 연보(Mathematische Annalen)』에 실었다.

처음 반응은 차가웠다. 1901년 이탈리아 린체이 학술원의 국왕상 수학 부문 심사에서, 당시 이탈리아 미분기하학을 이끌던 루이지 비앙키는 옛 결과를 새 방법으로 다시 얻는 것보다 새 결과를 옛 방법으로 얻는 것을 더 낫게 본다는 취지로 평했고, 리치는 상을 받지 못했다. 새 언어가 아직 새 결과를 보여 주지 못했다는 것이다.
리치는 1903년 논문에서 첨자 네 개짜리 리만 곡률 텐서의 첨자 두 개를 짝지어 더해, 오늘날 리치 텐서라 부르는 첨자 두 개짜리 텐서를 얻었다. 이 요약이 제대로 쓰일 곳을 만난 것은 그 뒤 아인슈타인이 중력 이론을 세우면서였다.

첨자 두 개를 짝지어 더하는 건 for 문 한 줄인데요. 그걸 만들어 놓고 상을 못 받았다니 좀 억울해 보여요.

짝지어 더하는 계산이 어려웠던 게 아니에요. 비앙키가 물은 건 그 언어로 새로 알아낸 게 무엇이냐였죠. 1901년에 좌표를 어떻게 바꿔도 꼴이 같은 식이 꼭 있어야 하는 문제가 있었을까요?

음, 곡면 이론은 가우스 때부터 좌표 하나를 잡고 성분으로 계산해서 결과를 얻어 왔잖아요. 옛 방법으로 이미 되는 걸 새 기호로 다시 쓴 거면, 심사위원들은 굳이 배울 이유를 못 느꼈을 것 같아요.

그런 문제를 들고 온 사람이 아인슈타인이고, 그로스만에게 리만 기하학을 배운 것이 1912년이에요. 위아래로 같은 첨자가 오면 합의 기호를 생략하는 약속도 아인슈타인이 1916년 논문에서 쓰면서 퍼졌어요. 리치가 일하던 때에는 그런 약속도 없이 합의 기호를 하나하나 적었고요.

아, 그럼 1903년에 첨자를 줄여 놓았을 때는 어디에 쓸지 아무도 몰랐겠네요. 쓸 모델이 나오기 전에 함수부터 만들어 둔 거예요.

그런데 첨자 네 개를 둘로 줄이면 버려지는 게 있을 텐데요. 리치는 무엇을 남기려고 하필 첫째와 셋째 첨자를 짝지은 거예요?
대각합처럼 첨자를 짝지어 더하기
식보다 말로 먼저 보자. 한 점에서 방향
이 합이 방향에 따라 어떻게 달라지는지 보려면, 방향마다 단면곡률이 다른 공간이 필요하다. 구면은 어느 방향이나 똑같이 휘어 방향을 바꿔 봐야 같은 값이 나오고, 평면은 어디서나 0이다. 둘을 섞은 가장 간단한 공간이 반지름 1인 구면의 각 점에 위아래로 곧은 직선을 하나씩 붙인 3차원 공간(구면 × 직선)이다. 여기서 세어 보자.
성분으로 쓰면 이 합은 행렬의 대각합(trace)처럼 첨자를 짝지어 더하는 일이 된다. 이런 연산을 축약(contraction, 위 첨자와 아래 첨자를 하나씩 짝지어 더해 첨자 개수를 2만큼 줄이는 것)이라 부른다. 리만 곡률 텐서
4차원에서는 4차 텐서의 20개 성분이 대칭 2차 텐서의 10개 성분으로 압축된다. 그렇다면 정보가 사라진 것일까? 실제로 10개 성분이 사라졌고, 그 10개 성분이 무엇을 하는지는 이 장 마지막 절에서 본다.
평면마다의 단면곡률을 더한 리치 값은 무엇을 재는가? 방향
그래서
측지선 묶음의 단면 넓이가 줄어드는 비율이 왜 중요할까? 물질이 중력으로 끌어당기는 효과가 곧 측지선 묶음을 모으는 일이기 때문인데, 먼지 구름 속에서 자유낙하하는 입자들의 묶음은 시간이 갈수록 모여 부피가 줄어들고, 이 부피 감소가 양의 리치 곡률이다.
리치 텐서(부피 변화율, Ricci Tensor,
ML에서: 그래프 신경망의 병목
리치 곡률의 "나란히 출발한 측지선이 모이는가 흩어지는가"라는 뜻은 점과 선만 있는 그래프에도 옮겨 쓸 수 있다. 한 간선의 두 끝점 이웃들이 많이 겹치면 양의 곡률, 두 끝점에서 뻗는 이웃이 서로 멀리 흩어지면 음의 곡률로 본다. 토핑(J. Topping) 등이 ICLR 2022에 낸 논문 "Understanding over-squashing and bottlenecks on graphs via curvature"는 그래프 신경망에서 멀리서 온 정보가 좁은 통로에 눌려 뭉개지는 현상(over-squashing)을 다룬다. 그들은 이 현상이 음의 곡률을 가진 간선에서 생긴다는 것을 보이고, 곡률을 보고 간선을 덧붙이는 재배선 방법을 제안했다. 여기서 움직이는 것은 그래프 위를 흐르는 메시지이고, 곡률은 그 흐름이 어디서 막히는지를 알려 준다.
문제 1: 칸은 셋, 숫자는 몇 개
확인 해외 쇼핑몰의 영수증에 물건값이 원, 달러, 엔 세 칸으로 적혀 있고, 그날의 환율표는 이미 가지고 있다. 이 영수증 한 장이 새로 알려 주는 숫자는 몇 개인가? 영수증 열 장이면?
같이 풀기 세션 1

칸이 셋이니까 세 개요. 열 장이면 서른 개고요.

그럼 원 칸을 가리고 달러 칸만 보여 줄게요. 가린 칸에 뭐가 적혀 있었는지 맞힐 수 있어요?

환율표로 곱하면 되니까… 맞힐 수 있네요. 가린 칸이 새로 알려 준 게 없었어요. 한 장에 하나, 열 장이면 열 개예요.

칸 수는 적는 방식이 정하고, 숫자 수는 적는 대상이 정하는 거네. 환율표가 이미 있으면 나머지 두 칸은 계산 결과일 뿐이야.
문제 2: 요약이 원본보다 크다?
확인 2차원 곡면에서 리만 곡률 텐서의 독립 성분은 1개뿐인데, 리치 텐서는 대칭
같이 풀기 세션 2

이건 진짜 이상해요. 구면 좌표로 numpy에서 리치 텐서를 뽑으면

그 세 숫자를 저한테 불러 줘 볼래요? 반지름


그거 계량(점마다 거리를 재는 눈금)이랑 똑같은 모양이잖아.

그럼 질문을 바꿔 볼게요. 계량을 이미 알고 있다면, 그 세 숫자를 알려 주려면 숫자를 몇 개 더 알려 주면 되죠?

하나요. 나누는 수

맞아요. 2차원에서는 언제나

아까 문제 1(영수증 세 칸)이랑 같네요. 계량이 환율표였고, 곡률 쪽에서 새로 알려 주는 숫자는
문제 3: 그래프의 좁은 통로
계산 아래 그래프는 네 사람이 모두 서로 친구인 무리 둘(A, B, C, D와 E, F, G, H)이 D–E 한 줄로만 이어진 모양이다.
간선 하나의 곡률을 재는 가장 간단한 셈법 가운데 하나(증강 포만 곡률, augmented Forman curvature)는 간선의 두 끝점
(가) 간선 A–B와 D–E의 값을 구하라. (나) 그래프 신경망이 A의 정보를 H까지 전하려면 어느 간선을 지나야 하고, 그 간선에서 무슨 일이 생기는가?
같이 풀기 세션 3

이웃이 많으면 양의 곡률이라고 했으니까, 이웃이 제일 많은 D와 E를 잇는 D–E가 제일 양수겠죠.

계산해 보기 전에 하나만 확인할게요. 본문은 두 끝점의 이웃이 많다고 했나요, 겹친다고 했나요?

겹친다고요… networkx로 세어 볼게요. A–B는 이웃 수 3, 3에 공통 이웃이 C, D 둘이라

(나)는 A에서 H로 가는 길이 모두 D–E를 지나. 메시지 전달은 한 층마다 이웃 소식을 벡터 하나에 모으니까, E에 닿을 때는 왼쪽 무리(A, B, C, D) 넷의 소식이 이미 D의 벡터 하나에 눌려 있어.

논문의 처방은 음의 곡률 간선 둘레에 간선을 덧붙이는 거였어요. D와 F를 하나 더 이으면 D–E의 값은 어떻게 되죠?

D 이웃 수가 5, E는 그대로 4, 공통 이웃 F가 생겨서

조별 과제에서 두 조 사이 연락을 한 사람만 맡으면, 그 사람 단톡방에 양쪽 말이 다 몰려서 중요한 말이 묻히던 거랑 같아요. 연락책을 한 명 더 두니까 풀렸고요.