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

라그랑지안: 매 순간의 점수

Δt를 0으로 보내면 어떻게 될까? 점의 개수가 늘어나면서 변수는 무한히 많아지고, 결국 변수는 함수 y(t) 자체가 된다. 그에 따라 점수의 합은 적분이 되고, "각 y_k로 편미분한다"는 조작은 "함수에 대해 미분한다"는 조작이 된다. 합이 적분으로 바뀌면, 적분 안에서 매 순간 더해지는 것은 무엇일까?

역사: 모페르튀이의 “작용”

빛에서 시작된 "가장 작게 만드는 길"이라는 생각을 역학으로 가져온 사람은 모페르튀이였다. 모페르튀이는 페르마의 원리가 마음에 걸렸다. 빛이 왜 하필 거리가 아니라 시간을 아끼느냐는 것이었다. 1744년 모페르튀이는 빛이 아끼는 양을 "빠르기 × 거리"를 더한 것으로 바꾸어 적고 이것을 작용이라 불렀으며, 1746년에는 같은 생각을 물체의 운동과 정지의 법칙으로 넓혀 "자연은 모든 움직임에서 아낀다"는 최소 작용 원리를 내놓았다. 그런데 무엇을 작용으로 볼지는 다루는 문제마다 달랐고, 근거도 계산이 아니라 형이상학이었다.

1751년에는 우선권 다툼까지 붙었다. 쾨니히가 라이프니츠의 옛 편지에 같은 원리가 있다며 그 사본을 내밀었고, 오일러가 이끌던 베를린 아카데미는 이듬해 그 편지를 위조로 판정했다. 볼테르는 이 소동을 두고 모페르튀이를 비꼬는 풍자 글을 썼다. 원리를 믿음이 아닌 계산으로 바꾼 쪽은 오일러와 라그랑주였다. 같은 1744년 오일러는 입자 하나의 운동에 대해 작용을 정확한 적분으로 적었고, 1788년 라그랑주는 『해석역학』에서 힘과 화살표 대신 하나의 함수에서 모든 운동을 이끌어 냈다.

라그랑주는 이 책의 서문에 책 안에 그림이 한 장도 없다고 적었다. 물체에 걸리는 힘을 하나하나 그리는 대신, 함수 하나를 적고 계산만으로 운동을 얻겠다는 선언이었다. 이 장에서 따라가 보려는 것도 바로 그 방식이다.

조제프루이 라그랑주(1736–1813). 출처: Wikimedia Commons, 퍼블릭 도메인(CC0)
조제프루이 라그랑주(1736–1813). 출처: Wikimedia Commons, 퍼블릭 도메인(CC0)

순간의 점수와 경로의 점수

던진 공의 점수에서 매 구간 Δt를 곱해 더한 것은 "운동에너지 − 위치에너지"였다. 경로가 연속이 되어 합이 적분으로 바뀌어도 이 양은 그대로 적분 안에 남는다. 이 양은 그 순간의 위치와 속도만 알면 계산되므로, 물체의 위치를 q, 그 시간 미분인 속도를 q̇으로 쓰면 q와 q̇의 함수가 된다. q̇은 "큐 닷"이라 읽는다. 글자 위의 점 하나는 시간으로 한 번 미분했다는 뜻이고, 점 둘(q̈)은 두 번 미분한 가속도다. 이렇게 각 순간의 점수를 주는 함수 L(q, q̇) = K − U를 라그랑지안 (각 순간의 점수, Lagrangian)이라 한다. 여기서 K는 운동에너지, U는 위치에너지다. 물리 교과서는 두 에너지를 흔히 T와 V로 쓰지만, 이 책에서 T는 온도, V는 부피의 글자라서 HMC 논문들처럼 K와 U를 쓴다. 이것도 글자만 바꾼 것이다.

그렇다면 경로 전체의 점수는 L로 어떻게 쓸까? 이산 경로에서는 각 구간의 L에 Δt를 곱해 모두 더했으니, 연속 경로에서는 L을 경로 q(t)를 따라 시간으로 적분하면 된다. 이 적분값이 연속 경로의 작용 𝒜다.

A[q]=∫t0t1L(q(t),q˙(t)) dt\textcolor{#66a61e}{\mathcal{A}}[\textcolor{#1b9e77}{q}] = \int_{\textcolor{#a67a63}{t}_0}^{\textcolor{#a67a63}{t}_1} \textcolor{#e7298a}{L}\big(\textcolor{#1b9e77}{q}(\textcolor{#a67a63}{t}), \textcolor{#1b9e77}{\dot q}(\textcolor{#a67a63}{t})\big)\, dt
A작용 (경로 전체의 점수)L라그랑지안 (각 순간의 점수)q위치 (경로)q˙속도t시간t0,t1경로의 시작⋅끝 시각\begin{array}{ll} \textcolor{#66a61e}{\mathcal{A}} & \text{작용 (경로 전체의 점수)} \\ \textcolor{#e7298a}{L} & \text{라그랑지안 (각 순간의 점수)} \\ \textcolor{#1b9e77}{q} & \text{위치 (경로)} \\ \textcolor{#1b9e77}{\dot q} & \text{속도} \\ \textcolor{#a67a63}{t} & \text{시간} \\ \textcolor{#a67a63}{t}_0, \textcolor{#a67a63}{t}_1 & \text{경로의 시작·끝 시각} \end{array}

점을 촘촘히 하면 합이 정말 이 적분에 다가가는지 숫자로 확인해 두자. 던진 공(질량 1)의 실제 경로 y(t) = (g/2)·t·(2 − t)는 속도가 ẏ = g(1 − t)이다. 운동에너지 ½ẏ²을 0초부터 2초까지 적분하면 32.01, 위치에너지 gy를 적분하면 64.03이므로 작용은 𝒜 = −32.01이다. 점 41개로 자른 합은 −31.99였으니, 경사하강이 찾은 점수 약 −32.0은 이 적분값을 어림한 것이었다.

던진 공(질량 1)의 실제 경로에서 매 순간의 운동에너지 K, 위치에너지 U, 그 차인 라그랑지안 L = K − U. L 곡선과 가로축 사이의 넓이(위는 더하고 아래는 뺀다)가 작용 𝒜 = −32.01이다.
던진 공(질량 1)의 실제 경로에서 매 순간의 운동에너지 K, 위치에너지 U, 그 차인 라그랑지안 L = K − U. L 곡선과 가로축 사이의 넓이(위는 더하고 아래는 뺀다)가 작용 𝒜 = −32.01이다.

작용의 기호에 붙은 대괄호 [q]는 𝒜가 숫자 하나가 아니라 함수 q(t) 전체를 받는다는 표시다. 이렇게 "함수를 받아 숫자를 돌려주는 함수"를 범함수(functional)라 한다.

이제 역사에서 본 최소 작용 원리를 이 이름으로 적을 수 있다. 양 끝점이 정해진 경로들 가운데 실제로 일어나는 운동은 𝒜의 기울기가 0인 경로다. 던진 공에서 점 하나하나에 대해 확인한 것을 연속인 경로에 대해 말한 것이다.

ML에서: 손실 함수도 범함수다

범함수는 낯선 개념 같지만 우리는 이미 자주 쓴다. 손실 함수는 신경망이 나타내는 함수 전체를 받아 숫자 하나를 돌려주기 때문이다. 다만 실제 학습에서는 그 함수를 매개변수 몇백만 개로 적어 두고 매개변수에 대해 미분하므로, 범함수라는 사실이 잘 드러나지 않을 뿐이다.

문제 5. 사인 모양으로 던진 공

던진 공(질량 1, 0초와 2초에 높이 0, g = 9.8m/s²)의 경로를 포물선 대신 y(t) = 4.9 sin(πt/2)로 잡았다. 최고 높이는 포물선과 같은 4.9m다. 이 경로의 작용 𝒜를 적분으로 구해 포물선의 작용 −32.01과 견주어라. 사인 모양은 그대로 두고 최고 높이 4.9만 바꿔도 된다면 가장 작은 작용은 얼마인가?

김민준 M01
김민준

최고 높이가 둘 다 4.9m고 0초와 2초에 바닥이니까 작용도 거의 같겠죠.

선생님 T03
선생님

작용은 경로 전체를 받아서 숫자 하나를 내요. 운동에너지와 위치에너지를 따로 적분해 볼까요?

이서연 S01
이서연

속도가 4.9 × (π/2) cos(πt/2)이고 cos²을 0초부터 2초까지 적분하면 1이니까, 운동에너지 쪽은 ½ × (4.9 × π/2)² = 29.62. 위치에너지 쪽은 9.8 × 4.9 × 4/π = 61.14. 작용은 −31.52예요.

김민준 M07
김민준

포물선은 −32.01이었으니까 0.49만큼 크네요. 봉우리 높이가 같아도 모양이 다르면 점수가 다르구나.

선생님 T02
선생님

이번엔 최고 높이를 a로 두고 사인 모양 안에서 가장 좋은 a를 찾아 봐요.

이서연 S03
이서연

작용이 a²π²/8 − 39.2a/π라서 a로 미분하면 a ≈ 5.06m예요. 가장 작게 만들었으니까 이제 포물선의 작용과 똑같아지겠네요.

김민준 M04
김민준

넣어 보니 −31.55예요. 아직 −32.01보다 커.

선생님 T14
선생님

사인 모양이라는 틀 안에서 가장 좋은 것을 찾았을 뿐이에요. 틀 밖에 있는 포물선은 처음부터 고를 수 없었고요.

이서연 S08
이서연

가장 작은 값을 찾는 범위를 먼저 정해 버린 셈이네요. 해석학에서 최솟값을 말하기 전에 정의역부터 확인하는 거랑 같아요.

김민준 M09
김민준

신경망도 같네요. 층 구조를 정해 두면 가중치를 아무리 학습시켜도 그 구조가 그릴 수 있는 함수 안에서만 가장 좋은 걸 찾는 거고요.