개미 한 마리가 커다란 구슬 위를 기어가고 있다. 이 개미는 꽤 영리해서, 자기가 얼마나 빠르게, 어느 방향으로 움직이고 있는지를 알고 싶어 한다. 평면 위에서라면 이야기가 간단하다. "동쪽으로 초속 2cm"라고 말하면 된다. 속도벡터를 x-y 좌표로 적으면 그만이다. 그런데 구면 위에서는 상황이 미묘해진다.
개미가 북극에 서 있다고 하자. 이 개미가 "위쪽으로 가겠다"고 말한다면, 그 "위"란 어디인가? 구면의 북극에서 바깥쪽을 가리키는 벡터는 구면을 뚫고 나가 버린다. 개미는 구면 위에서만 살아야 하므로, 구면을 벗어나는 방향은 허용되지 않는다. 개미의 속도벡터는 구면에 “접하는” 방향, 즉 구면의 표면을 스치듯이 지나가는 방향이어야 한다. 마치 테이블 위에 놓인 농구공의 꼭대기에 종이 한 장을 올려놓았을 때, 그 종이가 놓이는 평면 — 바로 그 평면이 개미가 속도를 말할 수 있는 공간이다.
구면 위 한 점에 접하는 평면 — 접선벡터가 사는 공간
여기서 핵심적인 의문이 떠오른다. 이 "접하는 평면"은 구면 자체가 아니다. 구면은 휘어져 있지만, 속도벡터가 사는 공간은 평평한 평면이다. 게다가 이 평면은 점마다 다르다 — 북극에 접하는 평면과 적도 위 한 점에 접하는 평면은 방향이 다른 별개의 평면이다. 그렇다면 속도벡터는 대체 “어디에” 사는 것인가? 구면 위도 아니고, 3차원 공간 전체도 아니고, 각 점에 붙어 있는 어떤 별도의 공간에 사는 것이다. 이 별도의 공간이 무엇인지를 이해하는 것이 이 장의 주제다.
조금 더 구체적으로 생각해 보자. 개미가 북극에서 적도를 향해 남쪽으로 내려가기 시작했다. 경도 0도를 따라 내려간다고 하자. 매 순간 개미의 속도벡터는 그 점에 접하는 평면에 놓인다. 그런데 북극에 접하는 평면과 적도에 접하는 평면은 완전히 다른 평면이다. 개미가 이동하면서 자기 속도벡터가 “사는 공간” 자체가 바뀌는 것이다. 이것은 마치 아파트에서 방을 옮길 때마다 내가 머무는 방이 바뀌는 것과 같다 — 각 방은 구조는 같지만 서로 다른 별개의 공간이다.
물리학에서도 이 문제는 절실했다. 뉴턴 역학에서 물체의 상태는 위치와 속도로 결정된다. 평면 위의 운동이라면 위치 (x,y)와 속도 (vx,vy)를 합쳐 4차원 공간 R4에 점 하나로 표현하면 된다. 그런데 구면 위의 운동은? 위치는 구면 위에 있고, 속도는 그 점에 접하는 평면 위에 있다. 위치와 속도를 함께 담으려면 어떤 공간이 필요할까?
더 근본적인 질문도 있다. 우리가 이 구면을 3차원 공간에 넣어서 생각했기 때문에 "접하는 평면"을 시각적으로 떠올릴 수 있었다. 그런데 만약 구면이 아무 곳에도 박혀 있지 않고, 그 자체로 독립된 세계라면? 2차원 구면 위에 사는 존재가, 바깥의 3차원 공간을 전혀 모른 채로도, 자기 점에서의 "가능한 방향"을 정의할 수 있을까?
접선공간: 한 점에서 낼 수 있는 모든 속도
개미의 속도는 구면 위에도, 3차원 공간 전체에도 살지 않는다고 했다. 그렇다면 정확히 어디에 사는가? 곡면보다 더 단순한 원부터 보자.
원(circle) S1 위를 움직이는 점을 생각하자. 원 위의 한 점 p에서 출발하는 모든 매끄러운 곡선 γ(t)(γ는 감마)를 생각한다. γ(0)=p이고, γ는 원 위에 머무른다. 이때 t=0에서의 속도 γ′(0)는 원의 접선 방향을 가리킨다. 가능한 속도는 빠르거나 느리거나, 시계방향이거나 반시계방향이거나 — 결국 하나의 실수로 결정된다. 원은 1차원 매니폴드다. 매니폴드는 어느 점이든 둘레를 확대하면 평평하게 보이는 공간이다. 그러니 원 위 한 점에서의 접선공간은 R1과 같다.
구면 S2에서도 같은 논리가 작동한다. 한 점 p를 지나는 모든 곡선의 속도벡터를 모으면, 가능한 속도의 집합은 2차원 평면을 이룬다 — 바로 TpS2≅R2이다(TpS2는 구면 S2의 점 p에 붙은 접선공간을 가리키는 한 덩어리 이름이고, ≅는 구조가 똑같다는 기호다). 일반적으로 n차원 매니폴드의 각 점에서 접선공간은 Rn과 구조가 똑같은(동형인) 벡터공간이 된다. 핵심 통찰은 이것이다:
각 점에는 자기만의 "방"이 있다. 이 방 안에는 그 점에서 출발할 수 있는 모든 방향과 속력의 조합이 들어 있다. 이것이 접선공간 TpM이다. 이 기호는 곱셈이 아니라 한 덩어리 이름이다. T는 접선(Tangent)의 머리글자, 아래첨자 p는 방이 붙은 점, M은 매니폴드로, "매니폴드 M의 점 p에 붙은 접선공간"이라고 읽는다.
이 방은 매니폴드 자체와 다른 공간이다. 매니폴드가 아무리 구불구불해도, 각 점의 접선공간은 항상 평평한 벡터공간이다. 이것은 마치 울퉁불퉁한 산의 각 지점에 아주 작은 평탄한 헬리패드를 놓는 것과 같다.
바깥 공간 없이 정의하기
지금까지는 구면을 3차원 공간에 넣어 두고 "접하는 평면"을 눈으로 보았다. 그런데 이 책에서 다룰 공간 가운데는 바깥에서 내려다볼 수 없는 것이 많다. 정규분포들의 모임이나 신경망 매개변수들의 모임은 어떤 3차원 공간 안에도 곡면으로 놓여 있지 않다. 출발 문제의 마지막 물음처럼, 구면 안에서만 사는 존재도 이 방을 만들 수 있을까?
원 위에 사는 존재가 가진 것은 자기 좌표뿐이다. 좌표는 점마다 숫자 하나를 읽어 주는 다이얼이라고 생각하면 된다. 원이라면 각도 다이얼이다. 각도 0인 점 p를 지나는 두 곡선을 보자. 하나는 시각 t에 각도 2t에 있고, 다른 하나는 각도 sin2t에 있다. 첫째는 한 방향으로 계속 돌고, 둘째는 앞뒤로 흔들린다. 모양은 전혀 다르다. 그런데 t=0에서 다이얼이 돌아가는 빠르기를 재면 둘 다 2다(sin2t를 미분하면 2cos2t, t=0에서 2). 바깥 공간을 몰라도 원 위의 존재는 "두 곡선이 p에서 같은 속도로 지나간다"고 말할 수 있다.
다이얼을 바꿔도 결론은 같다. 각도를 라디안 대신 도(°)로 읽는 다이얼을 쓰면 두 곡선의 빠르기는 둘 다 약 114.6으로 함께 바뀐다. 같은 것은 다른 다이얼로 읽어도 같다(미분의 연쇄법칙 덕분이다). 반면 각도 t에 있는 곡선은 빠르기가 1이라 다른 속도다.
그래서 이렇게 정한다. p에서 다이얼 빠르기가 같은 곡선들을 한 묶음으로 모으고, 그 묶음 하나를 화살표 하나, 곧 접선벡터라 부른다(한 점에서의 순간 속도, 방향과 크기를 함께 가진 것). 묶음 전체를 모은 것이 접선공간 TpM이고, M이 n차원이면 다이얼이 n개라 빠르기도 숫자 n개로 적힌다. 같은 화살표를 "함수 값이 그 방향으로 얼마나 빨리 변하는가"를 재는 방향미분으로 보는 정의도 있다. 원 위의 높이 sin(각도)를 두 곡선으로 재면 t=0에서 둘 다 2가 나오듯, 같은 묶음은 어떤 함수로 재도 같은 값을 낸다.
접선벡터 = 같은 속도로 지나는 곡선들의 묶음 — 왼쪽: 구면 위 점 p를 지나는 모양이 다른 곡선 셋(청록)이 p에서 같은 속도로 지나가 화살표 하나로 묶이고, 속도가 다른 곡선(주황)은 다른 화살표가 된다. 이 화살표들이 모인 평면이 접선공간이다. 오른쪽: 바깥 공간 없이 원의 각도 다이얼만으로 보면, 각도 2t와 sin 2t는 t=0에서 기울기가 둘 다 2라 같은 화살표이고, 각도 t는 기울기 1이라 다른 화살표다
접선공간 (방향의 방 / Tangent Space, TpM) — 한 점에 붙은 모든 가능한 방향의 집합. 그 점에서 출발할 수 있는 모든 속도벡터의 방(room)이며, dimM차원(dimM은 M의 차원)의 벡터공간이다.
곁글 · 어려우면 가장 단순한 경우로 내려가 먼저 풀어 본다
풀리지 않는 문제 앞에서는 한 단계 쉬운 문제, 되도록 가장 단순한 경우로 내려가 거기서 먼저 답을 얻는다. 단순한 경우에서는 무엇이 본질이고 무엇이 곁가지인지가 드러나고, 거기서 얻은 답이 다시 올라갈 길을 알려 준다.
라이트 형제는 비행 문제를 날개, 엔진, 조종 셋으로 나누고, 아직 풀리지 않은 것은 조종이라고 보았다. 그래서 엔진을 얹기 전에 조종부터 익히기로 했다. 1899년 여름에는 날개폭 약 1.5 m짜리 복엽 연을 띄워 날개를 비틀면 기체가 옆으로 기우는지를 시험했고, 1900년 키티호크에서는 글라이더를 대부분 사람 없이 줄에 매어 연처럼 띄웠다. 엔진을 단 비행은 1903년에야 했다.
생물학에서는 막스 델브뤼크가 그랬다. 초파리 유전학을 배우러 1937년 미국 칼텍에 간 물리학자 델브뤼크는 곧 훨씬 단순한 생명, 세균 안에서 불어나는 바이러스(박테리오파지)로 옮겨 갔다. 1939년 에모리 엘리스와 함께 쓴 논문 「박테리오파지의 증식」이 그 출발이었고, 이 작은 대상에서 시작한 연구 모임이 분자생물학의 초기를 이끌었다. 한참 뒤 감각의 원리로 관심을 옮길 때도 그는 알맞게 단순한 곰팡이 하나를 골랐다.
이 절이 구면으로 가기 전에 원에서 곡선의 묶음을 먼저 만든 것도 같은 자세다. 다이얼이 하나뿐인 원에서 답이 보이면, 다이얼이 둘인 구면에서는 같은 일을 다이얼마다 하면 된다.
ML에서: 이미지를 살짝 돌리는 방향
손글씨 숫자 이미지를 아주 조금 회전하면, 이미지는 픽셀값 공간 안에서 곡선을 그리며 움직인다. 회전 각도 t를 0에서 조금 늘릴 때 이 곡선의 t=0 속도가 바로 그 이미지 점에서의 접선벡터 하나다. 시마르(P. Simard)·르쾽(Y. LeCun) 등이 1990년대 초 NIPS에 발표한 Tangent Prop은, 회전·이동처럼 숫자의 정체를 바꾸지 않는 변환이 만드는 접선벡터 방향으로 분류기 출력의 방향미분이 0에 가깝도록 벌점을 더했다. 여기서 움직이는 것은 데이터 점이고, 접선공간은 그 점에서 데이터가 움직일 수 있는 방향들을 모아 둔 방이다.
문제 1 — 단속 카메라는 무엇을 찍나
확인 지점 단속 카메라는 차가 카메라 앞을 지나는 순간의 빠르기를 잰다. 두 차가 같은 순간 카메라 앞(0 m 지점)을 지난다. 그 순간부터 t초 뒤 차 A의 위치는 25t m이고, 브레이크를 밟는 중인 차 B의 위치는 25t−2t2 m이다. (가) 카메라가 잰 두 차의 빠르기는 각각 초속 몇 m인가? (나) 1초 뒤 두 차는 몇 m 떨어져 있는가? (다) 카메라 한 대의 기록만으로 두 차를 가려낼 수 있는가?
같이 풀기 세션 1
김민준
B는 브레이크를 밟고 있으니까 카메라에도 더 느리게 찍히겠죠. A는 초속 25 m, B는 그보다 조금 느리고요.
선생님
B가 처음 0.01초 동안 간 거리를 계산해 볼래요?
김민준
25×0.01−2×0.0001=0.2498 m니까 초속 24.98 m… 시간을 더 줄이면 25에 붙네요. 지나는 순간은 둘 다 초속 25 m, 시속 90 km예요. 1초 뒤에는 A가 25 m, B가 23 m 지점이라 2 m 벌어지고요.
이서연
카메라는 지나는 순간의 빠르기만 적으니까, 그 뒤에 한 차는 서고 한 차는 계속 달려도 기록은 똑같아. 가려낼 수 없어.
선생님
맞아요. 그 뒤의 길이 달라도 지나는 순간의 빠르기가 같으면 카메라에게는 같은 기록이에요.
문제 2 — 적도 위를 지나는 네 곡선
계산 구면 위의 점 p를 (위도, 경도) =(0,0), 곧 적도와 본초 자오선이 만나는 곳으로 잡는다. 두 다이얼은 라디안으로 읽는다. 시각 t=0에 p를 지나는 곡선 넷이 있다.
(가) (0,t) (나) (0,2t) (다) (t2,t) (라) (0,−t)
어느 곡선들이 같은 접선벡터(같은 묶음)인가? 구면 위의 높이 z=sin(위도)와 동쪽 좌표 y=cos(위도)sin(경도)가 t=0에서 변하는 빠르기로도 확인하라.
같이 풀기 세션 2
김민준
(가), (나), (라)는 셋 다 적도를 따라가니까 같은 화살표고, (다)는 적도에서 위로 벗어나니까 다른 화살표예요.
이서연
난 높이 z로 재 봤는데, t=0에서 z가 변하는 빠르기가 넷 다 0이야. (다)도 위도가 t2라 처음엔 안 올라가거든. 그러면 넷이 다 같은 묶음 아닌가?
선생님
두 사람 답이 다르네요. 다이얼 빠르기부터 적어 볼까요? 민준 학생, t=0에서 두 다이얼이 도는 빠르기는요?
김민준
(위도, 경도)의 빠르기가 (가) (0,1), (나) (0,2), (다) (0,1), (라) (0,−1)… 적도를 따라가는 셋이 오히려 다 달라요. (나)는 같은 길을 두 배로 빨리, (라)는 거꾸로 가고요. 같은 건 (가)와 (다)네요.
선생님
서연 학생은 높이 하나로 쟀죠. 동쪽 좌표 y로도 재 볼래요?
이서연
y가 변하는 빠르기는 1, 2, 1, −1이에요. 높이로는 안 갈리던 게 갈리네요. 같은 묶음이면 어떤 함수로 재도 같지만, 함수 하나가 같은 값을 낸다고 같은 묶음은 아니구나.
김민준
아까 단속 카메라랑 같네요. (가)와 (다)는 A, B 차처럼 그 뒤의 길은 달라도 지나는 순간이 같고, (가)와 (나)는 같은 길인데 빠르기가 달라요. 모양이 같은 길이라고 같은 화살표가 아니었어요.
이서연
선형대수에서 두 벡터가 같은지 보려면 성분 하나가 아니라 성분을 모두 맞춰 봐야 했잖아. 높이는 성분 하나만 본 거였어.
문제 3 — 밝기를 살짝 올리는 방향
계산 픽셀 세 개짜리 흑백 이미지 x=(0.2,0.6,0.4)와, 점수 s(x)=w⋅x (w=(1,−2,1))로 판정하는 분류기가 있다. (가) 모든 픽셀에 t를 더하는 변환 x+t(1,1,1)이 t=0에서 만드는 접선벡터는 무엇이고, 그 방향으로 점수의 방향미분(t=0에서 점수가 변하는 빠르기)은 얼마인가? (나) 대비를 키우는 변환 (1+t)x에서는? (다) Tangent Prop의 벌점이 붙는 쪽은 어느 변환인가? (Tangent Prop 논문은 회전과 이동을 썼다. 여기서는 손으로 계산되게 밝기와 대비로 바꿨다.)
같이 풀기 세션 3
김민준
t=0.1을 넣어 이미지를 만들면 (0.3,0.7,0.5)가 접선벡터고, 점수는 0.3−1.4+0.5=−0.6이에요. 0이 아니니까 (가)에서 분류기가 흔들려요.
선생님
원래 이미지의 점수는 얼마였죠?
김민준
0.2−1.2+0.4=−0.6… 똑같네요. 저는 바뀐 이미지의 점수를 잰 거지, 점수가 변하는 빠르기를 잰 게 아니었어요. 접선벡터는 바뀐 이미지가 아니라 움직이는 방향 (1,1,1)이고, w⋅(1,1,1)=1−2+1=0이에요. 밝기에는 안 흔들려요.
이서연
(나)는 곡선이 (1+t)x라서 t로 미분하면 x 자신이 접선벡터야. 방향미분은 w⋅x=−0.6. 실제로 t=0.1이면 점수가 −0.66이 돼서 0.1×(−0.6)만큼 변해.
선생님
그래요. Tangent Prop은 정체를 바꾸지 않아야 할 변환의 접선벡터 방향으로 이 방향미분을 0 쪽으로 누르는 벌점이었어요. 이 분류기라면 벌점은 (나)에만 붙어요.
김민준
아까 단속 카메라로 치면, 저는 빠르기를 적어야 할 칸에 0.1초 뒤의 차 위치를 적어 낸 셈이네요. 카메라가 찍는 건 지나는 순간의 화살표였어요.