오일러–라그랑주 방정식: 경로에 대한 기울기가 0
경로 전체의 점수는 매 순간의 점수 L을 시간으로 적분한 작용이었다. 던진 공을 점 41개로 잘랐을 때는 점마다 높이로 편미분해 기울기를 모으고, 그 기울기를 0으로 두었다. 그런데 작용은 이제 함수 전체를 받으므로, 여기서 말하는 기울기는 숫자 몇 개에 대한 편미분이 아니다. 그렇다면 함수에 대한 기울기는 어떻게 계산할까?
역사: 열아홉 살 라그랑주의 δ
오일러는 1744년 책에서 가장 좋은 곡선을 찾는 일반 방법을 처음 체계적으로 정리했다. 기하학적인 방법이었고, 곡선의 좌표를 하나하나 따로 다뤘다. 1754년부터 토리노의 청년 라그랑주가 오일러에게 편지를 보내기 시작했다. 라그랑주는 곡선 위 점 하나가 아니라 양 끝 사이의 곡선 전체를 한꺼번에 조금 바꾸는 계산을 δ라는 새 기호로 적었고, 이 방법이 오일러의 계산을 크게 줄였다. 열아홉 살이던 1755년의 일이다. 오일러는 자기 방법 대신 라그랑주의 방법을 받아들여 1756년 베를린 아카데미에 소개하면서 이 분야를 "변분법"이라 불렀다. 지금도 쓰는 δ 기호가 여기서 나왔다.
경로를 흔들어 보기
이산 경로에서 점 하나를 조금 옮기고 점수의 변화를 봤듯이, 경로 q(t)를 양 끝은 그대로 둔 채 조금 흔들어 보면 된다. 흔드는 모양을 η(t)(η는 에타), 흔드는 정도를 ε이라 하면 흔든 경로는 q(t) + εη(t)이고, 양 끝은 고정되어 있으므로 η(t₀) = η(t₁) = 0이다. 이제 작용을 ε으로 미분하고 속도 쪽 항을 부분적분하면 다음 꼴이 된다. 한 줄씩 채우는 일은 아래 문제 6에서 함께 해 보자.

실제 경로라면 이 값은 어떤 η를 골라도 0이어야 한다. 그런데 η는 양 끝만 0이면 얼마든지 자유롭게 고를 수 있으므로, 적분이 항상 0이 되려면 대괄호 안이 모든 시각에서 0일 수밖에 없다. 이것이 오일러–라그랑주 방정식 (경로에 대한 기울기 = 0, Euler–Lagrange equation)이다.
대괄호 안의 값은 δ𝒜/δq(t)로 쓰고 범함수 미분(functional derivative)이라 부른다. 이것은 이산 경로에서 "y_k로 편미분한 값을 Δt로 나눈 것"의 극한이다. 다시 말해 던진 공에서 점 하나하나에 대해 편미분하던 계산을 연속인 경로로 옮겨 놓은 것이다.
확인: 사인 모양 경로에서 재 보기
새로 만든 규칙이 앞의 계산과 맞는지 숫자로 확인해 두자. 던진 공의 라그랑지안 L = ½mẏ² − mgy를 넣으면 ∂L/∂ẏ = mẏ이고 ∂L/∂y = −mg이므로, 질량 1일 때 대괄호 안은 −g − ÿ다. 실제 포물선에서는 ÿ = −g라서 모든 시각에 0이다. 0초와 2초에 높이 0이고 최고 높이가 4.9m인 사인 모양 경로 y = 4.9 sin(πt/2)에 넣으면 0이 아니다. 점 41개로 자른 계산에서 가운데 점 하나로 편미분한 값을 Δt로 나누면 같은 값에 가까워진다.
| 시각 | 연속인 식 −g − ÿ | 점 41개: (∂𝒜/∂yₖ)/Δt |
|---|---|---|
| 0.5초 | −1.25 | −1.26 |
| 1초 | +2.29 | +2.28 |
| (포물선이면 어느 시각이든) | 0 | 거의 0 (10⁻¹² 이하) |
사인 모양 경로는 1초 무렵을 조금 들어 올리면 작용이 늘고, 0.5초 무렵을 들어 올리면 작용이 준다. 포물선은 어디를 흔들어도 첫 변화가 0이다. 포물선에서 오일러–라그랑주 방정식은 mÿ = −mg가 되어, 이산 계산에서 얻은 식과 같다.
ML에서: "변분"이라는 이름
변분 추론(variational inference), 변분 오토인코더(VAE, variational autoencoder), 변분 하한(ELBO, evidence lower bound)에 붙은 "변분"은 여기서 다룬 변분법에서 온 말이다. 변수가 숫자가 아니라 함수이고, 그 함수를 받는 범함수를 최적화한다는 뜻이다. 변분 추론에서는 그 함수가 근사 분포 q다. 그렇다면 함수를 실제로 어떻게 최적화할까? 실무에서는 q를 신경망 매개변수로 표현하고 경사하강을 쓴다. 경로를 점 41개로 두고 푼 것과 같은 방식이다.
문제 6. 부분적분 한 줄씩
흔든 경로 q + εη를 작용에 넣고 ε으로 미분한 뒤 ε = 0으로 두면 ∫[∂L/∂q · η + ∂L/∂q̇ · η̇]dt가 된다(η̇은 흔드는 모양의 시간 미분). 둘째 항을 부분적분해 본문의 식에 이르러라. 양 끝이 고정되어 있다는 조건은 어디에 쓰이는가? 끝 한쪽을 고정하지 않으면 무엇이 달라지는가?

둘째 항 ∂L/∂q̇ · η̇에서 η̇을 미분된 쪽으로 보고 부분적분해 볼까요?

∫u v′ dt = −∫u′ v dt니까 ∫∂L/∂q̇ · η̇ dt = −∫(d/dt ∂L/∂q̇) η dt. 첫 항과 묶으면 대괄호가 나와요. 끝!

민준아, 부분적분에는 적분 밖으로 나오는 항이 있잖아. ∂L/∂q̇ · η를 끝 시각에서 잰 값에서 처음 시각에서 잰 값을 뺀 것.

아, 그걸 빼먹었네요. 그 항은 어디로 가죠?

양 끝을 고정했으니까 η(t₀) = η(t₁) = 0이야. 그래서 그 항이 통째로 0이 되는 거고. 양 끝 조건은 여기서 쓰이는 거네.

좋아요. 그럼 끝을 고정하지 않으면요? 던진 공을 0초에 바닥에서 출발시키되, 2초 뒤의 높이는 정하지 않고 작용만 가장 작게 한다고 해 봐요.

그러면 η(t₁)가 0이 아니어도 되니까, 적분 밖 항 ∂L/∂q̇ · η(t₁)도 스스로 0이 되어야 해요. 어떤 η(t₁)에도 그러려면 끝에서 ∂L/∂ẏ = mẏ = 0. 끝에서 속도가 0이어야 하네요.

그러면 공은 2초 뒤에 꼭대기에서 멈춰요. 출발 속도가 19.6m/s라서 19.6m까지 올라가고요. 끝을 풀어 주니까 그 대신 조건이 하나 생긴 셈이네요.

맞아요. 고정하지 않은 끝은 "끝에서 ∂L/∂q̇ = 0"이라는 조건을 받아요. 양 끝을 고정하면 이 항이 저절로 사라졌던 거예요.

보고서 분량을 정해 주면 내용만 신경 쓰면 되는데, 분량을 자유로 두면 어디서 끝낼지도 따로 정해야 하는 거랑 같네요.
문제 7. 왜 K − U인가
위로 던진 공의 라그랑지안을 L = K + U로 잘못 쓰면 어떤 운동방정식이 나오는가?

에너지는 K + U니까 그걸 쓰는 게 자연스럽지 않아요? L = ½mẏ² + mgy. 오일러–라그랑주를 쓰면 mÿ = mg.

그 식대로면 공은 어느 쪽으로 가속하죠?

위로요. 공이 하늘로 떨어지네요.

부호 하나로 물리가 뒤집혔어요. 운동방정식을 얻은 뒤에는 항상 가장 쉬운 경우, 여기선 떨어지는 공으로 방향을 확인하세요.

그런데 선생님, 왜 하필 빼는 거예요? 더하면 에너지인데, 빼는 건 무슨 뜻인지 모르겠어요.

솔직하게 말하면, 고전역학 안에서는 "그 조합의 기울기가 0인 조건이 F = ma와 같아지기 때문"이 가장 정직한 답이에요. 직관은 하나 드릴 수 있어요. 작용을 작게 하려면 운동에너지가 큰 구간은 짧게, 위치에너지가 큰 구간은 길게 머물러야 해요. 던진 공이 꼭대기에서 느려져 오래 머무는 게 그 모습이에요.

이유가 먼저 있는 게 아니라, 맞는 답을 주는 조합을 찾은 거네요.

네. 이 조합이 맞는 운동을 준다는 것을 확인하고 쓰는 거예요. 더 깊은 이유는 양자역학에서 나오지만 이 수업의 범위 밖이에요.