← На главную

Квадратный корень JSD — метрика для GANs и биоинформатики

22.05.2026 19:27 · hackernews

Йохан Йенсен и Клод Шеннон дали имя мере сходства между распределениями вероятностей — Jensen–Shannon divergence (JSD). Её также называют information radius (IRad) или total divergence to the average. В отличие от Kullback–Leibler divergence, JSD симметрична и всегда даёт конечное значение. Квадратный корень из неё — метрика, Jensen–Shannon distance: чем она ближе к нулю, тем распределения похожи.

Формально для двух распределений P и Q JSD считается как полусумма двух Kullback–Leibler divergences между каждым из них и их средним M = (P+Q)/2. Для набора из n распределений с весами π_i формула обобщается: JSD = H(M) − Σ π_i H(P_i), где H — Shannon entropy. То есть расхождение равно разности энтропии смеси и взвешенной суммы энтропий исходных распределений.

JSD ограничена: для двух дискретных распределений и логарифма по основанию 2 она лежит в пределах от 0 до 1. Для n распределений верхняя граница — log_b(n). При этом JSD служит нижней оценкой для total variation distance.

Связь с mutual information прямая: JSD(P∥Q) равна взаимной информации между случайной величиной X, взятой из смеси M, и бинарной переменной Z, указывающей, из какого распределения (P или Q) выбрано X. Это объясняет, почему JSD не превышает 1 (максимум энтропии Z при base 2).

Для квантовых систем аналог — quantum Jensen–Shannon divergence (QJSD). Вместо Shannon entropy используется von Neumann entropy. Для двух матриц плотности QJSD — симметричная, всюду определённая функция, равная нулю только на совпадающих состояниях. Недавно доказано, что QJSD — квадрат метрики не только для чистых, но и для смешанных состояний. В квантовой информации QJSD совпадает с Holevo information — верхней границей объёма классической информации, которую можно передать квантовыми состояниями.

Есть понятие Jensen–Shannon centroid: это распределение, которое минимизирует сумму JSD до заданного набора распределений. Алгоритм CCCP (convex-concave procedure) эффективно находит такой центроид.

Применения JSD охватывают биоинформатику (сравнение геномов и поверхностей белков), социальные науки, количественную историю, анализ данных пожаров и машинное обучение — например, она используется в Generative Adversarial Networks.

Читать оригинал →