1787년의 공식이 ChatGPT에서 다음 단어를 선택하는 방법
요약
레장드 변환(Legendre transform)이라는 수학적 개념이 열역학, 통계학, 그리고 LLM의 소프트맥스(softmax) 및 온도(temperature) 설정과 어떻게 연결되는지 설명합니다. 서로 다른 분야에서 다르게 불리던 개념들이 결국 하나의 수학적 구조를 공유하고 있음을 밝힙니다.
핵심 포인트
- 레장드 변환은 열역학, 통계학, 머신러닝을 관통하는 핵심 수학 도구임
- LLM의 마지막 레이어와 temperature 파라미터의 원리를 이해하는 열쇠
- 함수의 제어 변수와 응답 사이의 정보 저장 방식을 전환하는 과정
수학에는 짜증 나는 습관이 하나 있습니다. 같은 아이디어를 서로 다른 이름으로 계속해서 반복해서 제시하면서, 당신이 이미 그것을 알고 있다는 사실을 단 한 번도 인정하지 않는다는 점입니다. 1학년 때는 역학에서의 Legendre transform (Legendre 변환)에 대해 듣게 됩니다 (당신은 아무것도 이해하지 못합니다). 그다음에는 열역학에서의 자유 에너지 (free energy)에 대해 듣습니다 (조금 더 이해하게 되지만 연결 고리는 보이지 않습니다). 그러다 신경망 (neural networks)에서의 softmax (소프트맥스)에 대해 듣게 됩니다 (이 시점쯤 되면 당신은 이것이 그저 누군가가 우연히 효과가 있어서 만들어낸 공학적 해킹(engineering hack)일 것이라고 꽤 확신하게 됩니다). 그러다 어느 순간 — 저의 경우에는 아래에서 자세히 다룰 특정 교육 논문을 읽던 중에 일어났습니다 — 당신은 갑자기 지금까지 보여준 것이 모두 같은 것이었다는 사실을 깨닫게 됩니다. 하나의 연산. 그저 서로 다른 의상을 입고 있었을 뿐입니다.
이것은 진정으로 만족스러운 기분입니다. 마치 추리 소설에서 집사, 정원사, 그리고 기차 안의 신비로운 낯선 사람이 알고 보니 동일 인물이었다는 사실이 밝혀지는 순간과 비슷합니다. 저는 그 기분을 공유하고 싶습니다. 왜냐하면 그것은 즐거운 일일 뿐만 아니라 유용하기 때문입니다. 하나의 구조를 이해하고 나면 열역학, 통계학의 지수 가족 (exponential families), Fisher information (피셔 정보), 그리고 — 난데없이 — 모든 대규모 언어 모델 (large language model)의 마지막 레이어와 API의 temperature (온도) 슬라이더까지 모두 공짜로 얻게 됩니다. 하나의 아이디어치고는 나쁘지 않은 환율입니다.
저는 Zia, Redish, McKay의 논문인 "Making Sense of the Legendre Transform" (arXiv:0806.1147)에 의지할 것입니다. 이 논문은 보기 드문 장르입니다. 세 명의 물리학자가 왜 아무도 학생들에게 Legendre transform을 제대로 설명하지 않는지에 대해 논문을 쓰고, 그러고 나서 제대로 설명해 놓았기 때문입니다. 그런 다음 저는 그들이 가보지 않은 곳, 즉 머신러닝 (machine learning)으로 실타래를 끌어당겨 보겠습니다. 안전벨트를 매세요. 공식들이 등장하겠지만, 모든 공식이 그 값을 충분히 할 것이라고 약속합니다.
모두가 암기하지만 아무도 이해하지 못하는 공식
레장드 변환 (Legendre transform)이 교과서에서 보통 어떻게 소개되는지부터 시작해 보겠습니다. 그래야 이 교육적 재앙의 규모를 실감하실 수 있을 겁니다. 여러분은 함수 $F(x)$를 받게 되고, 아무런 설명도 없이 다음과 같은 식을 보게 됩니다:
$$G(s) = s,x(s) - F\big(x(s)\big),$$
여기서 $s = dF/dx$는 기울기 (slope)이며, $x(s)$는 그 역함수 (inverse function)입니다. 그게 전부입니다. 보통 그 뒤에는 "~임을 확인하는 것은 쉽다"라는 문구(불쾌한 무언가가 다가오고 있다는 전형적인 경고 신호)가 뒤따르고, 이어서 두 번째 마법 같은 항등식인 $dG/ds = x$가 등장합니다. 이 시점에서 상식적인 사람이라면 세 가지 질문을 던지게 됩니다. 왜 추가적인 항인 $sx$가 붙는지, 마이너스 부호는 어디서 왔는지, 그리고 왜 그냥 $F$에 $x(s)$를 대입하고 끝내면 안 되는지 말입니다. 교과서들은 전통적으로 이 질문들에 침묵으로 답합니다.
하지만 답은 존재하며, 심지어 복잡하지도 않습니다. 핵심은 이렇습니다. 함수는 정보를 저장하는 방식입니다. 즉, 입력인 제어 변수 (control variable) $x$와 출력인 응답 (response) $F$가 있습니다. 때로는 동일한 정보를 다른 패키지에 담아 저장하는 것이 더 편리할 때가 있습니다. 우리가 푸리에 변환 (Fourier transform)을 기꺼이 받아들이는 이유는 바로 그 재포장 (repackaging) 과정이 설명되기 때문입니다. 즉, "지점에서의 값" 대신 "신호에 각 주파수가 얼마나 포함되어 있는지"를 저장하는 방식입니다. 레장드 변환도 이와 같은 종류의 재포장이며, 다만 새로운 좌표가 주파수 대신 함수의 기울기라는 점이 다를 뿐입니다. 이는 함수가 엄격하게 볼록 (strictly convex)할 때 정당화됩니다 (이 경우 모든 $x$는 자신만의 고유한 기울기를 가지며, 기울기가 해당 지점을 식별하는 완전한 ID 역할을 할 수 있습니다). 또한 기울기를 $x$ 자체보다 측정하거나 제어하기가 더 쉬울 때 유용합니다. 역학 (mechanics)에서는 속도 (velocity)와 운동량 (momentum) 사이에서 이런 일이 일어납니다. 열역학 (thermodynamics)에서는 에너지 (energy)와 온도 (temperature) 사이에서 일어납니다 (시스템의 에너지를 직접 설정해 보십시오. 이제 온도를 설정해 보십시오. 차이가 느껴지십니까? 온도 조절기 (thermostats)는 상점에서 팔리지만, "에너지 조절기 (energostats)"는 팔리지 않습니다). 우리가 곧 보게 되겠지만, 언어 모델 (language model)에서는 확률 (probabilities)과 로짓 (logits) 사이에서 이런 일이 일어납니다.
마이너스 부호가 더 이상 무섭지 않게 만드는 그림
이제 그 마이너스 부호에 대해 이야기해 보겠습니다. 여기서 논문의 저자들은 가장 가치 있는 일을 하나 해냅니다. 바로 그림을 그리는 것입니다. 볼록한 곡선 $F(x)$를 가져옵시다. 한 점을 선택하고, 곡선까지 올라가서 기울기가 $s$인 접선을 그린 뒤, 수직축에 닿을 때까지 왼쪽으로 연장합니다. 그 축에서의 절편은 $-G$와 같다는 사실이 밝혀집니다. 남은 것은 중학교 1학년 수준의 기하학입니다. 결과적으로 만들어진 직각삼각형에서 "기울기 곱하기 밑변"은 높이와 같으며, 높이는 $F$(축 위쪽)와 $G$(축 아래쪽)로 구성됩니다. 이를 종합하면 다음과 같습니다:
$$F(x) + G(s) = s,x.$$
이 형태가 되면 모든 것이 갑자기 딱 들어맞습니다. "여분의" $sx$와 "이상한" 마이너스 부호가 존재하는 이유는 단 하나입니다. 바로 방정식을 대칭적 (symmetric)으로 만들기 위해서입니다. $F$와 $G$는 완전히 동등한 입장에서 방정식에 등장하며, 어느 하나가 "주된" 함수가 아닙니다. (명확히 하자면, 변수 $x$와 $s$는 여기서 독립적이지 않습니다. 이들은 $dF/dx = s$와 $dG/ds = x$를 통해 서로 묶여 있습니다. 이 방정식에는 정확히 하나의 독립 변수만 존재하며, 단지 당신이 어느 것을 선택하느냐의 문제입니다.)
이 대칭성은 제가 처음 보았을 때 진심으로 즐거움을 느꼈던 속성을 즉각적으로 제공합니다. 바로 르장드르 변환 (Legendre transform)은 그 자체로 역함수라는 점입니다. $G$에 이를 적용하면 다시 $F$를 얻게 됩니다. 푸리에 변환 (Fourier transform)의 경우 순방향 변환과 역변환이 서로 다른 공식이지만, 여기서는 전등 스위치처럼 양방향 모두 동일한 연산입니다. 수학자들은 이를 인볼루션 (involution)이라고 부릅니다. 인간의 언어로 표현하자면, ${F, x}$와 ${G, s}$는 원본과 복사본의 관계가 아니라, 하나의 대상을 설명하는 두 개의 똑같이 유효한 기술이라는 뜻입니다. 쌍대성 (Duality)입니다.
여기에는 나중에 필요하게 될 선물이 하나 더 있습니다. 쌍 $dF/dx = s$, $dG/ds = x$를 한 번 더 미분하면 다음과 같은 결과를 얻습니다.
$$\frac{d^2F}{dx^2}\cdot\frac{d^2G}{ds^2} = 1.$$
쌍대 함수(dual functions)의 곡률은 서로 역수 관계에 있습니다. 즉, 한 함수가 급격하게 휘어지는 곳에서는 다른 함수가 거의 평평합니다. 이는 불확정성 관계(uncertainty relation) $\Delta x,\Delta k \approx 1$와 닮아 있는데, 이러한 유사성은 결코 우연이 아닙니다. 이 공식을 잘 기억해 두세요. 세 섹션 뒤에 이 공식이 피셔 정보(Fisher-information)라는 가면을 쓰고 다시 등장할 때, 여러분은 바로 알아차릴 수 있을 것입니다.
검증을 위해 가장 간단한 예시를 들어보겠습니다: 포물선 $F(x) = \tfrac{1}{2}\alpha x^2$입니다. 기울기는 $s = \alpha x$이고, 역함수는 $x = s/\alpha$이며, 변환을 거치면 $G(s) = \tfrac{1}{2\alpha}s^2$가 됩니다. 지루한가요? 그렇습니다. 하지만 이 지루하기 짝이 없는 포물선이야말로 통계학자들이 가우시안 분포(Gaussian distribution)를 그토록 좋아하는 이유입니다. 이 함수의 쌍대 함수 또한 가우시안이며, 전체 구조가 깔끔하게 자기 자신으로 닫히기 때문입니다.
Fenchel, 또는 미분이 존재하지 않을 때 하는 법
고전적인 르장드르 변환(Legendre transform)에는 아킬레스건이 있습니다. 바로 매끄럽고 엄격하게 볼록한(strictly convex) 함수가 필요하다는 점입니다. 그렇지 않으면 $dF/dx = s$ 방정식의 해가 유일하지 않게 되어 전체 체계가 무너집니다. 반면, 최적화(optimization)와 통계학에서 다루는 실제 함수들은 꺾인 점(kinks), 평평한 구간, 그리고 까다로운 정의역(domains)으로 가득 차 있습니다. 그렇다면 어떻게 해야 할까요?
20세기에 Werner Fenchel는 제가 그 직설적임에 감탄하는 해결책을 제시했습니다. 만약 기울기에 대한 방정식을 풀 수 없다면 — 풀지 마십시오. 대신 상한(supremum)을 취하십시오:
$$f^{*}(s) = \sup_{x}\big(\langle s, x\rangle - f(x)\big).$$
이것이 바로 **르장드르-펜첼 변환(Legendre–Fenchel transform)**이며, 볼록 공액(convex conjugation)이라고도 불립니다. 기하학적 의미는 동일합니다. 우리는 여전히 접선의 절편을 찾고 있는 것입니다. 다만 이제는 미분을 하는 대신, 기울기가 $s$인 가능한 모든 직선을 그래프에 대어보고 가장 좋은 절편을 선택할 뿐입니다. 매끄러움(smoothness)이 필요 없으며, 무엇에나 적용 가능합니다. 보너스로, 원래의 $f$가 아무리 엉망이었더라도 $f^{*}$는 자동으로 볼록 함수가 됩니다(이는 선형 함수들의 집합에 대한 상한이며, 직선들의 점별 최댓값(pointwise max)은 항상 볼록하기 때문입니다. 직접 그려서 확인해 보셔도 좋습니다).
그에 따라 대칭적인 등식은 솔직히 말해 부등식으로 퇴화하며, 이 부등식이 이야기의 나머지 부분에서 주인공 역할을 하게 됩니다. 바로 **Fenchel–Young 부등식 (Fenchel–Young inequality)**입니다:
$$f(x) + f^{*}(s) \ge \langle s, x\rangle,$$
여기서 등호는 $x$와 $s$가 서로 쌍대(dual)일 때만 성립합니다 (형식적으로는: $s$가 $x$에서의 $f$의 하경사 (subgradient)인 경우). 이 식을 꼭 기억해 두세요. 이 부등식의 차이(gap)가 바로 여러분이 신경망 (neural network)을 훈련할 때마다 최소화하고 있는 바로 그 값이 될 것이기 때문입니다.
마지막 한 가지 성질이 있는데, 이것이 가장 심오한 성질입니다. 두 번 공액 (conjugate)하면 $f^{}$를 얻게 되는데, 이것은 항상 원래의 함수와 일치하지는 않습니다. 이는 원래 함수의 볼록 껍질 (convex hull), 즉 $f$의 아래에 놓이는 가장 큰 볼록 함수입니다. 볼록 함수 (convex function)의 경우 $f^{} = f$가 되어 다시involution 영역으로 돌아가지만, 비볼록 함수 (non-convex function)의 경우 이 변환은 모든 움푹 패인 곳 위에 깔끔하게 "콘크리트를 붓는" 것과 같습니다. 흥미로운 세부 사항 하나를 덧붙이자면, 열역학 (thermodynamics)에서 이 "붓는 과정"은 추상적인 개념이 아닙니다. 이는 액체와 증기의 공존을 설명하는 맥스웰 구성 (Maxwell construction)과 정확히 일치합니다. 주전자에서 물이 끓을 때, 자연은 비볼록한 자유 에너지 (free energy)를 볼록화 (convexifying)하고 있는 것입니다. (이제 여러분의 주전자 소리가 훨씬 더 품격 있게 들린다는 점을 인정해야 할 것입니다.)
열역학: 신경망을 위한 리허설
이제 물리학으로 잠시 옆길로 새보겠습니다. 물리학 그 자체를 위해서가 아니라, 용어 때문입니다. 여기서 명명하는 모든 것은 한 섹션 뒤의 신경망 부분에서 정확히 똑같은 이름표를 달고 다시 등장할 것이며, 저는 여러분이 이를 보자마자 알아차리기를 바랍니다.
에너지가 $E$인 고립계 (isolated system)는 어떤 수의 미시 상태 (microstates) $\Omega(E)$를 가지며, 그 로그 값은 무차원 엔트로피 (dimensionless entropy) $\mathcal{S}(E) = \ln \Omega(E)$가 됩니다. $\Omega$를 직접 계산하는 것은 대개 매우 고통스럽기 때문에, 물리학자들은 라플라스 변환 (Laplace transform)을 취하여 분배 함수 (partition function)를 도입합니다:
$$Z(\beta) = \int \Omega(E), e^{-\beta E}, dE, \qquad \mathcal{F}(\beta) = -\ln Z(\beta),$$
여기서 $\beta = 1/k_B T$는 역온도 (inverse temperature)이며, $\mathcal{F}$는 무차원 자유 에너지 (dimensionless free energy)입니다. 그리고 이 모든 우회 과정의 핵심적인 트릭이 여기에 있습니다. 입자가 많을 때, 라플라스 적분 (Laplace integral)은 안장점 방법 (saddle-point method)에 의해 계산되며, 그 극한에서 $\mathcal{S}$와 $\mathcal{F}$ 사이의 관계는 — 놀랍게도 — 앞서 본 대칭 항등식과 정확히 일치하게 됩니다:
$$\mathcal{F}(\beta) + \mathcal{S}(E) = \beta E, \qquad \frac{d\mathcal{S}}{dE} = \beta, \qquad \frac{d\mathcal{F}}{d\beta} = E.$$
엔트로피 (Entropy)와 자유 에너지는 서로 레장드르 쌍대 (Legendre duals)이며, 켤레 변수 쌍 (conjugate pair of variables)은 에너지와 역온도입니다. 이것이 물리학자들에게 왜 중요할까요? 시스템의 에너지는 직접 제어하기 어려운 반면, 온도는 제어하기 쉽기 때문입니다. 열욕 (thermal bath)에 넣어두고 $\beta$를 조절하기만 하면 됩니다. 레장드르 변환 (Legendre transform)은 바로 "제어하기 어려운 것"과 "설정하기 편리한 것"의 역할을 바꾸어 주는 것입니다. 이 섹션에서 가져가야 할 세 가지 기념품은 다음과 같습니다: 분배 함수 (partition function) $Z$, 역온도 $\beta$, 그리고 $Z$의 로그가 엔트로피와 쌍대라는 사실입니다. 이것들을 잊어버리지 마세요.
통계학: 모든 분포는 두 개의 좌표계를 갖는다
머신러닝 (machine learning)에서 레장드르-펜첼 쌍대성 (Legendre–Fenchel duality)이 단순한 장식을 넘어 구조를 지탱하는 벽이 되는 첫 번째 지점은 지수 가족 (exponential families)입니다. 전문적인 용어처럼 들리지만, 이는 실제로 사용되는 고전 확률론의 거의 전부를 의미합니다: 가우시안 (Gaussian), 베르누이 (Bernoulli), 포아송 (Poisson), 범주형 (categorical) — 이들은 모두 동일한 멤버십 카드를 가진 하나의 클럽 구성원입니다:
$$p(x;\theta) = h(x),\exp\big(\langle \theta, T(x)\rangle - A(\theta)\big),$$
여기서 $\theta$는 소위 자연 매개변수 (natural parameters)이고, $T(x)$는 충분 통계량 (sufficient statistics)이며,
$$A(\theta) = \ln \int h(x), e^{\langle \theta, T(x)\rangle}, dx$$
는 로그-정규화 인자(log-normalizer)로, **로그 분배 함수 (log-partition function)**로 더 잘 알려져 있습니다. 익숙하신가요? 이는 통계학으로 옮겨온 물리학의 그 분배 함수와 동일합니다 (심지어 글자 모양도 비슷하죠). $A$는 볼록(convex) 함수이며, 그 기울기(gradient)는 통계량의 기댓값을 제공합니다: $\nabla A(\theta) = \mathbb{E}_\theta[T(x)] = \mu$.
여기서 이중성(duality)이 온전히 펼쳐집니다. 이러한 모든 분포는 동일하게 유효한 두 가지 좌표계를 가집니다: 자연 매개변수 (natural parameters) $\theta$ (내부적, "에너지와 유사한")와 평균 매개변수 (mean parameters) $\mu$ (외부적, 관측 가능한 — 데이터로부터 실제로 측정하는 것)입니다. 이들 사이의 사전(dictionary)은 르장드르-펜첼 변환 (Legendre–Fenchel transform)입니다. 즉, 켤레 함수 (conjugate function) $A^(\mu)$는 (부호를 제외하면) 음의 엔트로피 (negative entropy)가 되며, 변환은 $\mu = \nabla A(\theta)$와 $\theta = \nabla A^(\mu)$를 통해 양방향으로 진행됩니다. 이러한 가족군에서의 최대 우도 추정 (Maximum likelihood estimation)은 모멘트 매칭 (moment matching) — "모델의 평균을 관측된 평균과 일치시키는 것" — 으로 귀결됩니다. 이는 단순한 우연이 아니라 이중성의 직접적인 결과입니다.
제가 기억해 두라고 했던 그 곡률(curvature) 공식을 기억하시나요? 여기 새로운 모습으로 다시 등장합니다. 로그 분배 함수의 헤시안 (Hessian)은 통계량의 공분산 (covariance)이며, 이는 피셔 정보 (Fisher information)로도 알려져 있습니다:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기