I Just Wanted to Understand Cross-Entropy Loss. I Ended Up With a Complete GAN.
Quick Summary
글은 머신러닝을 ‘분포 추정’으로 설명하는 직관이 실제 계산으로 들어가면 왜 곧바로 난관에 부딪히는지 보여주고, 교차엔트로피·KL 발산·최대우도·샘플링·신경망 생성기까지 하나의 흐름으로 연결한다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
글은 머신러닝을 ‘분포 추정’으로 설명하는 직관이 실제 계산으로 들어가면 왜 곧바로 난관에 부딪히는지 보여주고, 교차엔트로피·KL 발산·최대우도·샘플링·신경망 생성기까지 하나의 흐름으로 연결한다.
📌 핵심 요약
- 저자는 머신러닝이 결국 데이터의 실제 분포를 추정하는 일이라는 설명에서 출발하지만, 실제 목표식 θ* = argmin D(p_data, p_θ)를 쓰는 순간 p_data도 p_θ도 명시적으로 알 수 없고 고차원 적분도 계산할 수 없다는 세 가지 문제가 드러난다고 설명한다.
- 모델은 단순히 예측하는 장치가 아니라 추정하려는 분포의 파라미터화된 근사이며, 신경망은 보편 근사 정리 덕분에 충분한 용량이 있으면 다양한 함수를 근사할 수 있지만, 그 정리는 좋은 가중치의 존재만 말할 뿐 학습 성공이나 일반화는 보장하지 않는다.
- 본문은 확률과 likelihood의 차이를 분명히 한다. CDF의 한 점 값은 0과 1 사이의 확률이지만, density의 한 점 값은 확률이 아니라 likelihood이며 임의의 양수가 될 수 있고, 실제 확률은 밀도를 구간에 대해 적분할 때 얻어진다.
- F-divergence라는 일반적 거리 틀에서 f(u)=u log u를 택하면 KL 발산이 나오고, 이를 전개하면 θ와 무관한 데이터 엔트로피 항은 사라진다. 남는 항은 최대우도 추정과 같으며, 따라서 KL 발산 최소화·최대우도·교차엔트로피 최소화는 서로 다른 세 기법이 아니라 같은 목적을 다른 관점에서 본 것이다.
- 알 수 없는 실제 분포에 대한 적분은 기대값으로 해석되고, 약한 대수의 법칙에 의해 데이터 샘플 평균으로 근사된다. 이 때문에 학습 데이터에 대한 평균 손실을 최소화하는 절차가 단순한 편의가 아니라, 보이지 않는 실제 분포의 기대값을 샘플로 대체하는 핵심 통계적 장치가 된다.
🧩 주요 포인트
- 저자는 머신러닝이 결국 데이터의 실제 분포를 추정하는 일이라는 설명에서 출발하지만, 실제 목표식 θ* = argmin D(p_data, p_θ)를 쓰는 순간 p_data도 p_θ도 명시적으로 알 수 없고 고차원 적분도 계산할 수 없다는 세 가지 문제가 드러난다고 설명한다.
- 모델은 단순히 예측하는 장치가 아니라 추정하려는 분포의 파라미터화된 근사이며, 신경망은 보편 근사 정리 덕분에 충분한 용량이 있으면 다양한 함수를 근사할 수 있지만, 그 정리는 좋은 가중치의 존재만 말할 뿐 학습 성공이나 일반화는 보장하지 않는다.
- 본문은 확률과 likelihood의 차이를 분명히 한다. CDF의 한 점 값은 0과 1 사이의 확률이지만, density의 한 점 값은 확률이 아니라 likelihood이며 임의의 양수가 될 수 있고, 실제 확률은 밀도를 구간에 대해 적분할 때 얻어진다.
- F-divergence라는 일반적 거리 틀에서 f(u)=u log u를 택하면 KL 발산이 나오고, 이를 전개하면 θ와 무관한 데이터 엔트로피 항은 사라진다. 남는 항은 최대우도 추정과 같으며, 따라서 KL 발산 최소화·최대우도·교차엔트로피 최소화는 서로 다른 세 기법이 아니라 같은 목적을 다른 관점에서 본 것이다.
- 알 수 없는 실제 분포에 대한 적분은 기대값으로 해석되고, 약한 대수의 법칙에 의해 데이터 샘플 평균으로 근사된다. 이 때문에 학습 데이터에 대한 평균 손실을 최소화하는 절차가 단순한 편의가 아니라, 보이지 않는 실제 분포의 기대값을 샘플로 대체하는 핵심 통계적 장치가 된다.
🧠 상세 정리
1. ‘분포 추정’이라는 설명이 만나는 첫 번째 절벽
글은 머신러닝을 ‘알 수 없는 데이터 분포를 추정하는 일’로 보는 설명에서 시작한다. 이 관점은 선형회귀, 이미지 분류, 대형 언어모델처럼 겉으로 전혀 달라 보이는 문제들을 같은 틀 안에 넣어 준다는 점에서 강력하다. 그러나 저자는 이 문장이 결론이 아니라 출발점이며, 실제로 계산 가능한 목표로 바꾸는 순간 문제가 생긴다고 말한다. θ* = argmin_θ D(p_data, p_θ)라는 깔끔한 식은 실제 데이터 분포와 모델 분포 사이의 거리를 최소화하라는 뜻이지만, 현실에서는 두 분포를 모두 명시적으로 알 수 없고 고차원 공간의 적분도 감당하기 어렵다. 따라서 이 글의 핵심 문제의식은 ‘좋은 정의’가 아니라 ‘그 정의를 어떻게 실제 학습 알고리즘으로 바꾸는가’에 놓여 있다.
2. 모델은 예측기가 아니라 분포의 파라미터화된 근사
저자는 ‘모델’이라는 말을 먼저 엄밀히 고정한다. 모델은 단순히 어떤 값을 예측하는 장치가 아니라, 추정하려는 분포를 파라미터 θ로 표현한 근사 p_θ이다. 딥러닝에서 이 역할을 신경망이 맡는 이유는 보편 근사 정리 때문이다. 충분한 용량이 있는 신경망은 본질적으로 다양한 함수를 임의의 정확도로 근사할 수 있다는 존재 정리를 제공한다. 다만 저자는 이 정리가 매우 중요한 한계를 갖는다고 강조한다. 좋은 가중치가 존재한다는 말은 경사하강법이 그 가중치를 찾아낸다는 뜻도 아니고, 필요한 뉴런 수나 일반화 성능을 보장한다는 뜻도 아니다.
3. 확률과 likelihood를 구분해야 하는 이유
본문은 확률밀도함수와 누적분포함수를 구분하는 짧지만 중요한 우회를 포함한다. CDF를 한 점에서 평가하면 그 값은 0과 1 사이에 있는 실제 확률이다. 반면 PDF, 즉 density를 한 점에서 평가한 값은 확률이 아니라 likelihood이며, 4나 4,000처럼 1보다 큰 양수도 될 수 있다. 확률은 density의 점값이 아니라 어떤 구간에 대해 적분할 때 비로소 얻어진다. 저자는 자신이 오랫동안 density의 출력을 확률처럼 취급해 왔다고 고백하며, 이 차이가 분포 사이의 거리를 다루는 뒤의 논의에서 하중을 받는 개념이라고 설명한다.
4. F-divergence로 거리의 가족을 세우다
분포 사이의 거리를 하나로 고정하는 대신, 저자는 F-divergence라는 전체 가족을 도입한다. 여기서는 볼록이고 lower-semicontinuous이며 f(1)=0을 만족하는 함수 f를 고르면 하나의 divergence가 나온다. 직관적으로는 평면 위 두 점 사이의 거리를 유클리드 거리로도, 맨해튼 거리로도 잴 수 있는 것과 비슷하다. 다만 여기서의 ‘점’은 단일 좌표가 아니라 전체 확률분포다. 유효한 f를 택하면 divergence는 음수가 아니며, 두 분포가 같을 때만 0이 되는 성질을 갖는다. 저자는 이 두 번째 성질이 뒤에서 실제로 중요한 역할을 한다고 예고한다.
5. 교차엔트로피·KL 발산·최대우도의 동일성
F-divergence에서 f(u)=u log u를 선택하면 식이 KL 발산으로 정리된다. 로그를 나누어 전개하면 한 항은 실제 데이터 분포의 엔트로피가 되는데, 이 항은 모델 파라미터 θ와 무관하므로 최적화 관점에서는 상수로 떨어져 나간다. 남는 항의 부호를 바꾸면 결국 모델이 실제 데이터에 높은 likelihood를 부여하도록 만드는 최대우도 추정이 된다. 그 과정에서 최소화하던 −∫ p log p_θ가 바로 교차엔트로피다. 따라서 저자의 핵심 정리는 분명하다. KL 발산 최소화, 최대우도 추정, 교차엔트로피 최소화는 서로 별개의 기법이 아니라 같은 수학적 목표를 세 방향에서 바라본 것이다.
6. 알 수 없는 분포를 데이터 평균으로 대체하는 통계적 장치
문제는 여전히 실제 분포 p(x)를 모르기 때문에 ∫ p(x) log p_θ(x) dx 같은 적분을 직접 계산할 수 없다는 점이다. 저자는 여기서 기대값의 정의와 약한 대수의 법칙을 연결한다. 어떤 함수 g(X)의 기대값은 원래 밀도 p에 대해 적분한 값이고, 독립동일분포 샘플이 충분히 많으면 그 기대값은 샘플 평균으로 근사된다. 데이터셋은 바로 실제 분포에서 온 샘플들의 모음이므로, 보이지 않는 p(x)를 명시적으로 쓰지 않고도 평균 손실을 계산할 수 있다. 저자는 강의에서 흔히 말하는 ‘데이터셋 평균 손실을 최소화하라’는 지시가 편의적 요령이 아니라, 계산 불가능한 기대값을 대수의 법칙으로 우회하는 핵심이라고 설명한다.
7. 일반 divergence에서는 또 하나의 최적화 문제가 생긴다
KL 발산에서는 p_θ가 식에서 깔끔하게 정리되지만, 일반적인 f를 택하면 p와 p_θ의 비율이 함수 안에 남아 샘플 평균만으로는 바로 다루기 어렵다. 저자는 이를 풀기 위해 볼록 켤레(convex conjugate)를 도입한다. 볼록 함수 f는 켤레 함수 f*를 통해 다시 표현될 수 있고, 이 표현을 divergence에 대입한 뒤 supremum을 적분 밖으로 밀어내면 최적화 대상이 숫자가 아니라 함수 T(x)가 된다. 그 결과 divergence는 실제 데이터에 대한 기대값과 모델에 대한 기대값의 차이로 표현되며, 둘 다 샘플로 추정할 수 있는 형태가 된다. 다만 이 과정은 divergence 계산 자체를 T에 대한 내부 최적화 문제로 바꾸며, 바깥쪽의 θ 최적화와 함께 중첩된 두 최적화 문제를 만든다.
8. 신경망이 샘플러가 되는 방식
마지막으로 저자는 모델 분포 p_θ에서 샘플을 뽑는다는 말이 실제로 무엇을 뜻하는지 설명한다. 출발점은 uniform 분포처럼 이미 샘플링할 수 있는 분포이며, 고전적 예로 Box–Muller 변환은 uniform 샘플을 결정론적 함수에 통과시켜 표준 가우시안 샘플을 만든다. 일반화하면, 가우시안 같은 입력 z를 신경망 G_θ에 넣어 x̂=G_θ(z)를 만들 수 있고, 이 출력은 가중치 θ에 의해 정해지는 어떤 분포 p_θ의 샘플이 된다. 네트워크 자체는 같은 입력에 항상 같은 출력을 내는 결정론적 함수이며, 유일한 무작위성은 z에서 들어온다. 학습 중 출력이 계속 달라지는 것은 함수가 무작위적이어서가 아니라, 매 스텝마다 가중치가 바뀌어 다른 함수가 되기 때문이다.
🧾 핵심 주장 / 시사점
- 교차엔트로피 손실을 단순한 API 이름으로 외우는 대신 KL 발산과 최대우도에서 어떻게 나오는지 추적하면, 분류 모델 학습의 의미가 ‘정답을 맞히기’보다 ‘데이터에 높은 likelihood를 주는 분포를 찾기’에 가깝다는 점이 선명해진다.
- 데이터셋 평균 손실은 임의로 고안된 실용적 편법이 아니라, 실제 분포에 대한 기대값을 샘플 평균으로 대체하는 대수의 법칙의 적용이다. 이 관점에서는 데이터의 양이 왜 모델 학습에서 구조적으로 중요한지 수학적으로 설명된다.
- 신경망 생성 모델에서 ‘분포를 안다’는 것은 그 분포의 닫힌형 식을 안다는 뜻이 아니라, 기본 잡음 분포에서 샘플을 뽑아 결정론적 변환을 거쳐 원하는 형태의 샘플을 만들 수 있다는 뜻이다.
✅ 액션 아이템
- 분포 추정 관점의 목표식 θ* = argmin D(p_data, p_θ)에서 p_data와 p_θ 미지성 및 고차원 적분 난제를 먼저 분리하고 적용 가능 범위를 정의한다.
- 보편 근사 정리로 충분한 함수 근사가 가능하더라도 학습 성공·일반화가 보장되지 않으므로 최적화 안정성과 검증 성능을 병행해 점검한다.
- 교차엔트로피·KL·최대우도 관계를 동일한 목적식으로 정렬해 θ와 무관한 항을 제외하고 로그가능도 기반 손실 구현을 점검한다.
❓ 열린 질문
- 샘플 평균으로 기대값을 대체할 때 실제 분포 적분 오차를 어느 기준으로 관리하면 고차원 적분 한계를 실무적으로 완화할 수 있는가?
- 밀도값이 확률이 아닌 likelihood임을 팀 보고서에서 어떤 용어와 표기 규약으로 일관되게 반영할 것인가?
- KL 발산과 최대우도·교차엔트로피의 동치성에서 학습 모니터링 지표를 어떤 형식으로 통일하면 해석 혼선을 줄일 수 있는가?