Теория информации

Энтропия Шеннона: математика неопределённости

1948 год. Bell Labs. Клод Шеннон публикует 'A Mathematical Theory of Communication' - 77 страниц, которые создали цифровую эпоху. Центральное понятие - бит. Каждый файл в ZIP, каждый токен GPT-4, каждый шаг обучения нейросети упирается в одну формулу: $H(X) = -\sum p_i \log p_i$.

  • PyTorch `nn.CrossEntropyLoss` - буквально энтропия Шеннона между предсказанием и меткой
  • JPEG, MP3, gzip, Brotli - инженерные приближения к нижней границе $H(X)$, доказанной в 1948
  • Perplexity LLM = $2^H$ - GPT-2 small ~30, GPT-4 ~6 на хорошем тексте
  • Temperature в Stable Diffusion/GPT - регулятор энтропии выходного распределения softmax
  • Entropy bonus в RL (SAC, PPO, MaxEnt IRL) - борьба с коллапсом в один режим

Предварительные знания

  • Логарифмы: $\log_2 8 = 3$, $\log_b(xy) = \log_b x + \log_b y$
  • Вероятностное распределение: $\sum p_i = 1$, $p_i \geq 0$
  • Матожидание: $\mathbb{E}[f(X)] = \sum p_i f(x_i)$

Surprise и энтропия: откуда берётся формула

1948 год. Bell Labs. Клод Шеннон публикует 'A Mathematical Theory of Communication' - 77 страниц, которые создали цифровую эпоху. Центральное понятие - бит. Центральный вопрос - как измерить количество информации в сообщении? Шеннон начинает с одного события.

**Surprise (self-information)** события $x$ - это $I(x) = -\log P(x)$. Три требования определяют формулу однозначно: (1) редкое событие несёт больше информации, (2) достоверное событие несёт ноль, (3) независимые события складываются: $I(x,y) = I(x) + I(y)$. Третье требование убивает все альтернативы - логарифм единственная функция, превращающая умножение в сложение.

**Единицы измерения:** $\log_2$ дают биты (CS, ML, теория связи), $\ln$ дают наты (физика, autograd). Один нат = $1/\ln 2 \approx 1.443$ бита. `torch.nn.CrossEntropyLoss` считает в натах - это та же формула Шеннона, просто другое основание.

Какое событие несёт больше всего информации в битах?

Свойства энтропии: максимум, минимум, сжатие

Энтропия - это матожидание surprise по всему распределению: $H(X) = \mathbb{E}[I(X)] = -\sum_i p_i \log p_i$. По соглашению $0 \log 0 = 0$. Два ключевых свойства видны из формулы: чем площе распределение - тем выше $H$, и $H \geq 0$ всегда.

**Максимум энтропии:** для $n$ исходов $H(X) \leq \log_2 n$, равенство при равномерном распределении. Доказательство - неравенство Йенсена для вогнутой $-\log$. Это не просто факт - это принцип: если о системе известны только ограничения (среднее, дисперсия), самое честное распределение то, которое максимизирует $H$. Из MaxEnt вырастают нормальное, экспоненциальное и геометрическое распределения.

**Теорема Шеннона о сжатии:** $H(X) \leq L^* < H(X) + 1$, где $L^*$ - средняя длина оптимального префиксного кода (Хаффман). Энтропия - это нижняя граница. Любой алгоритм, якобы сжимающий лучше - содержит ошибку. gzip, Brotli, JPEG, MP3 - инженерные приближения к этой границе.

Распределение $\{0.5, 0.25, 0.25\}$. Чему равна энтропия в битах?

Cross-entropy, KL-дивергенция и ML loss

Пусть $P$ - истинное распределение, $Q$ - предсказание модели. **Cross-entropy** $H(P, Q) = -\sum_x P(x) \log Q(x)$ - средний surprise наблюдателя, который ждал $Q$, а реальность распределена по $P$. При $Q = P$ это просто $H(P)$. Если $Q$ далеко от $P$ - cross-entropy растёт.

**Разложение:** $H(P, Q) = H(P) + D_{KL}(P \| Q)$, где $D_{KL}(P \| Q) = \sum_x P(x) \log \frac{P(x)}{Q(x)} \geq 0$. Это сердце машинного обучения: $H(P)$ - неустранимая часть (шум мира), $D_{KL}$ - штраф за несовершенство модели. Максимум правдоподобия = минимизация $H(P, Q)$ = стягивание $D_{KL}$ к нулю.

**`nn.CrossEntropyLoss` в одном предложении:** для one-hot метки $H(P, Q) = -\log Q(\text{true class})$ - вся сумма схлопывается в минус логарифм вероятности правильного класса. Именно это и считает PyTorch внутри. **Perplexity = $2^H$** (или $e^H$ в натах) - стандартная метрика LLM. GPT-2 small $\approx 30$, GPT-4 $\approx 6$ на хорошем тексте.

Модель предсказывает идеально: $Q = P$. Чему равна cross-entropy $H(P, Q)$?

Итог

  • $I(x) = -\log P(x)$ - surprise события: редкое = информативное, достоверное = ноль информации, независимые складываются
  • $H(X) = -\sum p_i \log p_i = \mathbb{E}[I(X)]$ - средний surprise, мера неопределённости распределения
  • $H(X) \leq \log_2 n$ - максимум при равномерном; MaxEnt порождает Гаусса, экспоненту, геометрическое
  • $H$ - нижняя граница сжатия: $H \leq L^* < H+1$ (Хаффман). ZIP не может сжать случайный шум
  • $H(P, Q) = H(P) + D_{KL}(P \| Q) \geq H(P)$ - cross-entropy как ML loss; $H(P)$ - irreducible loss
  • Perplexity = $2^H$ - LLM-метрика; temperature API - регулятор $H$ выходного softmax

Что дальше

Энтропия - алфавит теории информации. Из неё растут остальные понятия курса.

  • Совместная и условная энтропия — $H(X, Y)$ и $H(Y|X)$ - сколько информации остаётся в $Y$, если $X$ известен
  • KL-дивергенция — $D_{KL}(P \| Q)$ - сердце VAE, RLHF, distillation
  • Mutual information — $I(X; Y) = H(X) - H(X|Y)$ - универсальная мера зависимости

Вопросы для размышления

  • Файл случайных байт и файл нулей того же размера. У какого больше энтропия и почему gzip сожмёт второй в сотни раз, а первый - почти никак?
  • При обучении 1000-классового классификатора на случайных метках loss выходит на плато около 6.9. Почему именно это число? (Подсказка: $\ln 1000$.)
  • Если поднять temperature softmax с 1.0 до 2.0 - как изменится энтропия выходного распределения LLM? Вверх или вниз, и почему?
  • Шеннон оценил энтропию английского в ~1.3 бит/символ. GPT-4 показывает cross-entropy ~1.5. Что значило бы, если бы появилась модель с ~0.8 бит/символ - нарушение теоремы или нет?

Связанные уроки

  • prob-04-bayes
  • prob-07-expectation
Энтропия Шеннона: математика неопределённости

0

1

Войти