스핀이 둘일 때 찾은 평균장 규칙 m₁ = tanh(β(b + Jm₂))는 스핀이 수백 개인 계에서도 그대로 성립할까? 그리고 그렇게 고른 곱 분포의 자유에너지는 참 자유에너지와 어떤 관계에 있을까? 스핀 N개가 짝마다 결합 Jᵢⱼ, 스핀마다 편향 bᵢ로 묶인 이징 모델 E(s) = −Σ_{i<j} Jᵢⱼsᵢsⱼ − Σᵢbᵢsᵢ에 같은 최소화를 해 보자. Σ는 아래에 붙은 범위의 항을 모두 더하라는 기호이고, 아래에 i < j를 단 Σ는 서로 다른 두 스핀 (i, j)의 쌍을 한 번씩만 모두 더한다는 뜻이다. 곱 분포 q(s) = q₁(s₁)q₂(s₂)⋯q_N(s_N)에서는 서로 다른 스핀의 곱의 평균이 평균의 곱이 되므로 ⟨sᵢsⱼ⟩_q = mᵢmⱼ이고, 자유에너지는 평균 방향 mᵢ들만의 함수가 된다. 이 자유에너지 F[q]를 mᵢ로 미분해 0으로 놓으면 스핀 둘일 때와 같은 모양의 조건이 스핀마다 하나씩 나온다.
부등식은 F[q] − F = kT × D_KL(q‖p) ≥ 0에서 오고, 양변에 −β를 곱하면 ln Z ≥ −βF[q], 곧 계산할 수 있는 ln Z의 아래쪽 한계가 된다. 이처럼 서로 독립인 변수들의 곱 분포 가운데 F[q]가 가장 낮은 것으로 볼츠만 분포를 대신하는 것을 평균장 근사 (곱 분포 안에서 자유에너지를 최소화해 볼츠만 분포를 대신하는 근사, mean-field approximation)라 한다. 오른쪽 식에서는 구하려는 값 mᵢ가 양변에 모두 들어 있어서, 답은 오른쪽 식 mᵢ = tanh(β(bᵢ + ΣⱼJᵢⱼmⱼ))에 넣었을 때 스스로와 맞아떨어지는 값이어야 한다. 그래서 이런 식을 자기 일관 방정식(self-consistent equation)이라 부른다. 여기서 자기는 자석의 자기(磁氣)가 아니라 「스스로」라는 뜻이다.
자기 일관 방정식 m = tanh(βJm)을 그림으로 푸는 법(편향 0). 곧은 선 y = m과 곡선 y = tanh(βJm)이 만나는 곳이 해다. βJ = 0.5에서는 원점에서만 만나고, βJ = 1에서 곡선의 원점 기울기가 곧은 선과 같아지며, βJ = 1.5에서는 원점 말고도 ±0.859에서 만난다. 곡선이 곧은 선보다 가팔라지는 순간 0이 아닌 해가 생긴다.
ML에서: 볼츠만 머신의 평균장 학습
볼츠만 머신의 학습 규칙은 결합 Jᵢⱼ를 ⟨sᵢsⱼ⟩_데이터 − ⟨sᵢsⱼ⟩_모델에 비례해 바꾼다. 빼는 둘째 항, 곧 모델 쪽 평균을 구하는 음의 단계(negative phase)에는 모델의 샘플이 필요한데, 상전이(조건이 한 값을 지날 때 계의 전형적인 상태가 갑자기 바뀌는 현상, phase transition)가 일어나는 온도 아래에서는 샘플링하는 마르코프 체인이 한쪽 봉우리에 갇혀 모델 분포의 절반만 본다. 샘플링은 무척 느리기도 했다.
1987년 텍사스 오스틴의 기업 연구소 MCC(Microelectronics and Computer Technology Corporation)에 있던 카스텐 피터슨과 제임스 앤더슨은 이 항을 평균장으로 대신했다. 그들은 논문 요약에 「시간이 많이 드는 상관의 확률적 측정을 결정론적 평균장 방정식의 해로 대체한다」고 쓰고, XOR(두 입력이 다를 때만 1을 내는 문제)·인코더·선 대칭 문제에서 10~30배 빨라졌다고 보고했다. 자기 일관 방정식으로 mᵢ를 구하고 짝 평균마저 두 평균의 곱으로 한 번 더 근사해 ⟨sᵢsⱼ⟩_모델 ≈ mᵢmⱼ로 두면(논문의 표기로는 VᵢVⱼ) 샘플링이 필요 없고, 그들은 이 방정식이 본래 병렬적이어서 병렬 계산기에 곧바로 올릴 수 있다는 점도 강조했다.
평균장은 샘플링하지 않으니 체인처럼 갇히지는 않지만, 봉우리가 둘인 모델에서 처음부터 한 봉우리를 골라 답한다는 점에서는 같은 절반만 본다. 게다가 mᵢmⱼ에는 두 뉴런이 평균에서 함께 벗어나는 정도인 공분산 ⟨sᵢsⱼ⟩ − mᵢmⱼ가 들어 있지 않다.
문제 4. 문턱을 갓 넘은 결합
편향이 없는 스핀 둘의 평균장 방정식 m = tanh(βJm)를 생각하자. (가) βJ = 1.1과 1.01에서 양수인 해를 되풀이 계산으로 구하라. (나) 0 근처에서 tanh x ≈ x − x³/3을 쓰면 βJ가 1보다 조금 클 때 해가 √(3(βJ − 1))쯤임을 보이고 (가)와 견주라. (다) 스핀 하나당 −βF[q] = βJm²/2 + H((1 + m)/2)에서, 양수인 해는 m = 0보다 얼마나 높은가?
김민준
0에서 시작해서 되풀이했는데 한 번도 안 움직여요. tanh 0 = 0이니까요. 해가 0밖에 없는 거 아니에요?
tanh를 0 근처에서 편 거니까 m이 작을 때만이에요. 0.5는 이미 0 근처가 아니고, 0.17에서는 0.172와 0.173으로 거의 맞아요. 식이 틀린 게 아니라 쓴 범위가 넓었어요.
김민준
(다)는 1.1에서 0.0067, 1.01에서 0.000074예요. 문턱을 갓 넘으면 0이 아닌 해가 0보다 아주 조금만 나아요.
선생님
그래서 문턱 근처에서는 평균 방향이 0인 상태와 한쪽으로 쏠린 상태의 자유에너지가 거의 같아요. 계가 어느 쪽으로도 쉽게 흔들린다는 뜻이고, 평균장 근사가 버린 편향의 흔들림(이웃 스핀이 뒤집힐 때마다 편향이 오르내리는 것)이 평균장 근사의 답을 가장 크게 바꾸는 곳이 바로 문턱 근처예요.
이서연
수학 시간에 배운 테일러 전개는 전개한 점 근처에서만 믿으라는 말이 여기서 숫자로 보이네.