00. 기초 — cross-entropy를 읽기 위한 공통 토대
목차
이 학습서는 cross-entropy(교차 엔트로피) 손실함수를 정보이론의 뿌리부터 gradient·실전까지 학부생이 순서대로 따라 읽도록 쓴 한 권의 심화 학습서다. 이 장은 이후 모든 장이 다시 정의하지 않고 가져다 쓰는 공통 어휘·기호·비유를 정의한다. 특히 §0.6의 기호 규약은 끝 장까지 그대로 간다. 막히면 이 장으로 돌아오라.
이 책을 다 읽고 나면 다음 한 줄짜리 정의가 익숙해진다.
cross-entropy(CE) — 분류의 표준 손실. 모델이 정답 클래스에 준 확률을 라 하면 . 정답에 확신할수록() 손실 0, 의심할수록() 무한대. 직관: "정답에 얼마나 놀랐는가".
이 정의가 왜 이렇게 생겼는지를 한 칸씩 풀어 가는 것이 이 책이다. 정보이론의 "놀람"에서 출발한다. 거기서 softmax가 확률을 만드는 과정으로, gradient가 왜 로 깔끔해지는지로, 끝으로 실무의 함정으로 이어진다.
0.1 우리가 푸는 문제 — 왜 손실이 필요한가
신경망을 학습시킨다는 것은 손실(loss)을 줄이는 일이다. 손실이란 "모델의 답이 정답에서 얼마나 멀리 떨어졌나"를 재는 한 숫자다. 이 숫자가 클수록 모델이 많이 틀린 것이다. 학습은 이 숫자를 작게 만드는 방향으로 모델의 파라미터를 조금씩 고친다.
분류(classification) 문제에서는 모델의 답이 단순한 "예/아니오"가 아니다. 사진 한 장을 보고 "개·고양이·새 중 무엇인가"를 푸는 모델은 정답을 하나로 찍지 않는다. 대신 각 클래스에 확률을 매긴 분포를 내놓는다. 예컨대 "개 70%, 고양이 20%, 새 10%"다. 정답이 '개'라면 이 예측은 꽤 좋고, 정답이 '새'라면 형편없다.
그러면 "예측 확률분포가 정답에서 얼마나 떨어졌나"를 어떻게 한 숫자로 잴까. 이 질문의 답이 cross-entropy 손실이다. 그리고 이 손실이 왜 그렇게 생겼는지 이해하려면 "확률분포 사이의 거리 비슷한 것"을 재는 정보이론의 언어를 먼저 빌려야 한다. 그래서 이 책은 다음 흐름으로 간다.
위 그림은 정보이론에서 출발해 분류 손실·gradient·실전을 거쳐 결론으로 가는 책 전체의 순서다. 이 장은 그 흐름에 필요한 토대를 준비한다. 확률·로그·기댓값을 짧게 복습하고, "모델 출력이 확률분포"라는 그림과 one-hot 라벨을 정한 뒤, 마지막으로 책 전체의 기호 규약을 정한다.
0.2 사전 준비 ① — 이산 확률분포
확률분포는 "각 결과가 일어날 확률을 모아 놓은 표"다. 결과가 유한개 인 이산(discrete) 경우, 분포는 각 결과에 확률을 주되 다음 두 조건을 지킨다.
각 확률은 0과 1 사이이고, 전부 더하면 정확히 1이다. 확률 총량 1을 여러 결과에 나눠 담은 것이라고 보면 된다.
세 가지 극단을 이름과 함께 기억해 두자. 책 전체에서 계속 나온다.
- 균등분포(uniform). 모든 결과가 같은 확률이다. 공정한 6면 주사위가 이다. 결과를 "가장 모르는" 상태다.
- 편향분포(biased). 한쪽으로 쏠린 분포다. 찌그러진 동전이 이다.
- 확정분포(degenerate). 한 결과가 확률 1, 나머지는 0이다. "반드시 앞면"인 가짜 동전이 이다. "전혀 안 헷갈리는" 상태다.
분류 문제에는 두 개의 분포가 등장한다. 그 둘의 관계가 이 책의 주인공이다.
- 진짜 분포(true distribution) — 정답 라벨이 알려주는 분포다. 정답이 '개' 하나로 확정이면, 이건 '개'에 확률 1을 준 확정분포다.
- 모델 예측 분포(predicted distribution) — 모델이 내놓은 확률 벡터다. "개 70%, 고양이 20%, 새 10%" 같은 것이다. softmax가 만든다(§0.4).
cross-entropy는 이 두 분포가 얼마나 어긋나 있는지를 잰다.
0.3 사전 준비 ② — 로그의 세 성질
cross-entropy의 정의에는 항상 로그(log)가 들어간다. 왜 하필 로그인지는 01장에서 깊게 따진다. 그 전에 우리가 쓸 성질 셋만 손에 쥐자.
| 성질 | 식 | 우리가 쓰는 곳 |
|---|---|---|
| 단조증가 | 큰 확률 → 큰 로그 → 작은 손실 | |
| 곱→합 | 독립 사건의 정보 가산성(01장 §1.2), 우도의 곱→합(01장 §1.6) | |
| 나눗셈→뺄셈 | KL = CE − H 분해(01장 §1.5) |
여기에 결정적인 두 끝값을 외워 두자. 이것이 cross-entropy의 모든 직관의 씨앗이다.
확률이 0에 가까운 일에 를 씌우면 무한대로 커진다. 확률 1인 일에 씌우면 정확히 0이다. 이것이 "정답을 확신하면 손실 0, 의심하면 무한대"라는 한 줄 정의의 수학적 뿌리다.
로그의 밑(base) — bit인가 nat인가
로그에는 밑(base)이 있고, 그 밑이 정보량의 단위를 정한다. 값은 밑만 다르고 본질은 같다. 로 환산되며, 이다.
| 밑 | 단위 | 표기 | 주 사용처 |
|---|---|---|---|
| bit | 통신·부호화 직관("예/아니오 질문 몇 번?") | ||
| nat | 머신러닝의 기본 (미분이 깔끔: ) |
이 책은 단위를 이렇게 쓴다. 직관을 설명할 때는 bit를 쓴다. 예/아니오 질문 횟수가 와닿기 때문이다. 손실·gradient 같은 ML 수식에는 nat()을 쓴다. PyTorch의 cross_entropy, log_softmax, nll_loss가 전부 자연로그 기반이기 때문이다. 헷갈릴 만한 곳마다 단위를 명시한다. 둘은 상수배()만 다르므로 어느 쪽으로 최소화하든 최적 파라미터는 같다.
0.4 사전 준비 ③ — 기댓값, 그리고 "출력 = 확률분포"
기댓값 — 확률로 가중한 평균
확률변수 에 대해 어떤 함수 의 기댓값(expectation)은 각 값을 그 확률로 가중해 더한 것이다.
직관은 "를 아주 많이 반복 측정하면 평균적으로 나오는 값"이다. 예컨대 주사위 눈의 기댓값은 다. 이 책의 모든 엔트로피류 양(entropy·cross-entropy·KL)은 "어떤 함수의 기댓값"이라는 한 가지 틀로 정의된다. 그래서 위 식 하나만 쥐고 있으면 된다.
모델 출력은 확률분포다 — softmax / sigmoid
분류 모델의 마지막 층은 raw 점수를 내놓는다. 이를 로짓(logit)이라 부르고 기호로 로 쓴다. 로짓은 어떤 실수든 될 수 있다. 음수도 되고, 합이 1이 아니어도 된다. 이 raw 점수를 0~1의 확률로 바꿔 주는 변환기가 둘 있다(자세한 정의는 02장).
- softmax — 여러 클래스가 상호배타(정답이 정확히 하나)일 때 쓴다. 개 로짓을 받아 합이 1인 확률분포를 만든다.
- sigmoid — 이진 또는 독립 다중 라벨일 때 쓴다. 로짓 하나를 받아 "양성일 확률" 하나를 만든다.
요점은 한 줄이다. 모델의 출력은 곧 확률분포다. 그 분포가 정답 분포에서 얼마나 떨어졌나를 cross-entropy가 잰다.
one-hot 라벨
정답 라벨은 보통 one-hot 벡터로 표현한다. 정답 자리만 1, 나머지는 0이다. 정답이 클래스 인 =3 문제의 라벨은 다음과 같다.
이 one-hot 벡터는 사실 §0.2에서 말한 확정분포다. "정답 클래스에 확률 1을 몰아준 진짜 분포"다. 01장에서 보겠지만, 라벨이 one-hot이라는 사실 덕분에 cross-entropy의 복잡한 합이 단 한 항 로 깔끔하게 줄어든다.
위 그림은 입력이 신경망을 지나 로짓 가 되고, softmax나 sigmoid가 예측 분포 를 만들고, 그 와 정답 를 cross-entropy가 받아 손실 한 숫자를 내는 흐름이다. 이 그림이 책 전체의 등장인물 지도다.
0.5 손실 함수 한 줄 정의 — 이 책이 풀어쓸 대상
이 학습서의 출발점은 어느 ML 교재의 §0.5 한 절이었다. 약 15줄로 축약돼 이해가 어려웠던 그 절의 핵심은 이렇다.
cross-entropy(CE). 분류 태스크의 표준 손실. 모델이 정답 클래스에 준 확률을 라 하면 . 정답에 확신할수록() 손실이 0에 가깝고, 의심할수록() 무한대로 커진다. 직관: "정답에 얼마나 놀랐는가".
정답 클래스 확률 . 이진 분류에서 정답 라벨이 , 모델이 추정한 양성 확률이 일 때, "정답에 준 확률"을 로 정의한다. 그러면 cross-entropy가 두 경우 모두 로 합쳐진다. 이면 쉬운(easy) 샘플, 작으면 어려운(hard) 샘플이다.
이 두 단락을 풀어쓴 것이 이 책이다. 01장은 "가 사실 cross-entropy의 특수경우"임을 보인다. 02장은 "로 합치는" 정체를 푼다. 03장은 "왜 gradient가 로 깔끔한가"를 유도한다. 04장은 실전 함정을 다룬다.
이 책의 범위 밖 한 가지 — Focal Loss. 위에서 이면 easy, 작으면 hard라 했다. "이미 잘 맞히는 easy 샘플의 손실을 깎고 어려운 샘플에 집중"하도록 CE를 변조한 확장이 Focal Loss 다. 이 책은 그 다리(02장 §2.3, 04장 §4.3)만 놓고, 깊은 유도는 별도 주제로 안내한다. 이 책의 주제는 cross-entropy 그 자체다.
0.6 공통 기호 규약 — 끝까지 일관되게 쓴다 (중요)
이 책을 읽다 막히는 가장 흔한 지점은 기호다. 같은 글자가 장마다 다른 뜻이면 길을 잃는다. 그래서 여기서 한 번 정해 두고, 이후 장은 이 표를 가져다 쓰기만 한다.
| 기호 | 읽기 | 뜻 | 처음 깊게 다루는 곳 |
|---|---|---|---|
| "지" | 로짓(logit) — 정규화 안 된 raw 점수. 음수·합≠1 허용 | 02장 §2.1 | |
| "큐" | 모델 예측 분포 — softmax 출력. 합=1 | 02장 §2.1 | |
| "큐 씨" | 모델이 정답 클래스 에 준 확률 | 01장 §1.4, 02장 §2.2 | |
| "와이" | 타깃(정답) 분포 — one-hot 또는 soft label | 00장 §0.4 | |
| "피 티" | 정답 클래스 확률 — 이진/통합 표기. easy, 작으면 hard | 00장 §0.5, 02장 §2.3 | |
| "에이치 피" | entropy — 분포 의 평균 놀람(불확실성) | 01장 §1.2 | |
| "에이치 피 큐" | cross-entropy — 의 놀람을 로 평균 | 01장 §1.3 | |
| "케이엘" | KL divergence — 를 로 믿을 때의 추가 낭비 | 01장 §1.5 | |
| "엡실론" | label smoothing 강도(보통 0.1) | 04장 §4.2 | |
| "감마" | Focal의 focusing 파라미터 (이 책은 다리만) | 02장 §2.3 |
⚠ 기호 의 두 얼굴 — 반드시 구분하라
이 책에서 글자 는 문맥에 따라 정반대 두 가지를 뜻한다. 합본 학습서에서 학습자가 가장 잘 막히는 지점이라 여기서 명시적으로 분리한다.
| 표기 | 뜻 | 어디 측인가 | 등장 장 |
|---|---|---|---|
| (또는 "진짜 분포 ") | 진짜(라벨) 확률분포 — cross-entropy 에서 가중치 역할을 하는 분포 | 정답 측 | 01장(정보이론) |
| (또는 "예측 양성확률") | 모델이 예측한 양성 확률 — 이진 분류에서 sigmoid가 낸 값. gradient 의 가 이것 | 예측 측 | 02·03장(이진 분류) |
01장의 는 "정답이 알려주는 분포"다. 우리가 맞춰야 할 목표다. 02·03장 이진의 는 "모델이 내놓은 예측"이다. 우리가 고쳐야 할 출력이다. 정반대 측이다. 그래서 이렇게 읽는다.
- 정보이론 장(01)에서 를 보면 진짜 분포로 읽는다. 목표다.
- 이진 분류·gradient 장(02·03)에서 또는 를 보면 모델의 예측 양성확률로 읽는다. 출력이다.
- gradient 식 (=예측 − 정답)의 는 후자, 예측 측이다. 01장의 진짜 분포 와 혼동하지 말라.
혼동을 막기 위해 이 책은 이진 예측 확률을 일관되게 로 쓴다. softmax 예측 분포는 다. 진짜 분포가 필요한 곳은 로 맥락을 명시한다.
이 책에 등장하지 않는 기호. "태스크 선택 확률" 는 멀티태스크 스케줄링의 기호다. 이 책은 cross-entropy 자체가 주제라 는 등장하지 않는다. 다른 자료에서 가 "태스크 선택 확률"로 쓰인 걸 봤더라도, 이 책의 는 언제나 정답 클래스 확률(분류 난이도)이다.
0.7 이 책을 읽는 법
- 순서대로 읽으라. 00 → 01 → ... → 06. 각 장 끝이 다음 장으로 잇는다. 뒷장은 앞장 정의를 가져다 쓰기만 하므로 건너뛰면 막힌다.
- 수식은 LaTeX, 흐름은 Mermaid. 수식은 안에 있다. 개념의 흐름·관계·구조는 Mermaid 다이어그램 소스로 있다(렌더하면 그림이 된다).
- 막히면 이 장으로. 처음 보는 기호는 §0.6 표로, 처음 보는 용어는 GLOSSARY로 돌아오라.
- 종합 결론·치트시트·결정표가 필요하면 06장으로 가라. 결론은 거기에 단일화돼 있다.
다음 장은 cross-entropy의 뿌리인 정보이론으로 내려간다. "한 사건의 놀람"이라는 작은 개념에서 출발해 entropy와 cross-entropy로 이어 가며, 끝에서 가 cross-entropy의 특수경우임을 보인다.