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

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

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

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

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

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

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

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

작용은 운동에너지 − 위치에너지를 적분한 거라고 한 줄로 정하면 되는데, 왜 모페르튀이 때는 문제마다 달랐어요?

선생님 T03
선생님

그 한 줄에 든 낱말부터 아직 없었어요. 「위치에너지」라는 이름은 1853년에 랭킨이 붙였어요. 모페르튀이 때는 무엇을 더해야 하는지 정해 줄 개념이 없었던 거죠.

이서연 S06
이서연

음, 그러면 빛에서는 속도 × 거리를 쓰고 물체가 부딪치는 문제에서는 다른 양을 쓰고… 맞는 결과가 나오도록 작용을 그때그때 고른 거네요.

선생님 T01
선생님

그래서 「자연은 아낀다」는 말만 앞서고 계산이 따라오지 못했어요. 같은 1744년에 오일러가 입자 하나의 운동에서 작용을 적분으로 정확히 적으면서 계산이 비로소 따라붙기 시작했고요.

김민준 M02
김민준

라그랑주는 그걸 그림 한 장 없는 책으로 만든 거고요. 힘을 하나하나 그려서 풀던 때에 그림을 빼겠다고 한 거면 꽤 대담했겠어요.

이서연 S03
이서연

그런데 적분으로 적으려면 적분 안에 매 순간 무엇을 넣을지가 정해져야 하잖아요. 던진 공에서 Δt마다 더하던 운동에너지 − 위치에너지가 그대로 들어가나요?

순간의 점수와 경로의 점수

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

그렇다면 경로 전체의 점수는 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만 바꿔도 된다면 가장 작은 작용은 얼마인가?

최고 높이가 4.9m로 같은 포물선과 사인 모양 경로. 포물선의 작용 −32.01은 본문에서 구했다
최고 높이가 4.9m로 같은 포물선과 사인 모양 경로. 포물선의 작용 −32.01은 본문에서 구했다
김민준 M01
김민준

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

선생님 T03
선생님

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

이서연 S03
이서연

운동에너지 쪽부터 할게요. 속도가 4.9 × (π/2) cos(πt/2)니까 cos²을 0초부터 2초까지 적분해야 하네요. 그 2초 동안 cos²의 평균이 ½이라 적분하면 1이니까, 운동에너지 쪽은 ½ × (4.9 × π/2)² = 29.62.

선생님 T12
선생님

위치에너지 쪽은 무엇을 적분하게 되죠?

김민준 M03
김민준

높이 4.9 sin(πt/2)에 9.8을 곱한 거요. sin을 0초부터 2초까지 적분하면 4/π니까 9.8 × 4.9 × 4/π = 61.14.

이서연 S07
이서연

운동에너지 쪽에서 빼면 작용은 −31.52예요.

김민준 M07
김민준

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

선생님 T02
선생님

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

이서연 S03
이서연

높이를 a로 바꾸면 운동에너지 쪽은 a²에, 위치에너지 쪽은 a에 비례하겠네요. 작용이 a²π²/8 − 39.2a/π, a에 대한 이차식이에요.

김민준 M02
김민준

그럼 꼭짓점이 최소지. a로 미분해서 0으로 두면… a ≈ 5.06m야.

이서연 S11
이서연

가장 작게 만들었으니까 이제 포물선의 작용과 똑같아지겠네요.

김민준 M04
김민준

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

선생님 T14
선생님

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

이서연 S08
이서연

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

김민준 M09
김민준

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