이 글은 AI의 도움을 받아 작성되었습니다.
정보이론(information theory)을 제대로 배우는 한글 커리큘럼
부제: 놀라움의 양에서 언어 모델의 손실 함수까지
작성된 원고: Chapter 1. 정보란 무엇인가 · Chapter 2. 확률은 불확실성을 표현하는 언어다 · Chapter 3. 엔트로피: 평균적으로 얼마나 놀라운가
0. 이 책의 목표
이 책은 정보이론을 처음 접하는 독자가 다음 질문에 스스로 답할 수 있도록 돕는다.
- 왜 확률이 낮은 사건일수록 더 많은 정보를 주는가?
- 엔트로피(entropy)는 무엇을 재며, 왜 단위가 비트(bit)인가?
- 평균 코드 길이(average code length)와 엔트로피는 왜 연결되는가?
- 교차 엔트로피(cross-entropy)와 쿨백–라이블러 발산(Kullback–Leibler divergence, KL divergence)은 머신러닝에서 왜 반복해서 등장하는가?
- 상호정보량(mutual information, MI)은 두 변수가 공유하는 정보를 어떻게 재는가?
- 잡음 채널(noisy channel)에서도 정보를 안정적으로 보낼 수 있는 이유는 무엇인가?
- 언어 모델의 다음 토큰 예측(next-token prediction), 음의 로그 가능도(negative log-likelihood, NLL), 퍼플렉서티(perplexity)는 정보이론과 어떻게 연결되는가?
목표 독자는 고등학교 수준의 함수와 로그를 알고, 확률을 조금 배웠지만 정보이론은 처음인 사람이다. 미적분과 선형대수는 필요한 순간에 짧게 복습한다. 증명을 피하지 않되, 모든 정의는 먼저 구체적인 문제에서 필요성을 느낀 뒤 소개한다.
이 책을 마친 독자는 공식을 외우는 데 그치지 않고 다음을 할 수 있어야 한다.
- 간단한 분포의 엔트로피, 교차 엔트로피, KL 발산, 상호정보량을 직접 계산한다.
- 각 양의 의미와 단위를 일상 언어로 설명한다.
- 계산 결과가 직관과 일치하는지 극단적인 사례로 검산한다.
- 간단한 압축기, 잡음 채널, 오류 정정 코드를 코드로 실험한다.
- 언어 모델의 손실과 퍼플렉서티를 정보이론의 언어로 해석한다.
- 정보이론적 설명이 엄밀한 결론인지, 단지 유용한 비유인지 구분한다.
전문 용어 표기 원칙
원문과 한글 번역의 대응을 놓치지 않도록 이 시리즈에서는 다음 규칙을 사용한다.
- 중요한 용어는 각 글의 첫 등장과 절 제목에서
한글(영어)로 표기한다. - 약어가 널리 쓰이면
한글(영어, 약어)로 함께 정의한다. 예를 들어음의 로그 가능도(negative log-likelihood, NLL)처럼 쓴다. - 한 번 정의한 뒤에는 문맥이 분명한 범위에서 한글 또는 약어만 사용한다.
- 번역만으로 뜻이 달라질 수 있는 용어는 각 장의 핵심 용어 표에 원문과 정의를 함께 적는다.
1. 책 전체의 학습 설계
각 장은 같은 리듬으로 구성한다.
- 질문: 이번 장의 개념이 없으면 풀기 어려운 문제를 제시한다.
- 직관: 동전, 주사위, 날씨, 문자 메시지처럼 작은 예시로 생각한다.
- 정의: 직관을 수식으로 압축한다.
- 손계산: 가능한 결과가 2~4개인 예제를 직접 계산한다.
- 성질과 증명: 왜 그런 성질을 만족하는지 확인한다.
- 코드 실험: Python으로 분포를 바꾸며 결과를 관찰한다.
- LLM 연결: 다음 토큰 예측(next-token prediction)과 어떤 관계가 있는지 살펴본다.
- 오해 방지: 자주 섞어 쓰는 개념과 비유의 한계를 정리한다.
- 회상 문제: 책을 덮고 답할 수 있는지 확인한다.
예시는 가능한 한 세 층으로 반복한다.
- 생활 예시: 스무고개, 일기예보, 비밀번호, 오타가 섞인 문자
- 작은 수학 예시: 베르누이 변수(Bernoulli variable), 두 개의 주사위, 4개 토큰의 분포
- LLM 예시: 다음 토큰 분포, 토큰화(tokenization), 교차 엔트로피 손실(cross-entropy loss), 샘플링(sampling)
수식은 다음 원칙으로 소개한다.
- 기호를 쓰기 전에 그 기호가 가리키는 대상을 문장으로 말한다.
- 합 기호가 나오면 항을 2~3개 직접 펼쳐 쓴다.
- 로그의 밑과 단위를 항상 함께 쓴다. 밑이 2면 bit, 자연로그면 nat이다.
- 정의 뒤에는 반드시 최솟값, 최댓값, 0이 되는 경우 같은 극단 사례를 확인한다.
- LLM 연결에서는 “같다”, “근사한다”, “비유할 수 있다”를 구분해서 쓴다.
2. 선수 지식과 1주 준비 과정
필요한 수학
- 분수와 지수
- 로그의 뜻과 기본 법칙
- 확률의 합과 곱
- 조건부확률(conditional probability)과 베이즈 정리(Bayes’ theorem)의 기초
- 평균과 기댓값(expectation)
- 함수의 최솟값을 이해할 정도의 미분
준비 주간
| 차시 | 주제 | 할 수 있어야 하는 것 | 작은 실습 |
|---|---|---|---|
| 0-1 | 집합과 확률 | 표본공간, 사건, 확률분포를 구분한다 | 동전 두 번의 표본공간 쓰기 |
| 0-2 | 조건부확률 | 결합확률을 조건부확률로 분해한다 | 비 오는 날 우산을 볼 확률 계산 |
| 0-3 | 로그 | 곱을 합으로 바꾸는 이유를 설명한다 | 와 표 만들기 |
| 0-4 | 기댓값 | 확률로 가중한 평균을 계산한다 | 주사위 점수의 평균 계산 |
| 0-5 | Python | 배열과 반복문으로 합을 계산한다 | 이산분포의 기댓값 함수 작성 |
진단 문제에서 70% 미만이면 준비 주간을 먼저 공부한다. 70% 이상이면 본과정으로 넘어가되, 조건부확률과 로그가 막힐 때 이 절로 돌아온다.
3. 본과정: 12주 핵심 + 4주 심화
1부. 정보의 언어 만들기
1장. 정보란 무엇인가: 놀라움(surprisal)에서 비트(bit)까지
- 핵심 질문: “예” 또는 “아니요” 질문 하나는 얼마나 많은 불확실성을 줄이는가?
- 핵심 개념: 사건(event), 확률(probability), 자기정보량(self-information), 비트(bit), 평균 정보량의 예고
- 대표 예시: 스무고개, 확실한 일기예보와 뜻밖의 비, 4개 토큰 중 다음 토큰 맞히기
- 손계산: 일 때
- 코드 실험: 사건 확률과 정보량의 곡선 그리기
- LLM 연결: 모델이 낮은 확률을 준 정답 토큰은 왜 큰 손실(loss)을 만드는가?
- 도달 기준: “정보는 데이터의 크기”와 “정보는 놀라움의 양”의 차이를 설명한다.
2장. 확률은 불확실성을 표현하는 언어다
- 핵심 질문: 관측 전의 믿음과 관측 후의 믿음을 어떻게 구분하는가?
- 핵심 개념: 확률변수(random variable), 확률질량함수(probability mass function, PMF), 결합확률(joint probability), 주변확률(marginal probability), 조건부확률(conditional probability), 독립(independence), 베이즈 정리(Bayes’ theorem)
- 대표 예시: 스팸 메일, 의료 검사의 함정, 앞 토큰이 주어졌을 때 다음 토큰
- 코드 실험: 작은 결합분포 표에서 주변분포와 조건부분포 계산
- LLM 연결: 가 의미하는 것
- 도달 기준: 결합분포 하나에서 필요한 조건부확률을 직접 구한다.
3장. 엔트로피(entropy): 평균적으로 얼마나 놀라운가
- 핵심 질문: 결과 하나가 아니라 확률분포 전체의 불확실성은 어떻게 재는가?
- 핵심 개념: 샤논 엔트로피(Shannon entropy), 베르누이 엔트로피(Bernoulli entropy), 최대 엔트로피(maximum entropy), 단위
- 대표 예시: 공정한 동전과 치우친 동전, 균등한 4개 토큰과 편향된 4개 토큰
- 손계산:
- 증명 맛보기: 엔트로피가 0 이상인 이유, 균등분포에서 최대가 되는 이유
- 코드 실험: 동전의 앞면 확률을 0에서 1까지 바꾸며 엔트로피 관찰
- LLM 연결: 문맥이 충분할수록 다음 토큰 분포의 엔트로피는 항상 줄어드는가?
- 도달 기준: 엔트로피(entropy)와 개별 사건의 놀라움(surprisal)을 구분한다.
2부. 여러 변수와 여러 분포 비교하기
4장. 조건부 엔트로피(conditional entropy)와 연쇄 법칙(chain rule)
- 핵심 질문: 힌트를 알게 되면 남은 불확실성은 얼마나 줄어드는가?
- 핵심 개념: 결합 엔트로피(joint entropy), 조건부 엔트로피(conditional entropy), 연쇄 법칙(chain rule)
- 대표 예시: 성을 먼저 알고 이름 맞히기, 문장의 앞부분을 보고 다음 글자 맞히기
- 핵심 식:
- 코드 실험: 두 변수의 결합확률표에서 각 엔트로피 계산
- LLM 연결: 자기회귀 분해(autoregressive factorization)와 시퀀스 NLL(sequence NLL)
- 도달 기준: 연쇄 법칙을 표와 확률나무 양쪽에서 설명한다.
5장. 교차 엔트로피(cross-entropy)와 KL 발산(KL divergence)
- 핵심 질문: 실제 분포와 다른 코드북 또는 모델을 쓰면 얼마를 더 지불하는가?
- 핵심 개념: 교차 엔트로피(cross-entropy), 쿨백–라이블러 발산(Kullback–Leibler divergence, KL divergence), 깁스 부등식(Gibbs’ inequality)
- 핵심 식:
- 대표 예시: 실제 날씨 분포와 잘못 배운 일기예보 모델
- 코드 실험: 정답 토큰의 예측확률을 바꾸며 NLL 비교
- LLM 연결: 최대가능도(maximum likelihood), 교차 엔트로피 손실(cross-entropy loss), 교사 강요(teacher forcing)
- 오해 방지: KL은 대칭이 아니며 일반적인 거리 함수가 아니다.
- 도달 기준: 교차 엔트로피가 큰 이유를 “본래의 불확실성”과 “모델의 추가 비용”으로 나눈다.
6장. 상호정보량(mutual information, MI): 두 변수가 공유하는 정보
- 핵심 질문: 한 변수를 알면 다른 변수를 얼마나 더 잘 예측할 수 있는가?
- 핵심 개념: 상호정보량(mutual information, MI), 점별 상호정보량(pointwise mutual information, PMI), 독립(independence)
- 핵심 식:
- 대표 예시: 날씨와 우산, 앞 단어와 다음 단어
- 코드 실험: 상관 구조를 바꾸며 MI 계산
- LLM 연결: PMI 기반 단어 관계와 표현(representation) 분석
- 오해 방지: 높은 MI가 인과관계를 뜻하지는 않는다.
- 도달 기준: 독립이면 MI가 0이 되는 이유를 설명한다.
3부. 압축과 통신
7장. 압축: 자주 나오는 것에 짧은 코드를 주기
- 핵심 질문: 확률분포를 알고 있을 때 평균 몇 비트(bit)까지 압축할 수 있는가?
- 핵심 개념: 접두 부호(prefix code), 크래프트 부등식(Kraft inequality), 정보원 부호화 정리(source coding theorem)
- 대표 예시: 네 글자 알파벳의 가변 길이 코드
- 코드 실험: 허프먼 부호화(Huffman coding) 구현 및 평균 코드 길이 측정
- LLM 연결: 토큰화(tokenization)와 엔트로피 부호화(entropy coding)는 서로 다른 층의 문제다.
- 도달 기준: “엔트로피와 실제 파일 크기가 언제 같은가?”에 조건을 붙여 답한다.
8장. 긴 시퀀스와 전형 집합
- 핵심 질문: 긴 메시지는 왜 평균적인 패턴에 집중되는가?
- 핵심 개념: 점근적 등분할 성질(asymptotic equipartition property, AEP), 전형 집합(typical set), 엔트로피율(entropy rate)
- 대표 예시: 치우친 동전을 100번 던진 문자열
- 코드 실험: 길이가 늘 때 가 모이는 현상 관찰
- LLM 연결: 시퀀스 확률(sequence probability), 토큰당 NLL(per-token NLL), 긴 문장의 퍼플렉서티(perplexity)
- 도달 기준: “가장 확률 높은 시퀀스”와 “전형적인 시퀀스”의 차이를 말한다.
9장. 잡음 채널과 채널 용량
- 핵심 질문: 오류가 생기는 채널로 얼마나 빨리, 얼마나 정확하게 보낼 수 있는가?
- 핵심 개념: 이진 대칭 채널(binary symmetric channel), 채널 용량(channel capacity), 전송률(rate)
- 대표 예시: 오타가 일정 확률로 생기는 이진 문자 전송
- 코드 실험: 잡음 확률에 따른 관찰
- 도달 기준: “채널 용량 이하에서는 가능하다”가 무엇을 보장하고 무엇을 보장하지 않는지 설명한다.
10장. 오류를 고치는 중복
- 핵심 질문: 중복은 압축에서는 제거 대상인데 통신에서는 왜 도움이 되는가?
- 핵심 개념: 반복 부호(repetition code), 해밍 거리(Hamming distance), 패리티(parity), 블록 부호(block code)
- 대표 예시: 3회 반복 코드와 (7,4) Hamming code
- 코드 실험: 부호기–채널–복호기(encoder–channel–decoder) 시뮬레이션
- LLM 연결: 추론 시 자기 일관성(self-consistency)을 오류 정정과 동일시하면 안 되는 이유
- 도달 기준: 전송률(rate)과 신뢰도(reliability)의 절충(trade-off)을 수치로 비교한다.
4부. 추론과 학습
11장. 최대 엔트로피와 모델링
- 핵심 질문: 일부 통계량만 알 때 가장 덜 독단적인 분포는 무엇인가?
- 핵심 개념: 최대 엔트로피 원리(maximum entropy principle), 제약조건(constraint), 라그랑주 승수(Lagrange multiplier) 맛보기
- 대표 예시: 평균만 알려진 주사위 분포
- LLM 연결: 소프트맥스(softmax)와 지수족(exponential family)을 이해하기 위한 발판
- 도달 기준: 최대 엔트로피 원리를 “무조건 균등분포를 고른다”라고 말하지 않는다.
12장. 최소 설명 길이와 일반화
- 핵심 질문: 데이터를 잘 맞추는 모델과 단순한 모델 사이의 균형을 어떻게 잡는가?
- 핵심 개념: 설명 길이(description length), 이부 부호(two-part code), 최소 설명 길이(minimum description length, MDL), 오컴(Occam) 관점
- 대표 예시: 모든 점을 외우는 다항식과 짧은 규칙
- 코드 실험: 모델 복잡도와 잔차 부호화 길이 비교
- LLM 연결: 압축 관점의 학습, 암기(memorization)와 일반화(generalization)
- 오해 방지: 압축 가능성이 곧 이해나 지능의 충분조건은 아니다.
- 도달 기준: 과적합을 총 설명 길이 관점에서 설명한다.
5부. LLM으로 이어지는 심화 과정
13장. 언어 모델의 손실 함수 읽기
- 핵심 개념: 자기회귀 우도(autoregressive likelihood), 음의 로그 가능도(negative log-likelihood, NLL), 교차 엔트로피(cross-entropy), 토큰당 비트(bits per token), 퍼플렉서티(perplexity)
- 핵심 식: ; 로그 밑이 2이면
- 실습: 같은 문장을 두 모델 분포로 채점해 토큰 수준 손실(token-level loss) 분석
- 오해 방지: 토크나이저(tokenizer)나 평가 데이터가 다르면 퍼플렉서티를 그대로 비교하기 어렵다.
14장. KL이 쓰이는 학습과 정렬
- 핵심 개념: KL 정규화(KL regularization), 지식 증류(knowledge distillation), 변분 목적함수(variational objective)의 기본 형태
- 실습: 두 범주형 정책(categorical policy) 사이의 정방향/역방향 KL(forward/reverse KL) 비교
- 오해 방지: KL 방향을 바꾸면 최적화 행동이 달라진다.
15장. 변분 추론과 ELBO
- 핵심 개념: 잠재변수(latent variable), 사후분포 근사(posterior approximation), 증거 하한(evidence lower bound, ELBO)
- 학습 순서: 로그 증거(log evidence) 분해 → KL 비음수성 → ELBO → 작은 가우스(Gaussian) 예제
- LLM 연결: 잠재변수 모형(latent-variable model)과 일부 생성 모델의 학습 목적
- 도달 기준: ELBO가 무엇의 하한(lower bound)인지, 간극(gap)이 무엇인지 말한다.
16장. 정보 병목과 표현 학습
- 핵심 개념: 충분 표현(sufficient representation), 정보 병목(information bottleneck), 데이터 처리 부등식(data processing inequality)
- 실습: 입력의 일부를 압축하면서 레이블(label) 예측 성능 유지하기
- 오해 방지: 연속 확률변수와 결정적 신경망에서 MI를 단순 계산하는 데에는 기술적 함정이 있다.
- 최종 프로젝트: 작은 문자 언어 모델의 예측 손실을 엔트로피(entropy), 교차 엔트로피(cross-entropy), KL 발산(KL divergence), 압축(compression) 관점에서 분석한다.
4. 16주 권장 일정
| 주 | 읽기 | 손계산 | 코드 실습 | 결과물 |
|---|---|---|---|---|
| 0 | 준비 과정 | 로그·조건부확률 | 분포 유틸 함수 | 진단표 |
| 1 | 1장 | 자기정보량 | 놀라움(surprisal) 곡선 | 1쪽 설명문 |
| 2 | 2장 | 결합·조건부확률 | 확률표 계산기 | 베이즈(Bayes) 풀이 |
| 3 | 3장 | 베르누이 엔트로피(Bernoulli entropy) | 엔트로피 곡선 | 개념 지도 |
| 4 | 4장 | 연쇄 법칙(chain rule) | 시퀀스 NLL(sequence NLL) | 식 전개 노트 |
| 5 | 5장 | CE·KL | 예측분포 비교 | 오류 분석표 |
| 6 | 6장 | 상호정보량(MI) | 결합분포 실험 | 독립성 보고서 |
| 7 | 7장 | 평균 코드 길이 | 허프먼 부호(Huffman code) | 압축 실험 |
| 8 | 8장 | typical set | AEP simulation | 중간 회고 |
| 9 | 9장 | channel capacity | BSC simulation | rate-capacity 그래프 |
| 10 | 10장 | code rate | 오류 정정 | decoder 결과표 |
| 11 | 11장 | 제약 최적화 | max-ent 분포 | 짧은 증명 |
| 12 | 12장 | 설명 길이 | MDL 비교 | 핵심 과정 완료 |
| 13 | 13장 | 퍼플렉서티(PPL) 변환 | 토큰 손실(token loss) | LLM 평가 메모 |
| 14 | 14장 | KL 방향 | policy 비교 | 비교 그래프 |
| 15 | 15장 | ELBO 분해 | toy VAE 계산 | 유도 노트 |
| 16 | 16장 | 데이터 처리 부등식(DPI) | 표현(representation) 실험 | 최종 프로젝트 |
핵심 과정만 공부할 때는 112주를 따른다. LLM의 학습 목적과 표현 학습까지 연결하려면 1316주를 추가한다.
5. 실제 공부법
한 번 공부할 때: 90분 루틴
- 10분 - 회상: 전날 내용을 보지 않고 정의와 예시를 적는다.
- 20분 - 읽기: 새로운 개념 하나만 읽고 “왜 필요한가?”를 한 문장으로 쓴다.
- 20분 - 손계산: 결과가 2~4개인 분포를 직접 계산한다.
- 25분 - 코드 실험: 확률 하나를 바꾸고 그래프나 표가 어떻게 변하는지 관찰한다.
- 10분 - 설명: 수식을 보지 않고 초보자에게 말하듯 설명한다.
- 5분 - 질문 기록: 아직 헷갈리는 점 한 가지를 다음 학습의 시작점으로 남긴다.
한 장을 끝내는 기준
아래 네 관문을 모두 통과해야 다음 장으로 넘어간다.
- 말: 핵심 개념을 3문장 안에 설명할 수 있다.
- 식: 정의를 기억해서 쓰고 각 항의 뜻과 단위를 말할 수 있다.
- 수: 작은 예제를 계산기로 확인하기 전에 손으로 풀 수 있다.
- 코드: 라이브러리의 완성된 metric 함수를 쓰지 않고 한 번 구현할 수 있다.
막혔을 때 돌아가는 순서
- 기호를 실제 숫자로 바꾼다.
- 가능한 결과를 전부 표로 쓴다.
- 합 기호를 펼친다.
- 확률이 0, 1, 균등분포일 때를 확인한다.
- 10만 번 시뮬레이션해 손계산과 비교한다.
- 그래도 막히면 증명보다 정의와 예제로 한 단계 돌아간다.
복습 간격
- 학습 직후: 한 문장 요약
- 다음 날: 책을 덮고 정의와 예시 회상
- 1주 뒤: 섞인 문제 3개 풀이
- 4주 뒤: LLM 또는 압축 사례에 적용
복습할 때 다시 읽는 시간보다 직접 떠올리고 문제를 푸는 시간을 길게 잡는다.
6. Chapter 1 개정안
권장 제목
1장. 정보란 무엇인가: 스무고개에서 다음 토큰까지
이 장의 약속
이 장이 끝나면 독자는 다음을 할 수 있어야 한다.
- 정보와 데이터의 차이를 예시로 설명한다.
- 사건의 확률로 자기정보량을 계산한다.
- bit를 저장장치의 칸이 아니라 질문의 수로 해석한다.
- 낮은 확률을 준 정답이 왜 큰 언어 모델 손실(language-model loss)을 만드는지 설명한다.
- 자기정보량과 엔트로피를 구분한다.
도입 원고 예시
친구가 네 마리 동물 가운데 한 마리를 마음속으로 골랐다고 하자.
고양이, 강아지, 토끼, 거북이
우리는 “예” 또는 “아니요”로만 답할 수 있는 질문을 할 수 있다. 첫 질문으로 후보를 절반씩 나누고, 두 번째 질문으로 다시 절반을 나누면 어떤 동물인지 알아낼 수 있다. 후보가 네 개이고 모두 똑같이 가능하다면 두 번의 질문이면 충분하다.
이때 질문 한 번이 구분하는 정보의 단위를 1 bit라고 부른다. 후보가 2개면 1 bit, 4개면 2 bit, 8개면 3 bit가 필요하다. 후보 수가 두 배가 될 때 필요한 질문이 하나씩 늘어나므로 로그가 등장한다.
하지만 네 동물이 똑같이 선택되는 것이 아니라 고양이가 90% 확률로 선택된다면 어떨까? “고양이”라는 답은 별로 놀랍지 않다. 반면 1% 확률인 거북이가 선택되었다면 훨씬 놀랍고, 그만큼 더 많은 정보를 얻었다고 느낀다. 정보이론은 이 감각을 다음과 같이 수로 만든다.
확률이 1인 사건은 이미 알고 있었으므로 bit다. 확률이 이면 1 bit, 이면 2 bit다. 드문 사건일수록 값이 커진다.
언어 모델도 같은 방식으로 평가할 수 있다. 문맥 다음의 정답 토큰에 모델이 의 확률을 주었다면 그 토큰의 손실은 1 bit다. 의 확률만 주었다면 손실은 10 bit다. 모델이 정답을 거의 예상하지 못했기 때문에 더 큰 벌점을 받는 셈이다. 다만 이 값은 토큰 하나의 놀라움이고, 분포 전체의 평균적인 불확실성인 엔트로피와는 구분해야 한다.
1장 구성
1.1 데이터와 정보는 같은가
00000000과 공정한 동전의01011001은 둘 다 8개의 기호다.- 기호 수가 같아도 예측 가능성과 정보량은 다를 수 있다.
- “파일 크기”, “의미”, “샤논 정보량(Shannon information)”을 구분한다.
1.2 스무고개와 bit
- 균등한 후보 2, 4, 8개를 이진 질문으로 구분한다.
- 을 “필요한 예/아니요 질문 수”로 해석한다.
- 질문이 후보를 고르게 나누지 못할 때 생기는 비효율을 살펴본다.
1.3 놀라움을 수로 만드는 세 조건
정보량 함수가 만족하기 바라는 조건을 먼저 제시한다.
- 확률이 낮을수록 정보량이 커야 한다.
- 확실한 사건의 정보량은 0이어야 한다.
- 독립인 두 사건이 함께 일어나면 정보량이 더해져야 한다.
세 번째 조건에서 이고, 곱을 합으로 바꾸는 로그가 자연스럽게 등장한다.
1.4 자기정보량 계산하기
| 사건 확률 | 자기정보량 | 해석 |
|---|---|---|
| bit | 이미 확실함 | |
| bit | 이진 질문 한 번 | |
| bit | 이진 질문 두 번 | |
| bit | 이진 질문 세 번 | |
| bit | 이진 질문 열 번 |
확률이 0인 사건은 이론상 무한한 자기정보량을 갖지만, 실제 모델링에서는 “절대로 일어나지 않는다”는 단정이 위험하다. LLM에서 정답 토큰에 정확히 0의 확률을 주면 log loss가 발산하는 이유도 여기서 이해할 수 있다.
1.5 평균으로 넘어가기
한 번 관측한 사건의 정보량은 다. 관측 전에는 어떤 결과가 나올지 모르므로 가능한 모든 결과의 자기정보량을 확률로 가중 평균한다.
이 장에서는 엔트로피를 예고하고, 계산과 성질은 3장에서 자세히 다룬다.
1.6 다음 토큰 예측으로 연결하기
문맥이 “오늘 점심으로 김치”일 때 임의의 네 토큰에 다음 확률을 주는 toy model을 생각한다.
| 토큰 | 모델 확률 | 정답일 때의 손실(loss) |
|---|---|---|
| 찌개 | 0.50 | 1.00 bit |
| 볶음밥 | 0.25 | 2.00 bit |
| 우동 | 0.125 | 3.00 bit |
| 위성 | 0.125 | 3.00 bit |
정답이 찌개이면 모델은 비교적 잘 예상했다. 정답이 위성이면 같은 한 토큰을 관측했어도 더 큰 정보를 얻고 더 큰 loss를 기록한다. 실제 LLM은 훨씬 큰 vocabulary를 사용하고, 모든 토큰의 확률 합이 1이 되도록 분포를 출력한다.
1장 연습문제
- 확률이 인 사건의 자기정보량을 구하라.
- 공정한 주사위에서 6이 나왔을 때의 자기정보량을 구하라.
- 독립인 사건 의 확률이 각각 일 때 동시에 관측한 정보량을 두 방법으로 계산하라.
- 어떤 모델이 정답 토큰에 0.8의 확률을 주고, 다른 모델은 0.2의 확률을 주었다. 두 모델의 loss를 bit 단위로 비교하라.
- “드문 사건은 항상 의미가 크다”가 정보이론적으로 정확한 문장인지 논하라.
짧은 정답
- 4 bit
- bit
- bit이며, bit와 같다.
- 각각 약 0.322 bit와 2.322 bit다. 두 번째 모델의 loss가 2 bit 더 크다.
- 정확하지 않다. Shannon 정보량은 사건의 의미나 중요성이 아니라, 주어진 확률모형 아래의 놀라움을 잰다.
1장 완료 체크
- 에서 마이너스 부호가 필요한 이유를 설명할 수 있다.
- 로그의 밑을 바꾸면 단위가 어떻게 달라지는지 안다.
- 자기정보량은 사건의 값이고 엔트로피는 그 평균임을 구분한다.
- 정답 토큰의 확률과 NLL의 관계를 숫자로 설명할 수 있다.
- Shannon 정보량이 의미론적 중요성을 직접 재는 값은 아님을 안다.
7. 집필 체크리스트
각 장을 쓸 때 다음을 확인한다.
- 장 첫머리에 독자가 궁금해할 구체적인 질문이 있는가?
- 첫 수식 전에 숫자가 들어간 예시가 있는가?
- 새로운 기호를 도입한 문장에서 뜻을 설명했는가?
- 손계산 예제와 코드 실험이 같은 개념을 확인하는가?
- 극단 사례와 단위 검사가 있는가?
- 자주 하는 오해를 명시했는가?
- LLM과의 연결이 엄밀한 등식인지, 해석인지, 비유인지 밝혔는가?
- 연습문제가 암기, 계산, 설명, 적용을 고르게 포함하는가?
- 다음 장에 필요한 개념만 남기고 난도를 과도하게 올리지 않았는가?
- 한 장을 마친 독자가 만든 작은 결과물이 있는가?
8. 참고 자료를 활용하는 방법
현재 information_theory.pdf는 David J. C. MacKay의 Information Theory, Inference, and Learning Algorithms 영문판이다. 이 자료는 특히 정보이론, Bayesian inference, 신경망을 하나의 흐름으로 연결하는 방식과 풍부한 연습문제를 참고하기 좋다.
다만 새 한글 원고는 다음 원칙으로 독립적으로 작성한다.
- 문장과 예제를 그대로 번역하지 않고 학습 목표에 맞게 새로 구성한다.
- 초반에는 오류 정정 코드보다 엔트로피(entropy), 교차 엔트로피(cross-entropy), KL 발산(KL divergence), 상호정보량(mutual information)을 먼저 충분히 익힌다.
- LLM 독자에게 중요한 토큰 수준 NLL(token-level NLL), 퍼플렉서티(perplexity), 자기회귀 분해(autoregressive factorization)를 핵심 과정에 연결한다.
- 원전의 증명이나 그림을 사용할 때는 저작권과 인용 범위를 확인한다.
- 참고 자료의 장 순서가 아니라 이 문서의 선수 지식 그래프를 기준으로 집필한다.
추천 참고 축은 다음과 같다.
- Shannon: 정보량, 엔트로피, 채널 용량의 원전 개념
- Cover & Thomas: 정리와 증명의 표준적인 전개
- MacKay: 직관, 코딩, Bayesian inference, 학습 알고리즘의 연결
- 실제 LLM 논문과 문서: 토큰화(tokenization), 언어 모델 목적함수(language-model objective), 퍼플렉서티(perplexity), KL 정규화(KL regularization)의 구체적인 사용 방식
9. 다음 집필 순서
- 이 문서를 책 앞부분의 “이 책을 공부하는 법”으로 다듬는다.
- Chapter 1을 개정안의 1.1~1.6 순서로 완성한다.
- Chapter 1의 그림 3개를 만든다: 스무고개 이진 트리, 곡선, 작은 다음 토큰 분포(toy next-token distribution).
- 준비 과정용 진단 문제 10개를 작성한다.
- Chapter 2와 3을 써서 확률(probability) → 놀라움(surprisal) → 엔트로피(entropy)의 핵심 경로를 먼저 완성한다.
- 세 장을 초보 독자에게 시험하고, 막힌 지점을 기준으로 용어와 예시를 수정한다.
- 이후 Chapter 4~6을 작성해 교차 엔트로피(cross-entropy), KL 발산(KL divergence), 상호정보량(MI)까지 하나의 첫 번째 마일스톤으로 묶는다.
첫 번째 공개 가능한 단위는 준비 과정 + 1~6장으로 잡는다. 이 범위만 완성해도 LLM의 기본 손실 함수를 정보이론적으로 읽는 데 필요한 핵심 토대가 갖춰진다.