глоссарий

JS-дивергенция

JS-дивергенция

JS-дивергенция — это способ измерить, насколько два распределения вероятностей отличаются друг от друга. В отличие от KL-дивергенции, она симметрична: расстояние от А до Б равно расстоянию от Б до А, и значение всегда лежит в пределах от нуля до единицы, что удобно для сравнения.

В ИИ показатель используют, чтобы понять, насколько хорошо модель воспроизводит реальные данные. Если сгенерированные картинки статистически неотличимы от настоящих, JS-дивергенция близка к нулю. Она применяется в GAN, машинном переводе и суммаризации текстов.

Представьте две кучки песка разной формы. KL-дивергенция спрашивает, сколько информации потеряется, если описать одну кучку формой другой. Ответ зависит от эталона. JS-дивергенция берёт среднюю форму и измеряет отклонение каждой от этой середины — это гарантирует симметрию и конечность, даже если распределения не пересекаются.

Пример: обучаем ИИ распознавать эмоции по голосу. Есть реальные записи счастливых людей и синтезированные роботом. Вычисляем JS-дивергенцию между распределениями частотных характеристик. Если она равна 0,15 — робот звучит почти естественно. Если 0,8 — явно фальшивит. Это позволяет быстро оценить прогресс без долгого прослушивания.

В итоге JS-дивергенция — это гибкий и наглядный измеритель сходства между данными. Она помогает инженерам понимать, когда алгоритм действительно научился предмету, а когда лишь имитирует его поверхностно. Благодаря своим свойствам она остаётся ключевым инструментом в машинном обучении.