VAE에서 KL Divergence가 필요한 이유
💡 한마디 요약: "AI가 만드는 특징 지도가 엉망진창이 되지 않도록 가지런히 정돈해 주는 '정리정돈 선생님' 역할"
1. KL Divergence가 없다면? (기존 인코더의 문제점)
만약 KL Divergence 없이 "사진을 복원하는 능력(Reconstruction)"만 학습시키면, AI는 가장 편한 방식대로 지도를 만듭니다.
- 지도가 누더기처럼 찢어집니다: 강아지 A는 (0, 100)에, 강아지 B는 (100, -100)에 뚝 떼어 놓습니다.
- 중간에 '텅 빈 암흑 공간'이 생깁니다: 점과 점 사이 공간에는 아무 정보도 없습니다.
- 새로운 그림을 못 그립니다: 빈 공간의 좌표를 찍어주면, 디코더는 한 번도 본 적 없는 위치라 기괴하게 찌그러진 몬스터 그림을 그리게 됩니다.
2. KL Divergence가 하는 일: "예쁜 종 모양(정규분포)으로 모아라!"
이때 KL Divergence가 등장해서 AI에게 강한 규칙을 부여합니다.
"지도를 네 마음대로 멀리 흩뿌리지 마! 원점 (0,0) 근처에 예쁘고 빽빽한 종 모양(표준정규분포)으로 가지런히 모아두어라!"
KL Divergence는 인코더가 만든 특징 분포가 원하는 표준정규분포와 얼마나 차이 나는지 계산해서, 그 차이를 줄이도록 강제합니다.
✨ 이로 인해 나타나는 2가지 효과:
- 빈틈없는 매끄러운 지도: 점들이 원점 근처로 모이면서 서로의 영역이 자연스럽게 겹치고 연결됩니다. 어디를 찍어도 '비슷한 특징의 중간 모습'이 존재합니다.
- 새로운 창작 가능: 이제 지도의 아무 좌표나 주사위를 굴려 뽑아도, 항상 자연스럽고 완성도 높은 새로운 그림을 얻을 수 있습니다.
3. VAE의 두 가지 힘겨루기 (Loss의 균형)
VAE는 결국 두 개의 힘이 서로 줄다리기를 하며 학습됩니다.
- Reconstruction Loss (복원 손실): "원래 사진이랑 똑같이 그려야 해!" → 특징을 넓게 펼쳐서 구별하고 싶어함
- KL Divergence Loss (정규화 손실): "지도를 정중앙으로 모아서 예쁘게 정돈해야 해!" → 원점 근처로 모으고 싶어함
📌 핵심 정리
VAE에서 KL Divergence가 필요한 이유는 사진 특징들을 지도의 빈 공간 없이 매끄럽고 가지런하게 정돈하여, 세상에 없던 '새로운 이미지'를 자연스럽게 생성해내기 위함입니다.