Здравствуйте! В предыдущем уроке мы разложили энтропию последовательности на условные энтропии отдельных шагов:
Теперь сменим точку зрения. Вместо того чтобы спрашивать, как неопределённость распределяется внутри последовательности, будем рассматривать энтропию как функцию самого распределения . Главный результат урока: если смешать два распределения, энтропия смеси будет не меньше средней энтропии исходных распределений. Это свойство называется вогнутостью энтропии Шеннона.
Оно формализует интуицию: когда источник может быть одним из нескольких режимов, а режим скрыт, предсказание обычно становится труднее. В ML это лежит за поведением смесей распределений, энтропийной регуляризацией и многими следствиями Jensen-подобных неравенств.
Энтропия как функция точки на симплексе
Пусть алфавит конечен:
Распределение задаётся вектором вероятностей
Все такие векторы образуют вероятностный симплекс . Энтропия Шеннона в битах:
Мы принимаем стандартное соглашение:
Оно корректно, поскольку
Таким образом, энтропия определена и для распределений с нулевыми вероятностями.
Возьмём два распределения и на одном алфавите и коэффициент смешивания
Их смесь равна
то есть покомпонентно:
Например, если и — два предсказания классификатора, то можно получить, случайно выбирая, какое из них использовать: с вероятностью , с вероятностью .
Вогнутость энтропии означает:
Геометрически значение функции в точке между и лежит не ниже хорды, соединяющей значения функции в этих двух точках.
[PDF] 6.441 Information Theory, Lecture 2 - MIT OpenCourseWare
Прочитайте фрагменты лекции MIT OpenCourseWare: они дают компактные определения выпуклости и вогнутости, а затем применяют критерий второй производной непосредственно к энтропии.
В начале лекции, на слайде «Convexity and related notions», изучите критерий второй производной и формулировку неравенства Йенсена. Затем на слайде «Concavity of entropy» прочитайте переход к энтропии: обратите внимание, что энтропия является суммой одинаковых скалярных функций от отдельных вероятностей.
Доказательство через вторую производную
Вся структура доказательства содержится в одном слагаемом энтропии. Определим для :
Тогда
Вычислим производные:
При имеем:
Следовательно, является строго вогнутой функцией на . По определению это означает, что для любых и
причём равенство возможно только при .
Теперь применим это покомпонентно к вероятностям и :
Суммируем неравенства по всем :
Это и требовалось доказать.
Граница симплекса, где некоторые вероятности равны нулю, не создаёт проблемы. На внутренности симплекса доказательство следует из ; затем результат распространяется на границу непрерывностью функции , поскольку .
Важно, что это доказательство устанавливает более сильное утверждение: энтропия строго вогнута. Если
и
то хотя бы в одной координате , и там покомпонентное неравенство строго. Поэтому:
для любых различных и . Условия равенства пригодятся в следующем уроке, где мы докажем максимальность энтропии равномерного распределения.
Бинарный случай: самая наглядная геометрия
Для бернуллиевской случайной величины достаточно одной вероятности:
Её энтропия — бинарная энтропия:

На графике легко увидеть, что точка на кривой над серединой любого отрезка оказывается выше прямой между концами этого отрезка. Например, рассмотрим два источника:
Оба имеют одинаковую энтропию:
Возьмём равную смесь:
Вероятность единицы в смеси:
Значит,
Итак,
Сама каждая компонента почти предсказуема: первая обычно выдаёт ноль, вторая обычно выдаёт единицу. Но если перед каждым семплом скрыто выбирается один из этих режимов, итоговый наблюдатель видит честный бит. Неопределённость заметно возрастает.
Не следует интерпретировать это как утверждение, что «смешивание всегда добавляет шум в каждую отдельную компоненту». Компоненты не меняются. Меняется доступная информация о том, какой именно механизм сгенерировал наблюдение.
Второе доказательство: скрытая переменная режима
Калькулясное доказательство короткое, но вероятностное доказательство лучше показывает, почему энтропия вогнута.
Пусть скрытая переменная режима выбирается так:
Условно на режиме генерируем :
Маргинальное распределение равно смеси:
Поэтому
Если режим известен, условная энтропия равна средней энтропии компонент:
Из уже знакомого свойства «условие не увеличивает энтропию» следует:
Подставляя две полученные идентичности, сразу получаем:
Это доказательство следует читать так:
- измеряет неопределённость исхода, если механизм известен;
- измеряет неопределённость, если механизм скрыт;
- незнание режима не может сделать задачу предсказания проще.
Разность
позднее появится как взаимная информация : количество информации о скрытом режиме, которое несёт наблюдённый исход . Здесь достаточно понимать, что она неотрицательна.
Численная проверка в PyTorch
Для работы с моделями полезно проверять такие свойства не только символически, но и на реализациях. Код ниже вычисляет энтропию для батча распределений, создаёт смесь и проверяет вогнутость.
import torch
def entropy_bits(p: torch.Tensor, dim: int = -1) -> torch.Tensor:
"""
Shannon entropy in bits for one distribution or a batch of distributions.
Assumes p is normalized along `dim`.
"""
p = torch.as_tensor(p, dtype=torch.float64)
if (p < 0).any():
raise ValueError("Probabilities must be non-negative.")
sums = p.sum(dim=dim)
if not torch.allclose(sums, torch.ones_like(sums), atol=1e-12):
raise ValueError("Probabilities must sum to 1.")
log_p = torch.where(p > 0, p.log2(), torch.zeros_like(p))
return -(p * log_p).sum(dim=dim)
p = torch.tensor([0.70, 0.20, 0.10], dtype=torch.float64)
q = torch.tensor([0.05, 0.15, 0.80], dtype=torch.float64)
lam = 0.35
r = lam * p + (1.0 - lam) * q
h_p = entropy_bits(p)
h_q = entropy_bits(q)
h_r = entropy_bits(r)
weighted_average = lam * h_p + (1.0 - lam) * h_q
print(f"H(p) = {h_p:.6f} bits")
print(f"H(q) = {h_q:.6f} bits")
print(f"H(r) = {h_r:.6f} bits")
print(f"Weighted average = {weighted_average:.6f} bits")
print(f"Concavity gap = {h_r - weighted_average:.6f} bits")
assert h_r >= weighted_average - 1e-12
Вы должны увидеть положительный Concavity gap. Он равен нулю в тривиальных случаях:
- или , когда смесь фактически выбирает одну компоненту;
- , когда скрытый режим не меняет распределение наблюдаемого исхода.
Для разных распределений и нетривиального смешивания зазор будет строго положительным. Численно это полезный инвариант при тестировании кода для энтропии, ансамблей или смесей категориальных распределений.
Можно также провести небольшой мысленный эксперимент с вероятностями выходных токенов двух языковых моделей. Если одна модель уверенно предпочитает один токен, а другая — другой, равновзвешенное усреднение их вероятностей часто имеет существенно большую энтропию. Однако высокая энтропия такого усреднённого предсказания сама по себе ещё не говорит, хороша ли модель: она может отражать содержательную неоднозначность, разногласие моделей или просто плохую спецификацию.
Что именно утверждает и не утверждает вогнутость
Вогнутость — свойство функции от распределения:
Она не означает, что энтропия растёт при каждом возможном преобразовании распределения. Например, если преобразование делает распределение более концентрированным, энтропия обычно уменьшается. Утверждение относится строго к операции выпуклого смешивания:
Также важно различать две величины:
и
Первая — энтропия наблюдателя, который не знает, какая компонента выбрана. Вторая — средняя энтропия наблюдателя, которому выбранная компонента раскрыта. Разница между ними измеряет цену неизвестности о компоненте.
Это же различие встречается в практических системах:
| Ситуация | Что соответствует компоненте | Почему смесь может быть более энтропийной |
|---|---|---|
| Ансамбль классификаторов | Предсказание отдельной модели | Модели расходятся в вероятностях классов |
| Mixture model | Латентный кластер | Кластер наблюдения неизвестен |
| Режимы среды в RL | Скрытое состояние или тип задачи | Одинаковое действие может быть хорошим в разных режимах |
| Генерация текста | Несколько правдоподобных продолжений | Контекст допускает разные семантические ветви |
В следующих модулях появятся более специальные величины для такого расхождения: KL-дивергенция, Jensen–Shannon divergence и взаимная информация. Их смысл будет опираться именно на эту картину: усреднение распределений и усреднение их энтропий — разные операции.
Итог
Энтропия Шеннона вогнута по распределению вероятностей:
Ключевые выводы:
- энтропия является суммой функций ;
- поскольку
каждое слагаемое строго вогнуто, а значит строго вогнута и вся энтропия;
- альтернативное вероятностное доказательство представляет смесь как результат скрытого выбора режима , после чего использует неравенство
- при равенство возможно только если ;
- разность между энтропией смеси и средней энтропией компонент отражает неопределённость о скрытом режиме.
В следующем уроке мы используем вогнутость, чтобы строго доказать: на фиксированном конечном алфавите максимальную энтропию имеет равномерное распределение, и точно сформулируем условие равенства.
Can't find a good explanation? Sign up and we'll make it for you
Sign up