KL Divergence (쿨백-라이블러 발산) 개념 쉽게 정리
💡 한마디 요약: "내가 생각한 예측이 실제 현실과 얼마나 엉뚱하게 차이 나는지"를 숫자로 나타낸 '착각 측정기'
1. 직관적 예시: 친구의 붕어빵 취향
친구와 함께 붕어빵을 사러 간 상황을 생각해 보세요.
- 실제 친구 취향 (진짜 확률 P): 팥 90%, 슈크림 10% (팥을 압도적으로 선호)
- 내가 한 착각 (내 예상 Q): 팥 50%, 슈크림 50% (반반 좋아하겠지?)
내가 친구 취향을 50:50으로 잘못 알고 붕어빵을 사 오면, 친구는 원하지 않는 슈크림 붕어빵을 받게 되어 아쉬움과 낭비(손실)가 발생합니다.
이때 "내 착각 때문에 발생한 낭비와 불편함의 크기"를 숫자로 계산한 것이 바로 KL Divergence입니다.
- 내 예상이 틀릴수록: KL Divergence 숫자가 크게 나옵니다.
- 내 예상이 정확할수록: KL Divergence 숫자가 0에 가까워집니다.
2. 거리(Distance)와 다른 결정적 차이
"그냥 두 확률 사이의 거리 아니야?"라고 생각할 수 있지만, 한 가지 결정적인 특징이 있습니다.
"A를 기준으로 B를 볼 때"와 "B를 기준으로 A를 볼 때"의 값이 서로 다릅니다. (비대칭성)
서울에서 부산까지의 거리는 왕복 모두 똑같지만, KL Divergence는 방향에 따라 손실의 크기가 달라집니다.
- 팥만 좋아하는 친구(90%)에게 슈크림을 사다 줄 때 느끼는 실망감
- 둘 다 잘 먹는 친구(50%)에게 팥만 사다 줄 때 느끼는 실망감
두 상황에서 발생하는 '실패의 비효율'이 서로 다르기 때문에, 기준을 어디에 두느냐에 따라 결과값이 달라집니다.
3. 인공지능(VAE)에서는 왜 쓰나요?
인공지능이 무언가를 배울 때 KL Divergence는 "선생님의 회초리" 역할을 합니다.
- AI가 사진 특징을 모아서 자신만의 "특징 지도"를 만듭니다.
- 그냥 두면 AI가 지도를 무질서하고 엉망진창으로 아무렇게나 그려놓습니다.
- 이때 KL Divergence가 나타나 "네가 만든 지도가 예쁘고 깔끔한 표준 지도(정규분포)와 얼마나 엉뚱하게 떨어져 있는지" 감시하고 오차를 줄여줍니다.
📌 핵심 정리
KL Divergence는 AI가 지도를 엉키지 않고 깔끔하게 정리하도록 도와주어, 나중에 지도상의 아무 점이나 찍어도 자연스럽고 새로운 그림을 고르게 그려낼 수 있게 만듭니다.
댓글 없음:
댓글 쓰기