11장 — 이징 모형과 상전이

이징 모형: 짝마다 결합을 주는 스핀 모형

앞의 스핀 100개는 모든 쌍이 똑같이 묶여 있었다. 그런데 실제 자석의 원자는 바로 이웃과만 영향을 주고받고, 첫머리의 홉필드 네트워크는 쌍마다 결합이 다르다. 결합이 쌍마다 다르고 스핀마다 한쪽으로 미는 힘까지 있을 때는 이 계를 어떻게 적어야 할까?

역사: 렌츠와 이징

1920년 함부르크의 물리학자 빌헬름 렌츠는 원자 자석이 위나 아래 두 방향만 가질 수 있고 바로 이웃과만 영향을 주고받는 모형을 제안하고, 제자 에른스트 이징에게 박사 논문 주제로 주었다. 이징은 원자들이 한 줄로 늘어선 1차원 모형을 정확히 풀었지만, 어떤 온도에서도 자성이 저절로 생기지 않는다는 답을 얻었다. 그는 1924년의 학위 논문과 1925년의 논문에서 차원이 높아져도 마찬가지일 것이라고 결론지었고, 모형은 실패작처럼 보였다. 이징의 삶도 순탄하지 않았다. 유대인이었던 그는 1933년 나치가 집권한 뒤 교단에서 쫓겨났고, 1939년 룩셈부르크로 피신해 양치기와 철도 노동자로 일했으며, 1947년 미국으로 건너가 일리노이주 브래들리 대학의 물리학 교수가 되었다. 자신의 이름이 붙은 모형이 물리학의 표준 모형이 되어 있다는 것을 그가 안 것은 학위 논문을 쓰고 25년이 지난 1949년이었다.

결합과 편향

스핀 100개의 계를 넓히자. 스핀 N개가 있고, 짝마다 결합 계수 Jᵢⱼ가, 스핀마다 편향 bᵢ가 있다. 결합이 모든 쌍에 같을 필요도, 모든 쌍에 있을 필요도 없다.

E(s)=−∑i<jJij si sj−∑ibi si,p(s)=e−βE(s)Z,m=1N∑isi\textcolor{#ff7f0e}{E}(\textcolor{#1b9e77}{\mathbf{s}}) = -\sum_{i<j} \textcolor{#b8860b}{J_{ij}}\, \textcolor{#1b9e77}{s_i}\, \textcolor{#1b9e77}{s_j} - \sum_i \textcolor{#b8860b}{b_i}\, \textcolor{#1b9e77}{s_i}, \qquad \textcolor{#e377c2}{p}(\textcolor{#1b9e77}{\mathbf{s}}) = \frac{e^{-\textcolor{#8c564b}{\beta}\textcolor{#ff7f0e}{E}(\textcolor{#1b9e77}{\mathbf{s}})}}{\textcolor{#667733}{Z}}, \qquad \textcolor{#dd6677}{m} = \frac{1}{\textcolor{#1f77b4}{N}}\sum_i \textcolor{#1b9e77}{s_i}
s=(s1,…,sN)스핀 배치. 각 스핀은 +1(위) 또는 −1(아래)Jij스핀 i와 j 사이의 결합 계수 (양수이면 같은 방향을 선호)bi스핀 i의 편향 (물리에서는 외부 자기장)E(s)배치의 에너지p(s)배치의 확률 (볼츠만 분포)m자화 (스핀 전체의 평균 방향)β, Z, N역온도, 분배함수, 스핀의 수\begin{array}{ll} \textcolor{#1b9e77}{\mathbf{s}} = (\textcolor{#1b9e77}{s_1}, \dots, \textcolor{#1b9e77}{s_N}) & \text{스핀 배치. 각 스핀은 +1(위) 또는 −1(아래)} \\ \textcolor{#b8860b}{J_{ij}} & \text{스핀 i와 j 사이의 결합 계수 (양수이면 같은 방향을 선호)} \\ \textcolor{#b8860b}{b_i} & \text{스핀 i의 편향 (물리에서는 외부 자기장)} \\ \textcolor{#ff7f0e}{E}(\textcolor{#1b9e77}{\mathbf{s}}) & \text{배치의 에너지} \\ \textcolor{#e377c2}{p}(\textcolor{#1b9e77}{\mathbf{s}}) & \text{배치의 확률 (볼츠만 분포)} \\ \textcolor{#dd6677}{m} & \text{자화 (스핀 전체의 평균 방향)} \\ \textcolor{#8c564b}{\beta},\ \textcolor{#667733}{Z},\ \textcolor{#1f77b4}{N} & \text{역온도, 분배함수, 스핀의 수} \end{array}

이것을 이징 모형 (짝끼리만 영향을 주고받는 ±1 변수들의 볼츠만 분포, Ising model)이라 한다. 앞의 스핀 100개는 모든 쌍에 Jᵢⱼ = J/N을 준 경우로, 완전 연결 이징 모형이라 부른다. 결합을 격자에서 바로 이웃한 쌍에만 주면 렌츠와 이징이 처음 생각한 자석 모형이 된다. 물리 교재는 편향을 외부 자기장 h로 적지만 이 책에서 h는 숨은 변수를 가리키므로 b로 쓰고, 스핀 sᵢ는 강화학습의 상태 s와 글자만 같다. 스핀 전체의 평균 방향 m은 물리에서 자화(magnetization)라 부르며, 앞으로 이 이름을 함께 쓴다.

결합을 주는 세 가지 방법. (가) 모든 쌍을 같은 결합 J/N으로 묶은 계(앞의 스핀 100개), (나) 격자에서 바로 이웃한 쌍에만 결합 J를 준 자석 모형, (다) 쌍마다 결합의 크기와 부호가 다르고(선의 굵기가 크기, 점선이 음수) 스핀마다 한쪽으로 미는 편향(화살표)이 있는 일반적인 이징 모형. 선 하나가 결합 하나다.
결합을 주는 세 가지 방법. (가) 모든 쌍을 같은 결합 J/N으로 묶은 계(앞의 스핀 100개), (나) 격자에서 바로 이웃한 쌍에만 결합 J를 준 자석 모형, (다) 쌍마다 결합의 크기와 부호가 다르고(선의 굵기가 크기, 점선이 음수) 스핀마다 한쪽으로 미는 편향(화살표)이 있는 일반적인 이징 모형. 선 하나가 결합 하나다.

ML에서: 라벨마다 sigmoid를 두는 분류기

이미지 한 장에 여러 라벨을 붙이는 다중 라벨 분류기는 흔히 라벨마다 sigmoid를 하나씩 둔다. 라벨 i가 붙으면 sᵢ = +1, 빠지면 −1로 적으면 이것은 편향 bᵢ만 있고 결합이 모두 0인 이징 모형이어서, 라벨들이 서로 아무 영향을 주지 않는다고 가정하는 셈이다. 「바다」와 「배」처럼 함께 붙는 라벨을 설명하려면 짝 결합 Jᵢⱼ가 있어야 한다.

문제 3. 고무줄로 묶은 동전 두 개

동전 두 개를 짧은 고무줄로 묶어 던진다고 하자. 동전마다 앞면이 나올 확률은 1/2이지만, 두 동전이 같은 면으로 떨어지는 경우가 80%다. 앞면을 +1, 뒷면을 −1로 적는다. (가) 둘 다 앞면일 확률은 얼마인가? (나) 두 값을 곱한 평균 ⟨s₁s₂⟩는 얼마이고, 묶지 않은 동전이면 얼마인가?

김민준 M11
김민준

동전마다 앞면이 1/2이니까 둘 다 앞면은 1/2 × 1/2 = 0.25죠.

선생님 T02
선생님

둘 다 앞면이 0.25라면 둘 다 뒷면은요? 그럼 두 동전이 같은 면으로 떨어지는 경우는 모두 몇 %가 되죠?

김민준 M04
김민준

둘 다 뒷면도 0.25니까 같은 면이 0.5… 문제에서는 80%라고 했는데요.

이서연 S06
이서연

곱으로 계산하는 건 두 동전이 따로 떨어진다고 본 거라 고무줄을 빼먹은 거야. 같은 면이 80%이고 앞앞과 뒤뒤는 대칭이니까 둘 다 앞면은 40%야.

선생님 T01
선생님

이제 (나)로 가 볼까요. 두 값을 곱하면 같은 면일 때와 다른 면일 때 각각 얼마가 나오죠?

김민준 M07
김민준

같은 면이면 곱이 +1, 다르면 −1이니까 ⟨s₁s₂⟩ = 0.8 − 0.2 = 0.6이에요. 묶지 않으면 같은 면이 반이라 0이고요. 아, 동전 하나씩의 평균은 둘 다 0인데 짝의 평균만 0.6이네요. 한 동전씩만 보면 묶였는지 알 수 없는 거예요.

이서연 S10
이서연

그러니까 한 동전씩의 평균 ⟨s₁⟩, ⟨s₂⟩만 맞추는 모형으로는 고무줄을 담을 수 없고, 짝의 평균 ⟨s₁s₂⟩를 따로 적어 둬야 하네.

김민준 M12
김민준

같은 집에 사는 형이랑 제가 둘 다 감기에 걸릴 확률을 각자 확률의 곱으로 구하면 안 되는 거랑 같네요. 한 명이 걸리면 옮으니까요.

문제 4. 함께 붙는 두 라벨

이미지 태그 데이터에서 라벨 「바다」와 「배」는 각각 이미지의 절반에 붙어 있고, 두 라벨이 같이 붙거나 같이 빠진 이미지가 88.08%다. 라벨이 붙으면 +1, 빠지면 −1로 적는다. (가) 각 라벨의 평균만 지키는 최대 엔트로피 분포에서 두 라벨이 모두 붙을 확률은 얼마인가? (나) 짝의 평균 ⟨s₁s₂⟩까지 지키면 어떻게 되며, 그 승수는 얼마인가? (다) 라벨이 1000개일 때 두 경우의 분배함수에서 더해야 하는 항의 수를 비교하라.

김민준 M11
김민준

라벨마다 sigmoid를 하나씩 두면 되죠. 평균이 0이니까 붙을 확률이 0.5씩이고, 둘 다 붙을 확률은 0.5 × 0.5 = 0.25예요.

이서연 S06
이서연

(가)의 답은 그게 맞는데, 데이터에서는 몇이야? 같이 붙거나 같이 빠진 게 88%이고 둘은 대칭이니까, 둘 다 붙은 이미지가 44%야. 0.25랑은 한참 달라.

김민준 M07
김민준

고무줄로 묶은 동전이랑 같은 계산이네. 같은 면이 88%면 둘 다 앞면은 그 절반인 44%지.

선생님 T01
선생님

그럼 (나)로 가 볼까요. 짝의 평균부터 구해 봐요.

김민준 M02
김민준

같은 방향이면 +1, 다른 방향이면 −1이니까 ⟨s₁s₂⟩ = 0.8808 − 0.1192 = 0.7616이에요. 최대 엔트로피 분포는 p ∝ e^(K·s₁s₂) 꼴이고, 같은 방향일 확률이 e^K/(e^K + e^(−K))니까 이게 0.8808이 되려면 tanh K = 0.7616, K = 1.000이에요. 둘 다 붙을 확률은 e/(2e + 2/e) = 0.4404고요.

이서연 S07
이서연

승수가 딱 1이네. 짝의 평균을 지키게 하는 라그랑주 승수가 결합 계수 βJ 자리에 서는 거야.

김민준 M08
김민준

라벨별 sigmoid는 서로 독립인 두 상태짜리 변수라서 Z가 곱으로 쪼개지는데, 둘을 묶는 항을 넣으면 안 쪼개진다던 게 이거였네요.

선생님 T02
선생님

(다)로 가 볼까요. 라벨마다 평균만 맞춘 분포라면 Z를 라벨별로 어떻게 쪼갤 수 있죠?

이서연 S01
이서연

한 라벨의 평균만 맞추면 Z가 라벨마다 두 항짜리 합의 곱이라서, 2000개를 더하고 곱하면 돼요. 짝 항이 들어가면 쪼개지지 않으니까 2¹⁰⁰⁰ ≈ 1.07 × 10³⁰¹개를 다 더해야 하고요.

김민준 M11
김민준

출석부로 치면, 학생마다 출석률만 알 때는 두 사람이 같이 빠질 확률을 곱하면 되지만, 둘이 늘 붙어 다니는 친구라는 걸 알면 곱으로는 안 되는 거죠. 그런 친구 관계가 반 전체에 얽혀 있으면 경우를 전부 따져야 하고요.