4장 — 라그랑지안과 최소 작용 원리

이 장의 물음

신경망을 학습시킬 때 우리는 매개변수가 다음 걸음에 어디로 가야 하는지 규칙을 하나하나 적지 않는다. 손실 함수 하나를 적어 두면, 경사하강이 그 값을 줄이는 쪽으로 매개변수를 옮겨 준다. 노이즈를 데이터로 옮기는 생성 모델 가운데에는 노이즈의 한 점에서 데이터의 한 점까지 가는 길을 일부러 곧은 직선으로 잡는 것이 있는데, 그렇게 잡으면 샘플을 만들 때 걸음이 적게 든다고 한다. 두 경우 모두 한 걸음씩의 규칙보다 「무엇을 가장 작게 할 것인가」를 먼저 정한다.

물체의 움직임은 보통 다르게 설명한다. 뉴턴의 운동 법칙은 매 순간 물체에 걸리는 힘을 구하고, 그 힘으로 다음 순간의 위치를 정해 나간다. 한 걸음씩의 규칙을 적는 방식이다. 그렇다면 물체의 움직임도 손실 함수처럼 숫자 하나를 줄이는 문제로 적을 수 있을까?

그러려면 경로 전체를 한꺼번에 봐야 한다. 위로 던진 공이 출발점에서 도착점까지 가는 경로는 여러 가지로 상상할 수 있다. 실제로 공이 그리는 포물선도 있고, 곧게 올라갔다 곧게 내려오는 경로나 중간에 잠시 멈추는 경로도 있다. 이런 경로 하나하나에 숫자 하나를 계산해 붙인다고 하자. 이 장에서는 그 숫자를 경로의 점수라고 부른다. 경로를 넣으면 숫자 하나가 나오는 계산이니, 매개변수를 넣으면 숫자 하나를 내놓는 손실 함수와 같은 자리에 있는 셈이다.

무엇을 점수로 삼을지는 문제마다 정한다. 이 장에서 볼 세 예제는 다음과 같다.

예제 비교하는 경로들 점수
해변 구조요원 물에 들어가는 지점이 다른 길들 도착까지 걸리는 시간 (초)
최단강하선 같은 두 점을 잇는 여러 비탈면 모양 공이 끝까지 내려오는 시간 (초)
진자 같은 시각에 같은 각도에 닿는 여러 움직임 ? (걸리는 시간은 모든 경로가 같다)

앞의 두 예제는 점수가 "걸리는 시간"이라서 뜻이 바로 보인다. 그런데 진자는 모든 경로가 같은 시각에 같은 각도에 닿도록 정해 두었으므로, 걸리는 시간으로는 경로를 가를 수 없다. 이런 경로에는 무엇을 점수로 붙여야 할까? 이 장은 이 물음에서 시작해 다음 물음에 차례로 답한다.

스넬의 법칙: 가장 짧은 길과 가장 빠른 길

가장 짧은 길과 가장 빠른 길은 같을까? 내비게이션에 목적지를 넣어 보면 “최단 거리” 경로와 “최소 시간” 경로가 따로 뜨는 일이 흔하다. 거리가 조금 멀어도 빨리 달릴 수 있는 큰길로 돌아가면 더 일찍 닿기 때문이다. 이처럼 가는 도중에 움직이는 빠르기가 바뀌는 곳이 있으면 두 길은 달라진다. 이 장의 이야기는 바로 이 차이에서 출발한다.

역사: 헤론과 페르마

"자연은 어떤 양을 가장 작게 만드는 길을 고른다"는 생각은 빛에서 시작되었다. 1세기경 알렉산드리아의 헤론은 거울에 반사된 빛이 가장 짧은 길을 간다고 설명했다. 그런데 공기에서 물로 들어가는 빛은 경계에서 꺾이므로 가장 짧은 길로 가지 않는다. 1657년 프랑스 의사 라 샹브르는 헤론의 원리가 굴절에는 맞지 않는다고 적은 책을 페르마에게 보냈다.

페르마는 매질마다 빛을 막는 정도가 다르다고 보면 굴절도 같은 틀에 넣을 수 있다고 답했고, 1662년 1월 1일 라 샹브르에게 보낸 편지에서 그 "막는 정도"를 빠르기의 역수로 잡았다. 그러면 빛은 거리가 아니라 걸리는 시간이 가장 짧은 길을 가는 셈이 되고, 여기서 굴절 법칙이 그대로 나온다. 다만 조건이 하나 붙었다. 빛이 물처럼 빽빽한 매질에서 더 느려야 했다.

피에르 드 페르마(1600년대 초–1665). 출처: Wikimedia Commons, 퍼블릭 도메인
피에르 드 페르마(1600년대 초–1665). 출처: Wikimedia Commons, 퍼블릭 도메인

이 조건이 말썽이었다. 당시 굴절 법칙은 데카르트의 이름으로 알려져 있었는데, 데카르트는 빛을 빽빽한 매질에서 오히려 더 빨리 나가는 테니스공에 견주어 설명했다. 데카르트를 따르던 클레르슬리에는 1662년 5월 페르마에게 반박 편지를 보냈다. "자연은 가장 짧고 단순한 길로 간다"는 말은 도덕의 원리일 뿐 물리의 원리가 아니며, 그 원리대로라면 거리가 짧은 직선과 시간이 짧은 꺾인 선 사이에서 자연이 망설일 텐데 누가 정해 주느냐는 것이었다. 페르마는 이 물음에 물리로 답하지 못했다. 빛이 정말 물에서 느린지는 거의 200년 뒤인 1850년 4월, 푸코가 회전 거울로 공기 속과 물속의 빛을 견주어 재고 나서야 확인되었다. 처음에는 빛의 경로를 설명하는 데 쓰였던 이 생각은 시간이 흐르면서 역학 전체를 떠받치는 원리로 넓어진다.

페르마가 푼 문제는 빛 대신 사람을 달리게 해도 똑같이 생긴다. 손으로 풀 수 있는 작은 문제 하나로 확인해 보자.

해변 구조요원의 가장 빠른 길

구조요원이 모래사장에서 해안선으로부터 20m 떨어진 곳에 있다. 물에 빠진 사람은 해안선 따라 30m 옆, 물속으로 10m 들어간 곳에 있다. 구조요원은 모래 위에서 초속 7m, 물에서 초속 2m로 움직인다. 해안선의 어느 지점으로 물에 들어가야 가장 빨리 도착하는가?

초속 7m와 2m는 사람이 모래 위를 달리고 물에서 헤엄치는 빠르기를 어림해 잡은 값이다. 물에 들어가는 지점을 구조요원 앞에서 해안선을 따라 x m 옆이라고 하자. 그러면 모래 위를 달리는 거리와 물속을 헤엄치는 거리가 모두 x로 정해지므로, 걸리는 시간도 x 하나의 함수로 쓸 수 있다.

t(x)=x2+2027+(30−x)2+1022\textcolor{#a67a63}{t}(\textcolor{#1b9e77}{x}) = \frac{\sqrt{\textcolor{#1b9e77}{x}^2 + 20^2}}{7} + \frac{\sqrt{(30 - \textcolor{#1b9e77}{x})^2 + 10^2}}{2}
x물에 들어가는 지점 (해안선을 따라 잰 위치, m)t(x)도착까지 걸리는 시간 (초)\begin{array}{ll} \textcolor{#1b9e77}{x} & \text{물에 들어가는 지점 (해안선을 따라 잰 위치, m)} \\ \textcolor{#a67a63}{t}(\textcolor{#1b9e77}{x}) & \text{도착까지 걸리는 시간 (초)} \end{array}

이제 세 가지 전략을 비교해 보자. 가장 짧은 길인 직선으로 가는 방법, 느린 물속 거리를 가장 짧게 줄이는 방법, 그리고 t를 x로 미분한 값이 0이 되는 지점으로 들어가는 방법이다.

전략 물에 들어가는 지점 x 걸리는 시간
직선으로 간다 (가장 짧은 길) 20m 11.11초
물속 거리를 최소로 (사람 바로 앞까지 뛰고 10m 헤엄) 30m 10.15초
dt/dx = 0인 지점 약 27.6m 10.01초

직선 경로는 거리가 가장 짧지만 느린 물속을 오래 헤엄쳐야 해서 셋 가운데 가장 늦다. 그렇다고 물속 거리를 10m까지 줄이면 이번에는 모래 위를 너무 많이 달려야 한다. 가장 빠른 길은 이 두 극단 사이에 있다. 다시 말해 물속에서 느리니 모래를 조금 더 뛰되, 물속 거리를 0에 가깝게 줄이지는 않는 것이 가장 좋다.

이 문제의 점수는 걸리는 시간 t(x)다. 길이 x 하나로 정해지므로 점수도 x 하나의 함수다. "기울기가 0"이 무슨 뜻인지 숫자로 확인해 보자. 물에 들어가는 지점을 조금 옮기고 시간이 얼마나 변하는지 재면 된다.

출발한 길 들어가는 지점을 1m 옮기면 0.1m 옮기면
직선 (x = 20m), 오른쪽으로 옮김 0.24초 빨라짐 0.025초 빨라짐
가장 빠른 길 (x = 27.6m), 어느 쪽으로든 0.024초 늦어짐 0.00024초 늦어짐

직선에서는 옮긴 거리에 비례해 시간이 줄어든다. 10분의 1만 옮기면 변화도 약 10분의 1이다. 이것이 기울기가 0이 아니라는 뜻이고, 더 좋은 쪽이 있다는 신호다. 가장 빠른 길에서는 어느 쪽으로 옮겨도 시간이 조금 늘 뿐이고, 10분의 1만 옮기면 변화는 100분의 1로 줄어든다. 옮긴 거리보다 변화가 훨씬 빨리 작아지는 것, 이것이 "기울기가 0"의 뜻이다.

구조요원 문제의 세 경로. 가장 빠른 길(초록)은 해안선 27.6m 지점에서 꺾이며 10.01초가 걸리고, 직선(11.11초)과 물속 거리를 최소로 한 길(10.15초)은 그보다 늦다. 각 θ₁, θ₂는 해안선에 수직인 선(점선)에서 잰다.
구조요원 문제의 세 경로. 가장 빠른 길(초록)은 해안선 27.6m 지점에서 꺾이며 10.01초가 걸리고, 직선(11.11초)과 물속 거리를 최소로 한 길(10.15초)은 그보다 늦다. 각 θ₁, θ₂는 해안선에 수직인 선(점선)에서 잰다.

그 최적의 지점에서는 한 가지 관계가 성립한다. 모래와 물에서의 진행 방향이 해안선에 수직인 선과 이루는 각을 각각 θ₁, θ₂라고 하면 다음과 같다.

sin⁡θ1v1=sin⁡θ2v2\frac{\sin\textcolor{#6d45e6}{\theta}_1}{\textcolor{#b2003c}{v}_1} = \frac{\sin\textcolor{#6d45e6}{\theta}_2}{\textcolor{#b2003c}{v}_2}
θ1모래에서 진행 방향이 해안선의 수직선과 이루는 각θ2물에서 진행 방향이 해안선의 수직선과 이루는 각v1모래 위 속력 (7 m/s)v2물속 속력 (2 m/s)\begin{array}{ll} \textcolor{#6d45e6}{\theta}_1 & \text{모래에서 진행 방향이 해안선의 수직선과 이루는 각} \\ \textcolor{#6d45e6}{\theta}_2 & \text{물에서 진행 방향이 해안선의 수직선과 이루는 각} \\ \textcolor{#b2003c}{v}_1 & \text{모래 위 속력 (7 m/s)} \\ \textcolor{#b2003c}{v}_2 & \text{물속 속력 (2 m/s)} \end{array}

실제로 계산해 보면 양쪽 모두 약 0.1157이다. 미분이 0인 곳에서 왜 하필 이 관계가 나오는지는 아래 문제 2에서 직접 계산해 보자. 그런데 이 식은 빛이 공기에서 물로 들어갈 때 꺾이는 스넬의 굴절 법칙 (Snell’s law)과 같은 식이다. 페르마가 빛이 "걸리는 시간이 가장 짧은 길"을 간다고 보고 이끌어 낸 것이 바로 이 법칙이니, 구조요원이 푼 문제가 곧 페르마의 문제였던 셈이다.

공기에서 반원형 투명 블록으로 들어가는 빛. 각은 경계면에 수직인 선에서 재고, 빛은 느려지는 쪽에서 수직선 가까이 꺾인다. 구조요원이 느린 물속에서 θ₂를 작게 잡는 것과 같다. 사진: Zátonyi Sándor (ifj.), Wikimedia Commons, CC BY-SA 3.0
공기에서 반원형 투명 블록으로 들어가는 빛. 각은 경계면에 수직인 선에서 재고, 빛은 느려지는 쪽에서 수직선 가까이 꺾인다. 구조요원이 느린 물속에서 θ₂를 작게 잡는 것과 같다. 사진: Zátonyi Sándor (ifj.), Wikimedia Commons, CC BY-SA 3.0
직접 움직여 보기해변 구조요원새 창에서 열기 ↗

문제 1. 오리발을 신은 구조요원

본문의 구조요원(모래 20m, 옆으로 30m, 물속 10m, 모래에서 초속 7m)이 오리발을 신어 물에서 초속 3m로 헤엄칠 수 있게 되었다. 가장 빠른 길로 가려면 들어가는 지점은 27.6m에서 어느 쪽으로 옮겨 가는가? 그때 걸리는 시간은? (풀어 본 뒤 위젯 1의 「문제 1 불러오기」로 확인해 보자.)

김민준 M01
김민준

물에서도 빨라졌으니까 이제는 직선으로 가면 되죠. 해안선 20m 지점으로 들어가요.

이서연 S12
이서연

민준아, 그래도 물이 모래보다 두 배 넘게 느려. 나는 들어가는 곳은 27.6m 그대로고 시간만 줄 것 같은데.

선생님 T12
선생님

두 사람 다 계산해 보세요.

김민준 M04
김민준

모래 √(20²+20²) ≈ 28.3m를 7로, 물 √(10²+10²) ≈ 14.1m를 3으로 나누면… 8.75초요.

이서연 S11
이서연

저는 모래 √(27.6²+20²) ≈ 34.1m를 7로, 물 √(2.4²+10²) ≈ 10.3m를 3으로 나눠서 8.30초. 제가 더 빠르네요.

선생님 T14
선생님

그런데 그 자리가 정말 가장 빠른지는 아직 몰라요. 들어가는 지점을 x로 두고 t(x)를 x로 미분해서 0이 되는 곳을 다시 찾아 봐요.

이서연 S07
이서연

x ≈ 26.4m에서 8.27초예요. 27.6m보다 1.2m 직선 쪽으로 왔네요. 물이 덜 느려졌으니 물속을 조금 더 헤엄쳐도 손해가 덜한 거고요.

김민준 M01
김민준

그래도 20m까지는 한참 멀어요. 물속이 모래만큼 빨라져야 직선이 되겠네요.

선생님 T01
선생님

2003년에 한 수학 교사가 자기 개를 데리고 이걸 실험했어요. 호숫가에서 물에 공을 던지면 개가 어디서 물에 뛰어드는지 쟀는데, 이 계산의 최적점과 꽤 가까웠다고 해요. 논문 제목이 "개는 미적분을 아는가?"였어요.

김민준 M04
김민준

개도 직선으로는 안 뛰는군요.

선생님 T14
선생님

여기서 중요한 건 "가장 짧은 길"과 "가장 빠른 길"이 다르다는 거예요. 무엇을 최소화하는지 정해야 답이 정해져요.

문제 2. 미분이 0인 곳에서 사인의 비가 같아지는 까닭

본문의 구조요원 시간 t(x) = √(x² + 20²)/7 + √((30 − x)² + 10²)/2를 x로 미분해 0으로 두어라. 그 식이 왜 sin θ₁/v₁ = sin θ₂/v₂와 같은 말인가? 각은 해안선에 수직인 선에서 잰다.

선생님 T01
선생님

두 항을 하나씩 미분해 볼까요?

김민준 M04
김민준

첫 항은 x/(7√(x² + 400)), 둘째 항도 같은 꼴이라 (30 − x)/(2√((30 − x)² + 100)). 둘 다 양수인데 더해서 0이 되라니, 답이 없는데요?

이서연 S01
이서연

민준아, 둘째 항은 안쪽이 30 − x라서 미분하면 −1이 한 번 더 곱해져. 더하는 게 아니라 빼는 거야.

김민준 M08
김민준

아, 체인룰이요. 그럼 x/(7√(x² + 400)) = (30 − x)/(2√((30 − x)² + 100))이 돼요.

선생님 T02
선생님

이제 그림에서 x/√(x² + 400)이 무엇인지 찾아 봐요. 모래 위 경로가 빗변이에요.

이서연 S07
이서연

빗변이 √(x² + 400)이고 해안선을 따라 옆으로 간 거리가 x니까, 해안선에 수직인 선에서 잰 각의 사인이네요. 물 쪽도 같아서 sin θ₁/7 = sin θ₂/2예요. 식의 7과 2 자리에 모래와 물의 빠르기가 그대로 들어가요.

선생님 T01
선생님

맞아요. 들어가는 지점을 조금 옮기면 모래 길은 sin θ₁의 비율로, 물길은 sin θ₂의 비율로 길이가 바뀌어요. 그 길이 변화를 빠르기로 나눈 두 값, 곧 두 구간의 시간 변화가 똑같아지는 곳이 가장 빠른 곳이에요.

이서연 S09
이서연

그럼 빛이 수직선 쪽으로 꺾이는 건 물에서 느리다는 뜻이네요. 걸리는 시간으로 따지면, 물에서 더 빠른 빛이라면 수직선에서 멀어지는 쪽으로 꺾여야 하고요.

김민준 M10
김민준

과제 두 개 마감이 겹칠 때 시간 나누는 거랑 같네요. 한 시간을 옮겼을 때 두 과제에서 오르는 점수가 같아질 때까지 옮기잖아요.