메르카토르 세계지도를 다시 펼쳐 보자. 이 지도가 항해를 위해 각도를 지키는 대신 크기를 버렸다는 것은 잘 알려져 있다. 여기서 주목할 것은 그 결과 생기는 아주 실용적인 문제 하나, 곧 크기를 어떻게 보정하느냐다.
메르카토르 도법의 면적 왜곡 — 각 나라의 실제 크기를 보여주는 애니메이션
지도 귀퉁이에 "1cm = 111km"라는 축척 막대가 있다고 하자. 적도 둘레 약 40,000km를 360으로 나누면 경도 1도가 약 111km이니, 경도 1도를 1cm로 그린 지도다. 이 막대는 적도에서만 맞는다. 북위 60도에서 지도의 1cm는 실제로 약 56km, 북위 80도에서는 약 19km밖에 안 된다. 지도에서 잰 길이에 cos(위도)를 곱해야 실제 길이가 나온다. 넓이는 가로와 세로를 모두 줄여야 하니 cos2(위도)를 곱한다. 그린란드 한가운데(북위 약 72도)에서는 이 값이 약 1/10이라, 지도의 그린란드는 실제보다 열 배쯤 부풀어 있다. 지도에서 아프리카와 비슷해 보이는 그린란드가 실제로는 아프리카의 14분의 1인 까닭이다.
결국 이 지도에는 축척 막대 하나로는 모자란다. 자리마다 다른 보정 계수, 곧 장소마다 다른 눈금이 필요하다.
이 현상의 본질을 꿰뚫어 보면 이런 질문에 도달한다: 곡면 위에서 "거리"란 무엇인가? 평면 위에서는 피타고라스 정리 하나면 충분하다. 두 점 사이의 거리는 (Δx)2+(Δy)2이다(Δ는 델타, 차이를 뜻한다). 어디에서 재든 이 공식은 같다. 하지만 구면 위에서는 "이 근처에서 1cm"의 의미가 장소에 따라 달라진다 — 적어도 지도 좌표 위에서는 그렇다. 경도 1도의 실제 거리가 적도에서와 극지방에서 전혀 다르지 않은가.
사실 이 문제는 지도에만 국한되지 않는다. 우리가 일상에서 "거리"를 말할 때도 같은 문제가 숨어 있다. 서울에서 부산까지의 거리는? 직선거리, 도로 거리, 철도 거리가 모두 다르다. "거리"라는 개념 자체가 "어떤 경로를 따라 재는가"에 의존하고, 각 경로의 길이를 구하려면 경로 위의 각 지점에서 "이 근처에서 1km란 어느 정도인가"를 알아야 한다.
아인슈타인의 일반상대성이론에서도 이 문제가 핵심이다. 시공간은 4차원 매니폴드(어느 점이든 둘레를 확대하면 평평하게 보이는 공간)이고, 질량과 에너지가 시공간을 구부린다. 구부러진 시공간에서 두 사건(시공간의 한 점, 곧 언제 어디서) 사이의 "간격"을 정의하려면, 각 점마다 "여기서 시간 1초와 공간 1미터는 이 정도다"라는 국소적(한 점 가까이에서만 통하는) 눈금이 있어야 한다. 아인슈타인 방정식은 물질이 이 눈금을 어떻게 바꾸는지를 나타낸다.
그렇다면 장소마다 다른 눈금을 어떻게 적어 둘 수 있을까? 그리고 그 눈금으로 먼 거리는 어떻게 재는가?
계량 텐서: 한 점 근처의 눈금
곡면 위의 먼 거리를 재기 전에, 더 작은 물음부터 풀어야 한다. 한 점 바로 근처에서 "좌표 한 칸"은 실제로 얼마인가?
역사: 카를 프리드리히 가우스 (Carl Friedrich Gauss, 1777–1855)
가우스가 순수한 호기심만으로 곡면의 기하학을 연구한 것은 아니다. 1818년부터 가우스는 하노버 왕국의 정밀 측량을 맡았다. 측량이 나라의 사업으로 정식 승인을 받은 것은 1820년이지만, 그는 1818년부터 여름에는 현장에서 삼각형의 각도를 재고 겨울에는 그 자료를 계산으로 정리하는 일을 되풀이했다. 1821년에는 햇빛을 거울로 반사해 수십 km 떨어진 봉우리끼리 서로의 위치를 보이게 하는 기구, 헬리오트로프(heliotrope)를 직접 설계했다.
문제는 이것이었다: 지구는 평면이 아니다. 측량 데이터 — 각도, 거리, 높이 — 를 하나의 일관된 지도로 합치려면, 곡면 위에서 거리를 재는 규칙이 필요했다. 측량기사가 어떤 지점에서 잰 "1미터"가 다른 지점에서 잰 "1미터"와 같은 의미인지를 수학적으로 보장해야 했다.
측량 사업은 가우스에게 지루하고 소모적인 일이기도 했다. 나쁜 길과 불편한 숙소, 궂은 날씨, 비협조적인 관리, 사고와 병치레, 모자란 조수와 돈에 시달리면서도 그는 여덟 해 동안 현장 일을 거의 혼자 해냈다. 1825년 뒤로는 현장에서 물러나 감독과 계산만 맡았다. 진흙 속에서 삼각형의 각도를 재며 보낸 그 시간이, 결국 "장소마다 달라지는 눈금"이라는 아이디어의 물리적 기반을 제공한 셈이다.
다이얼 한 칸의 실제 길이
일상의 비유로 시작하자. 고무판 위에 격자를 그린다고 생각해 보라. 격자 간격이 1cm인 정사각형들이 빼곡하다. 이 고무판을 잡아늘이면 어떤 부분은 격자가 넓어지고, 어떤 부분은 좁아진다. 이제 고무판 위의 두 점 사이의 "진짜 거리"를 재고 싶다면? 늘어나기 전의 격자 1칸은 어디서든 1cm였지만, 늘어난 뒤에는 장소마다 다르다. 각 지점에서 "격자 1칸이 실제로 몇 cm인지"를 알려주는 규칙이 있어야 한다.
평면 위에서 숫자로 확인해 보자. 점마다 붙이는 이름표 숫자, 곧 좌표를 다이얼이라 생각하면 극좌표에는 다이얼이 두 개 있다. 원점에서의 거리 r와 각도 θ다. r=3인 곳에서 r 다이얼만 0.01 돌리면 점은 바깥으로 0.01 간다. θ 다이얼만 0.01 돌리면 반지름 3인 원을 따라 3×0.01=0.03 간다. 같은 0.01인데 실제 거리는 세 배다. 두 다이얼을 함께 0.01씩 돌리면 두 걸음이 직각이므로 피타고라스 정리로 0.012+0.032≈0.0316이다. 두 점을 직교좌표로 바꿔 직접 재도 0.0317로 거의 같다.
이 계산에 쓴 수는 둘뿐이다. r 다이얼 한 칸의 길이 제곱 1과, θ 다이얼 한 칸의 길이 제곱 r2=9다. 이 둘을 행렬 diag(1,9)로 적어 두면 그 자리에서 어떤 작은 걸음의 길이든 잴 수 있다. diag는 곱셈이 아니라 대각선(diagonal)의 머리글자로, diag(1,9)는 대각선에 1과 9를 놓고 나머지 칸은 0인 행렬을 가리키는 한 덩어리 이름이다. 이 행렬이 그 점의 자(길이와 각도를 재는 규칙)다. r=1에서는 diag(1,1), r=10에서는 diag(1,100)처럼 자리마다 자가 바뀐다.
다이얼로 본 격자와 평면에 그린 같은 격자. (가) 다이얼 공간에서는 r 한 칸과 θ 한 칸이 어디서나 같은 정사각형이다. (나) 같은 칸을 평면에 그리면 r 한 칸의 길이는 그대로지만 θ 한 칸은 반지름 r에 비례해 넓어진다. r = 1 근처의 칸과 r = 3 근처의 칸이 다이얼로는 같은 크기인데 실제로는 θ 방향 폭이 세 배 다르다
자가 하는 일은 내적이다. 각 점에는 그 점에서 출발하는 모든 화살표(속도벡터)를 모은 접선공간이 붙어 있고, 자는 화살표 두 개를 받아 수 하나를 돌려준다. 내적이 있으면 화살표의 길이도, 두 화살표 사이의 각도도 잴 수 있다. 좌표로 적으면 이 자는 “아주 가까운 두 점 사이 거리의 제곱” 한 줄에 담긴다.
평면의 직교좌표에서는 g11=g22=1, g12=0이라 피타고라스 정리 ds2=dx2+dy2로 돌아온다. 앞의 극좌표에서는 g11=1, g12=0, g22=r2이다. 계량이란 피타고라스 정리의 계수를 장소마다 바꿀 수 있게 한 것이다. ds는 d와 s의 곱이 아니라 「아주 작은 길이」를 가리키는 한 덩어리 이름이다. 이 한 줄 식은 선소 ds를 좌표 변화량으로 적은 식이라 흔히 선소의 식이라 부른다.
이 자에 이름을 붙이자.
계량 텐서 (국소 눈금 / Metric Tensor, gij) — 각 점에서 접선벡터 두 개를 받아 내적을 돌려주는 규칙. 그 점에서의 자이자 각도기다. 좌표를 잡으면 n×n 대칭행렬로 표현된다. 텐서는 좌표를 바꿀 때 성분이 정해진 규칙대로만 바뀌는 양을 말하며, PyTorch의 tensor(다차원 배열)와는 이름만 같다.
가우스가 쓴 꼴
측량의 실용적 필요 끝에 가우스가 적은 것이 바로 이 자다. 그는 곡면 위의 좌표를 (u,v)로 두고 다음처럼 썼다.
여기서 E, F, G는 곡면 위의 위치에 따라 달라지는 함수들이다. 이것이 바로 계량 텐서의 원형이다 — 각 점에서 "이 근처에서 거리를 이렇게 재라"는 국소적 눈금.
가우스는 1827년 괴팅겐 왕립 학회에서 Disquisitiones generales circa superficies curvas(곡면에 관한 일반 연구)를 발표하고 이듬해 펴내며 이 이론을 정리했다. 이 논문에서 그는 곡면의 내재적 기하학(곡면 안에서만 잴 수 있는 기하)이 이 세 함수에서 나온다는 것을 보였다. 가우스의 계량은 2차원 곡면에 한정되어 있었지만, 27년 뒤 리만이 이것을 임의 차원으로 일반화한다.
곁글 · 보이는 차이에서 눈금 탓인 몫을 먼저 걷어 낸다
두 숫자를 견주기 전에, 두 숫자가 같은 자로 잰 것인지부터 묻는다. 적는 방식의 눈금이 자리마다 다르면, 보이는 차이의 일부는 대상이 아니라 눈금이 만든 것이다. 그 몫을 걷어 낸 뒤에 남은 차이만 믿는다.
영화 흥행 기록이 그렇다. 표값은 해마다 오르므로 1939년의 1달러와 오늘의 1달러는 같은 자가 아니다. 기네스 세계 기록은 2014년에 영화마다 팔린 표의 수를 어림하고 그해 미국 평균 표값을 곱해 모두 같은 자로 다시 쟀다. 그러자 달러 액수로는 1위가 아니던 1939년 영화 〈바람과 함께 사라지다〉가 1위가 되었다.
하늘에서도 같은 일이 있었다. 별이 어둡게 보이는 것은 정말 어두워서일 수도, 멀어서일 수도 있다. 하버드 천문대에서 사진 건판의 별 밝기를 재던 헨리에타 리비트(Henrietta Leavitt)는 작은 마젤란 구름 안의 변광성(밝기가 주기적으로 오르내리는 별)을 모았다. 한 구름 안의 별들은 지구에서 거의 같은 거리에 있으니, 그 별들끼리는 보이는 밝기의 차이가 곧 실제 밝기의 차이다. 거리라는 눈금을 모두 같게 만든 자리에서 그녀는 밝기가 오르내리는 주기가 길수록 실제로 밝다는 규칙을 찾았다(1912년). 규칙이 생기자 거꾸로, 주기로 실제 밝기를 알아내고 보이는 밝기와 견주어 거리를 잴 수 있게 되었다. 허블은 1920년대에 이 방법으로 안드로메다 성운이 우리 은하 바깥에 있음을 보였다.
메르카토르 지도의 그린란드도 이 짝이다. 지도 위 크기 가운데 위도라는 눈금이 만든 몫을 걷어 내면, 아프리카만 해 보이던 그린란드는 아프리카의 14분의 1로 돌아온다.
ML에서: 마할라노비스 거리
데이터가 어떤 방향으로는 넓게, 어떤 방향으로는 좁게 퍼져 있을 때, 두 점의 차이 Δx를 그냥 유클리드 거리로 재면 좁게 퍼진 방향의 벗어남을 과소평가한다. 마할라노비스 거리는 공분산 행렬 Σ(시그마)의 역행렬을 끼워 d2=Δx⊤Σ−1Δx로 잰다. 이것은 계량 성분을 어디서나 gij=(Σ−1)ij로 고정한 선소와 같은 꼴이다. 표준편차가 작은 방향으로 한 칸 벗어나면 더 멀리 간 것으로 치는 눈금이다. 여기서 움직이는 것은 데이터 점이고, 눈금은 장소마다 바뀌지 않는다. 가우시안 판별 분석이나 이상치 탐지에서 이 거리를 쓴다.
문제 1 — 스프레드시트 칸으로 그린 원
확인 어느 스프레드시트의 칸은 가로 64픽셀, 세로 20픽셀이다. B2 칸의 중심에서 화면 위 거리가 200픽셀을 넘지 않는 칸 중심은, 가로로만 가면 몇 칸까지, 세로로만 가면 몇 칸까지 있는가? B2에서 E6(가로로 3칸, 세로로 4칸)까지의 화면 위 거리는 몇 픽셀인가?
같이 풀기 세션 1
김민준
200픽셀 원이니까 가로든 세로든 같은 칸 수겠죠. 가로로 3칸 가면 192픽셀이니까 세로도 3칸이요. E6까지는 가로 3칸, 세로 4칸이니까 3-4-5 삼각형으로 5칸이고요.
선생님
세로로 3칸 내려가면 화면에서 몇 픽셀이에요?
김민준
한 칸이 20픽셀이니까 60픽셀이요… 200픽셀까지 가려면 세로로는 10칸이네요. 화면 위의 원을 칸 수로 그리면 가로 3칸, 세로 10칸짜리 길쭉한 모양이에요.
이서연
E6도 칸 수로 피타고라스를 하면 안 돼. 먼저 픽셀로 바꾸면 가로 192, 세로 80이니까 1922+802=208픽셀이야. 5칸이라는 말은 한 칸의 길이가 어느 방향이든 같을 때만 뜻이 있어.
김민준
과제 그래프를 그릴 때 가로세로 비율을 안 맞춰서 원이 타원으로 나온 적이 있는데, 그거랑 같은 거네요. 칸 수는 이름표고, 길이는 한 칸이 몇 픽셀인지 알아야 나와요.
문제 2 — 행렬 하나가 바꾸는 길이와 각도
확인 좌표 (u,v)에서 계량이 어디서나 gij=(1004)인 곡면이 있다. 성분이 (1,1)인 벡터 w의 길이는 얼마인가? ∂u와 w 사이의 각도는?
같이 풀기 세션 2
김민준
np.linalg.norm([1, 1]) 하면 2≈1.41이요. 각도는 대각선이니까 45도고요.
이서연
길이는 계량으로 재야지. g(w,w)=1⋅1⋅1+4⋅1⋅1=5니까 5야. 각도는 그림에서 보이는 대로 45도가 맞고.
선생님
서연 학생, 길이를 잴 때 계량을 썼으면 각도를 잴 때는 무엇을 써야 할까요?
이서연
코사인도 내적으로 정의하니까… cosα=g(∂u,w)/(∣∂u∣∣w∣)=1/(1⋅5). 그러면 약 63.4도네요. 45도가 아니에요.
김민준
저는 둘 다 평면 공식으로 한 거네요. 아까 스프레드시트에서 칸 수로 피타고라스를 한 것과 같은 실수예요. 계량 행렬을 넣으면 np.sqrt(w @ G @ w)로 고쳐야겠어요.
선생님
맞아요. 좌표 그림은 이름표일 뿐이라, 거기서 보이는 길이도 각도도 믿으면 안 돼요. 이 곡면에서는 v 방향 한 칸이 실제로는 2만큼이니, 그림 속 대각선이 실제로는 v 쪽으로 더 기울어 있는 거예요.
이서연
선형대수 시간에 배운 "내적만 바꾸면 직교성도 바뀐다"는 말이 이제야 그림으로 보이네. 대각선에 다른 수를 놓은 행렬로 내적을 바꾸면 같은 두 벡터가 수직이 되기도 하고 아니기도 했잖아.
문제 3 — 공장 센서의 이상한 측정값
계산 한 기계의 온도는 평균 60°C, 표준편차 2°C로, 압력은 평균 1.00 bar, 표준편차 0.05 bar로 흔들리고, 둘은 서로 따로 움직인다(공분산 행렬이 대각). 두 측정값 A(63°C, 1.00 bar)와 B(60°C, 1.20 bar) 가운데 이상치 탐지가 더 이상하다고 봐야 할 쪽은 어느 것인가? 마할라노비스 거리로 답하고, 온도를 화씨(°F)로, 압력을 밀리바(mbar, 1 bar = 1000 mbar)로 바꿔 적어도 답이 그대로인지 확인하라.
같이 풀기 세션 3
김민준
공분산 행렬이 대각이니까 역행렬은 대각선에 1/4과 1/0.0025예요. 벗어난 양 (3,0)과 (0,0.2)에 곱하면 A는 0.75, B는 80이요. B가 훨씬 이상하네요.
선생님
고른 쪽은 맞았어요. 문제 끝의 확인도 해 볼까요? 압력을 밀리바로 적으면 B의 값이 얼마로 나와요?
김민준
벗어난 양 200, 표준편차 50이니까 200/2500=0.08… 80이던 게 0.08이 됐어요. 단위만 바꿨는데 이상한 정도가 천 배나 줄어요.
이서연
벗어난 양을 한 번만 곱해서 그래. 식이 d2=Δx⊤Σ−1Δx라서 벗어난 양이 양쪽에 한 번씩 들어가. B는 0.2×400×0.2=16이니까 d=4, A는 3×41×3=2.25니까 d=1.5야. 밀리바로 적어도 200×25001×200=16이라 그대로고.
김민준
화씨로 바꾸면 A는 벗어난 양 5.4°F, 표준편차 3.6°F라 5.42/3.62=2.25, 그대로 d=1.5네요. 표준편차로 나눈 값이라 단위가 사라지는 거였어요. B는 표준편차 네 개만큼, A는 한 개 반만큼 벗어났으니 B가 이상치예요.
김민준
아까 스프레드시트 문제랑 같네요. 온도 쪽 한 칸은 2°C, 압력 쪽 한 칸은 0.05 bar로 방향마다 한 칸의 길이가 다르니까, 그 칸으로 다시 재야 했어요.