1. 개요[편집]
변분 추론(variational inference, VI)은 계산이 불가능한 사후분포 를, 다루기 쉬운 분포족 안에서 KL 발산을 최소화하는 원소 로 갈아 끼우는 근사 추론 기법이다.
한 줄 요약: 추론 문제를 최적화 문제로 바꾼다. 베이즈 정리의 분모 를 적분으로 계산하는 대신, 근사 분포의 파라미터를 경사법으로 굴려서 사후분포에 가장 가까운 점을 찾는다. 표본을 뽑아 점근적으로 정답에 다가가는 몬테카를로 방법 계열과 정반대 철학이라, 이 바닥에서는 대체로 “MCMC냐 VI냐”의 구도로 소개된다.
2. ELBO — 최소화할 수 없는 것을 최대화하기[편집]
목적함수에 곧바로 문제가 있다. 안에 계산 못 하는 가 들어 있다. 그런데 로그 증거를 분해하면
라는 항등식이 나오고, 좌변은 와 무관한 상수다.1 KL이 항상 0 이상이므로 는 의 하한이며(증거 하한, Evidence Lower BOund), ELBO 최대화 = KL 최소화가 정확히 동치다. 계산 못 하는 항을 목적함수에서 통째로 소거해 버리는 이 트릭이 VI 전체를 떠받친다.2
ELBO를 다시 쓰면 두 항의 줄다리기가 보인다.
덤으로 최적화가 끝난 뒤의 ELBO 값은 로그 주변가능도의 하한이라, 모형 비교에 (조심스럽게) 쓸 수 있다.3
3. 평균장 근사와 CAVI[편집]
가장 흔한 는 잠재변수를 블록으로 쪼개 독립을 강제하는 평균장(mean-field) 족이다.
각 인자의 함수 형태를 미리 정하지 않고 변분법으로 ELBO를 최대화하면, 최적 인자가 놀랍도록 깔끔하게 나온다.
“나 빼고 나머지 전부에 대해 결합 로그밀도의 기댓값을 취해라.” 이걸 를 돌아가며 반복하는 것이 CAVI(coordinate ascent VI)다. 좌표상승법이므로 ELBO는 매 갱신마다 단조 증가하고 지역 최적점으로 수렴한다 — 학습률도 라인서치도 없다. 모형이 조건부 켤레 지수족이면 위 기댓값이 닫힌 형태로 떨어져서, 갱신식이 기댓값 최대화 알고리즘의 E·M 단계처럼 몇 줄로 정리된다.
대가는 명확하다. 강제한 독립 구조는 절대 회복되지 않는다. 상관이 강한 사후분포를 축에 정렬된 대각 근사로 덮으면, 근사는 그 상관 타원 안쪽에 쭈그러들어 앉는다.
4. EM과의 관계[편집]
기댓값 최대화 알고리즘은 변분 관점의 특수 사례다. 정확히 말하면 이렇다.
- EM은 에 아무 제약을 걸지 않고, 파라미터 는 분포가 아니라 점 추정으로 둔다. 그러면 E-단계의 최적 는 정확한 사후분포 이고, 이때 KL이 정확히 0이 되어 하한이 현재 점에서 로그가능도에 접한다. 접하기 때문에 M-단계 이후 가능도의 단조 증가가 따라 나온다.
- 사후분포가 다루기 힘들어 를 평균장 등으로 제약하면 KL이 0으로 떨어지지 않고, 하한은 접하지 않은 채 아래에 떠 있다. 이것이 변분 EM이다. ELBO의 단조 증가는 여전히 보장되지만, 로그가능도 자체의 단조 증가는 더 이상 보장되지 않는다.
즉 EM은 “E-단계를 정확히 풀 수 있는 운 좋은 경우의 VI”이고, VI는 “E-단계를 근사할 수밖에 없을 때의 EM”이다. 가우시안 혼합 모형에 켤레 사전분포를 얹고 혼합계수·평균·정밀도까지 전부 변분적으로 다루면, 불필요한 성분의 혼합계수가 자동으로 0으로 눌리면서 성분 수가 사실상 알아서 정해지는 현상이 나타난다. 최대가능도 EM에서는 성분을 늘릴수록 가능도가 오르기만 하던 것과 대조적이다.
5. 확률적 VI와 재파라미터화[편집]
데이터가 커지면 CAVI의 한 번의 좌표 갱신조차 전체 데이터를 훑어야 해서 못 쓴다. SVI(stochastic VI)는 미니배치로 자연경사를 불편 추정해 로빈스-먼로 스텝으로 굴린다. 확률적 경사하강법을 추론에 이식한 것.
모형이 켤레가 아니면 기댓값 자체가 안 풀리므로 몬테카를로로 미분을 추정해야 하는데, 여기서 재파라미터화 기법(reparameterization trick)이 결정적이다. 에서 표본을 뽑는 대신
로 쓰면 무작위성이 와 무관한 으로 밀려나고, 가 표본 안쪽까지 곧바로 통과한다. 자동 미분으로 그냥 미분하면 된다는 뜻. 점수함수(REINFORCE) 추정량도 같은 미분을 주지만 분산이 몇 자릿수 크다. 이 기법 위에 제약된 잠재변수를 실수 좌표로 옮기는 변환을 자동화한 것이 ADVI이고, Stan·PyMC에서 모형만 적으면 VI가 돌아가는 이유가 이것이다. 변분 오토인코더도 정확히 같은 기반 위에 서 있다.
6. KL의 방향 — 왜 분산을 과소평가하는가[편집]
VI가 쓰는 것은 역방향 KL 다. 기댓값이 에 대해 취해지므로, 가 거의 0인 곳에서 가 질량을 가지면 가 폭발해 큰 벌점을 받는다. 반대로 에 질량이 있는데 가 0인 영역은 가 0이라 벌점이 사실상 없다. 결과는 최빈값 추구(mode-seeking) — 다봉 사후분포에서 봉우리 하나에 들러붙고, 단봉이어도 폭을 실제보다 좁게 잡는다.
를 쓰면 반대로 질량 포괄(mass-covering)이 되어 봉우리 사이의 골짜기까지 덮어버리는데, 이건 계산에 에 대한 기댓값이 필요해서 애초에 못 쓴다(기대 전파(EP)가 국소적으로 이 방향을 흉내 낸다).
이건 취향 문제가 아니라 안전 문제다. 불확실성 정량화나 역문제의 사후 분석에서 VI를 쓰면, 사후 평균은 그럭저럭 맞아도 신용구간이 실제보다 좁게 나온다. 즉 모델이 실제보다 자신만만해 보인다. 안전 여유를 이 구간으로 잡는 설계라면 그대로 위험으로 이어진다.4 완화책으로 정규화 흐름(normalizing flow)이나 구조화 근사로 를 넓히거나, 중요도 가중 ELBO(IWAE)로 하한을 조이거나, 최종 검증만 마르코프 연쇄 몬테카를로로 돌려 대조하는 방법이 쓰인다.
7. MCMC와의 트레이드오프[편집]
| 항목 | 변분 추론 | MCMC |
|---|---|---|
| 정확도 | 편향이 남음, 상한 없음 | 점근적으로 정확 |
| 속도 | 빠름, 대규모 데이터 가능 | 느림, 차원에 취약 |
| 수렴 판정 | ELBO 정체 (근사 품질과 무관) | R-hat, 유효표본수 등 진단 도구 |
| 결과 성격 | 결정론적, 재현 쉬움 | 확률적 표본 집합 |
가장 불편한 진실은 VI에는 근사 오차의 일반적 한계가 없다는 점이다. ELBO가 평평해졌다는 것은 최적화가 멈췄다는 뜻일 뿐, 사후분포에 가까워졌다는 보장이 아니다. 그래서 실무 처방은 대체로 “탐색·대규모 스크리닝은 VI, 최종 보고용 사후분포는 MCMC”로 정리된다. 계산 예산이 허락하면 두 개를 같은 문제에 돌려 비교해 보는 것이 가장 정직하다 — 둘이 크게 다르면 십중팔구 VI의 근사족이 좁은 것이다.
8. 관련 문서[편집]
- 기댓값 최대화 알고리즘 · 가우시안 혼합 모형
- 몬테카를로 방법 · 마르코프 연쇄 몬테카를로
- 불확실성 정량화 · 역문제
- 가우시안 프로세스 · 베이지안 최적화
- 확률적 경사하강법 · 자동 미분
- 변분법 · 심층 학습
9. Footnotes[편집]
-
젠센 부등식으로도 같은 하한이 즉시 나온다. . 두 유도의 차이는 KL 항이 명시적으로 남느냐 아니냐인데, 남겨두는 쪽이 “얼마나 손해 보는지”가 보여서 교육적이다. 젠센 부등식 참고. ↩
-
이름의 “변분”은 변분법에서 왔다. 함수 에 대해 범함수 를 최대화하는 문제이기 때문. 실제로는 를 파라미터로 못 박고 경사법으로 굴리는 경우가 대부분이라, 변분법 냄새는 CAVI 유도할 때만 잠깐 난다. ↩
-
통계물리의 변분 자유에너지가 그대로 같은 식이다. ELBO에 마이너스를 붙이면 자유에너지, KL 항이 사라지는 조건이 평형. 그래서 이 분야 논문을 읽다 보면 갑자기 온도와 분배함수가 튀어나오는데, 놀라지 않아도 된다. ↩
-
“빠르게 계산한 좁은 신용구간”은 아무것도 계산하지 않은 것보다 위험할 수 있다. 숫자에는 근거가 붙어 있고, 보고서에는 근사 방법이 안 적혀 있기 때문이다. ↩