분포 거리 측정 (Part 2) - Forward vs Reverse KL, 그리고 VAE
Forward KL과 Reverse KL의 차이, Mode-covering과 Mode-seeking 행동의 이해. VAE의 Reparameterization Trick까지 상세 설명.
들어가며
Part 1에서 KL Divergence의 정의와 정보이론적 의미를 살펴봤습니다. 그런데 한 가지 의문이 남습니다. KL Divergence가 비대칭적이라면, 와 중 어떤 것을 사용해야 할까요?
이 선택은 단순한 수학적 문제가 아닙니다. ML 모델의 학습 행동을 근본적으로 바꿉니다. 이번 글에서는 Forward KL과 Reverse KL의 차이를 깊이 이해하고, VAE에서 Reparameterization Trick이 왜 필요한지 알아보겠습니다.
1. Mode란 무엇인가
Forward와 Reverse KL을 이해하려면 먼저 mode 개념을 알아야 합니다.
정의
확률 분포에서 mode는 확률 밀도가 가장 높은 지점(peak, 봉우리)입니다.
Unimodal (단봉): Bimodal (쌍봉):
∩ ∩ ∩
_/ \_ _/ \_ _/ \_
↑ ↑ ↑
mode mode1 mode2
Multimodal (다봉):
∩ ∩ ∩
_/ \/ \__/ \_
↑ ↑ ↑
mode들
실제 예시
게임 플레이 시간 분포:
플레이어 수
↑
│ ∩ ∩
│ /│\ /│\
│/ │ \ / │ \
└──┴──┴────────────────┴──┴───→ 플레이 시간
30분 4시간
(캐주얼) (하드코어)
캐주얼 유저와 하드코어 유저가 만드는 bimodal 분포입니다.
거래 금액 분포:
거래 수
↑
│∩ ∩
││\ /│
││ \ / │
└┴──────────────────────┴──→ 금액
정상 거래 사기 거래
(소액 다수) (고액 소수)
정상 거래와 이상 거래가 서로 다른 mode를 형성합니다.
2. Forward KL:
수식 전개
핵심: P에서 샘플링하고, P와 Q의 비율을 평가합니다.
페널티 구조
- P(x) > 0인데 Q(x) ≈ 0이면 → → 큰 페널티
- P(x) ≈ 0이면 → 해당 항이 0에 가까움 → 페널티 없음
P(x) > 0, Q(x) = 0: 무한대 페널티! ← Forward KL이 싫어하는 상황
P(x) = 0, Q(x) > 0: 페널티 없음 ← Forward KL은 신경 안 씀
결과: Mode-Covering 행동
Forward KL을 최소화하면, Q는 P가 존재하는 모든 곳을 커버하려고 합니다.
실제 분포 P (bimodal):
∩ ∩
_| |_________|_|_
A B
Forward KL 최소화로 학습된 Q:
_____∩∩∩∩∩_____
|_______________|
→ 두 mode를 모두 커버
→ 결과적으로 넓게 퍼진 분포
왜 이렇게 되는가?
A 지점이든 B 지점이든, P가 있는 곳에서 Q가 0이면 안 됩니다. 그래서 Q는 A와 B 사이를 모두 포함하는 넓은 분포가 됩니다. 심지어 P가 0인 중간 영역까지 커버합니다.
3. Reverse KL:
수식 전개
핵심: Q에서 샘플링하고, Q와 P의 비율을 평가합니다.
페널티 구조
- Q(x) > 0인데 P(x) ≈ 0이면 → 큰 페널티
- Q(x) ≈ 0이면 → 페널티 없음
Q(x) > 0, P(x) = 0: 무한대 페널티! ← Reverse KL이 싫어하는 상황
Q(x) = 0, P(x) > 0: 페널티 없음 ← Reverse KL은 신경 안 씀
결과: Mode-Seeking 행동
Reverse KL을 최소화하면, Q는 P의 한 mode에 집중합니다.
실제 분포 P (bimodal):
∩ ∩
_| |_________|_|_
A B
Reverse KL 최소화로 학습된 Q:
∩
__|_|__
→ 하나의 mode에만 집중
→ 좁고 정확한 분포
왜 이렇게 되는가?
Q가 P의 support 밖으로 나가면 큰 페널티를 받습니다. 가장 안전한 전략은 P의 한 mode 안에만 머무르는 것입니다. 다른 mode를 무시하더라도(P(x) > 0, Q(x) = 0) 페널티가 없으니까요.
