Теорія інформації: ентропія, перехресна ентропія і KL-дивергенція — звідки беруться функції втрат
Інформація як несподіванка, ентропія і код Гаффмана, перехресна ентропія, KL-дивергенція та приріст інформації — і чому функція втрат мовних моделей — це перехресна ентропія.
Серія Основи ШІ Частина 20 з 52
- Мапа штучного інтелекту: що є що і як усе це пов’язано
- Коротка історія штучного інтелекту: від Тюрінга до мовних моделей
- Дані, модель, тренування, інференс: основні поняття на одному прикладі
- Як читати математичний запис: символи, індекси, суми та квантори
- Множини й відношення: конструктор, з якого складаються означення в ШІ
- Функції й відображення: чому кожна модель у ШІ — це функція
- Логіка й доведення: правила, за якими міркують у ШІ
- Графи й дерева: структура, на якій тримаються пошук і нейронні мережі
- Лінійна алгебра для машинного навчання: вектори, матриці й чому ШІ передусім множить
- Похідні, градієнт і правило ланцюжка: як модель дізнається, у якому напрямку вчитися
- Градієнтний спуск: як навчається модель
- Що таке ймовірність: від кидка кубика до аксіом Колмогорова
- Умовна ймовірність і теорема Баєса: як змінити оцінку, коли дізнаєтеся щось нове
- Випадкова величина і функція розподілу: одна функція, яка каже про розподіл усе
- Функція щільності та функція маси ймовірності: чому неперервна величина має в точці ймовірність нуль
- Математичне сподівання, дисперсія і коваріація: де лежить розподіл, наскільки він широкий і що з чим пов’язано
- Огляд розподілів ймовірностей: Бернуллі, біноміальний, Пуассона, рівномірний, нормальний і експоненційний
- Закон великих чисел і центральна гранична теорема: чому середні поводяться так передбачувано
- Статистика й оцінювання параметрів: максимальна правдоподібність, MAP і довірчі інтервали
- Теорія інформації: ентропія, перехресна ентропія і KL-дивергенція — звідки беруться функції втрат
- Пошук у просторі станів: BFS, DFS, UCS і A* з анімаціями
- Ігри та суперник: мінімакс, альфа-бета відсікання і Monte Carlo tree search
- Задоволення обмежень: бектрекінг, поширення обмежень і AC-3 на судоку та мапі чеських країв
- Логіка й системи, засновані на знаннях: пряме і зворотне виведення, резолюція та експертні системи
- Планування: STRIPS, світ кубиків, евристики з релаксації та планування в AI-агентах
- Локальний пошук та імітація відпалу: комівояжер через обласні центри Чехії
- Генетичні алгоритми: популяція, схрещування, мутація і добір на рюкзаку для походу
- Еволюційні стратегії і генетичне програмування: від правила однієї п’ятої до закону Кеплера
- Оптимізація мурашиною колонією: як феромоновий слід знаходить короткий шлях
- Оптимізація роєм частинок: інерція, власний досвід і досвід рою
- Нейроеволюція: еволюція ваг і форми нейронних мереж та алгоритм NEAT
- Нечіткі множини й функції належності: як записати «трохи тепло»
- Нечітка логіка та ймовірність: чому «трохи тепло» не означає «імовірно тепло»
- Нечітка логіка: t-норми, імплікації та правила ЯКЩО–ТО
- Нечітке керування: Мамдані та Суґено від вентилятора до маятника на візку
- Нечітка кластеризація: алгоритм fuzzy c-means і точки між кластерами
- Нейро-нечіткі системи (ANFIS): нечіткі правила, які навчаються з даних
- Марковські ланцюги: матриця переходів, стаціонарний розподіл і PageRank
- Приховані марковські моделі: алгоритм Вітербі й нечесне казино
- Байєсівські мережі: чому трава мокра і що з цього випливає для дощувача
- Фільтр Калмана: як за неточними вимірюваннями оцінити, де авто і як швидко воно їде
- Види машинного навчання: з учителем, без учителя, з частковим залученням учителя та інші
- Промпти, контекст і RAG: як дати моделі правильну інформацію
- Варіаційні автокодувальники (VAE): нові зображення з неперервного латентного простору
- Генеративні змагальні мережі (GAN): фальшувальник проти детектива
- Дифузійні моделі: як із чистого шуму постає зображення
- Марковські процеси ухвалення рішень: стани, дії, винагороди й рівняння Беллмана
- Q-навчання і DQN: як навчитися цінності дій — від таблиці до нейронної мережі
- Policy gradient і PPO: навчання безпосередньо політики
- Як працює ШІ-агент: мовна модель у циклі з інструментами
- Програмування з AI-агентами: завдання, тести й перевірка
- Оцінювання і безпека систем ШІ: як вимірювати і як стежити
Повна програма серії Готово: 52 з 83 тем
- Що таке інформація та ентропія, чому їх вимірюють у бітах і чому ентропія — це межа стиснення.
- Що вимірюють перехресна ентропія і KL-дивергенція і чому їхній мінімум там, де модель каже правду.
- Чому перехресна ентропія — функція втрат класифікаторів і мовних моделей і що таке перплексія.
Що варто знати заздалегідь: Статистика й оцінювання параметрів: максимальна правдоподібність, MAP і довірчі інтервали
Коли ви навчаєте класифікатор чи мовну модель, то майже напевно мінімізуєте «перехресну ентропію». Звідки взялася ця назва? З теорії інформації, яку 1948 року заснував Клод Шеннон, коли шукав, як якомога ощадніше передавати повідомлення телефонною лінією. Виявилося, що питання «скільки бітів мені потрібно?» і питання «наскільки добре передбачає модель?» — це одне й те саме питання. Цією частиною завершується модуль про ймовірність і статистику.
Ця частина продовжує частини «Огляд розподілів» і «Статистика й оцінювання».
1. Інформація як несподіванка
Означення — інформація події
Інформація (власна інформація) події з імовірністю p > 0 — це
I(p) = −log2 p бітів.
Інформація вимірює несподіванку. Те, що вранці зійшло сонце, вас не здивує — нуль бітів. Підкидання монети несе 1 біт, кидок кубика log2 6 ≈ 2,585 біта, а подія з шансом 1 : 1024 — цілих 10 бітів. Завдяки логарифму інформації незалежних подій додаються: дві монети — це 2 біти.
Біт — це інформація, яку дає відповідь на одне питання «так чи ні», коли обидві відповіді однаково ймовірні. Число від 1 до 1024 ви вгадаєте за 10 питань («воно більше за 512?»…) — саме тому, що кожна відповідь несе 1 біт, а log2 1024 = 10.
2. Ентропія
Означення — ентропія
Ентропія дискретної величини X з функцією ймовірностей p — це математичне сподівання її інформації:
H(X) = −∑x p(x) log2 p(x),
де доданок із p(x) = 0 вважаємо рівним 0.
Середня несподіванка — наскільки невизначений результат. Чесна монета має ентропію 1 біт, монета, що випадає гербом у 90 % випадків, — лише 0,469 біта: ви майже завжди знаєте, що випаде. Кубик має 2,585 біта.
Теорема — межі ентропії
Для величини з n можливими значеннями виконується 0 ≤ H(X) ≤ log2 n. Нуль досягається тоді й лише тоді, коли результат певний, а максимум — тоді й лише тоді, коли розподіл рівномірний.
Найменше невизначеності тоді, коли результат певний; найбільше — коли всі можливості однаково ймовірні. Тому вершина кривої якраз у p = 0,5.
3. Ентропія як довжина коду
Теорема — теорема Шеннона про кодування джерела
Кожен однозначно декодовний двійковий код для символів із розподілом p має середню довжину кодового слова щонайменше H(p) бітів, і існує код із середньою довжиною, меншою за H(p) + 1.
Ентропія — це межа стиснення: повідомлення не можна закодувати меншою кількістю бітів, ніж його ентропія. Частим символам ви даєте короткі коди, рідкісним — довгі, як в абетці Морзе, де найчастіша літера E — це одна-єдина крапка.
Чотири літери A, B, C, D з імовірностями 1/2, 1/4, 1/8, 1/8 мають ентропію 1,75 біта. Сталий код потребує 2 біти на літеру. Код Гаффмана (0, 10, 110, 111) має середню довжину 1/2 · 1 + 1/4 · 2 + 2 · 1/8 · 3 = 1,75 біта — рівно ентропію. Тож повідомлення ABACABAD уміщується в 14 бітів замість 16:
4. Перехресна ентропія
Означення — перехресна ентропія
Для справжнього розподілу p і моделі q на тих самих значеннях перехресна ентропія — це
H(p, q) = −∑x p(x) log2 q(x).
Середня кількість бітів, коли дані надходять за розподілом p, а код ви склали за моделлю q. Інакше кажучи: наскільки модель вас у середньому дивує. Дощ іде в 70 % днів; модель, яка стверджує «50 : 50», платить 1 біт за день, тоді як правильна модель — лише 0,881 біта.
Теорема — нерівність Гіббса
H(p, q) ≥ H(p), причому рівність виконується тоді й лише тоді, коли q = p.
Погана модель завжди коштує вам зайвих бітів. Найменшої несподіванки ви досягнете лише з правильним розподілом — тому перехресну ентропію й має сенс мінімізувати: мінімум там, де модель каже правду.
5. KL-дивергенція
Означення — дивергенція Кульбака — Лейблера
DKL(p ‖ q) = ∑x p(x) log2 (p(x) / q(x)) = H(p, q) − H(p).
Скільки зайвих бітів ви платите за те, що користуєтеся моделлю q замість дійсності p, — той помаранчевий відрізок на рисунку. Модель «50 : 50» для дощу в 70 % днів коштує 1 − 0,881 = 0,119 біта зайвих, а модель «90 % дощу» — навіть 0,222 біта. За нерівністю Гіббса KL-дивергенція завжди невід’ємна і дорівнює нулю лише при q = p.
Увага: KL-дивергенція — не відстань, бо вона не симетрична. DKL(0,7 ‖ 0,5) = 0,119, але DKL(0,5 ‖ 0,7) = 0,126. Важливо, що тут дійсність, а що модель.
6. Приріст інформації
Означення — умовна ентропія
H(Y | X) = ∑x P(X = x) · H(Y | X = x), де H(Y | X = x) — ентропія умовного розподілу Y.
Скільки невизначеності щодо Y у середньому залишиться після того, як ви дізнаєтеся X.
Означення — приріст інформації (взаємна інформація)
I(X; Y) = H(Y) − H(Y | X).
На скільки бітів зменшиться невизначеність, коли ви дізнаєтеся X. У прикладі зі спамом із частини про теорему Баєса спам становить 40 % пошти: невизначеність 0,971 біта. Коли ви знаєте, чи містить лист слово «виграш», вона в середньому падає до 0,826 біта — приріст 0,145 біта. Саме так дерева рішень обирають, про що спитати насамперед: про ознаку з найбільшим приростом інформації.
7. Теорія інформації в штучному інтелекті
- Перехресна ентропія як функція втрат. Для одного прикладу з правильним класом y це −log q(y) — наскільки модель здивувала правильна відповідь. Середнє за даними — це від’ємна логарифмічна правдоподібність, тож мінімізація перехресної ентропії — це метод максимальної правдоподібності з попередньої частини. Бібліотеки використовують натуральний логарифм (одиниця — нат): 1 біт = ln 2 ≈ 0,693 ната.
- Перплексія мовної моделі — це 2H, де H — перехресна ентропія на слово в бітах. Перплексія 8 означає, що модель у середньому так само невпевнена, як коли б обирала з восьми однаково ймовірних слів.
- KL-дивергенція тримає вкупі варіаційні автокодувальники (VAE), дистиляцію моделей (мала модель наслідує розподіл великої) і донавчання мовних моделей на зворотному зв’язку від людей (RLHF), де штраф за KL-дивергенцію не дає моделі відійти надто далеко від початкової.
- Стиснення і передбачення — одне й те саме. Модель, яка добре передбачає наступний символ, уміє добре стискати дані — і навпаки. Тому мовні моделі порівнюють за кількістю бітів на символ.
8. Підсумок
- Інформація події −log2 p вимірює несподіванку в бітах; інформації незалежних подій додаються.
- Ентропія — це середня несподіванка, не більша за log2 n, і водночас нижня межа середньої довжини коду.
- Перехресна ентропія вимірює, скільки бітів коштує модель q на даних із p; вона найменша при q = p.
- KL-дивергенція — це ціна поганої моделі: H(p, q) − H(p) ≥ 0, і вона не симетрична.
- Функція втрат класифікаторів і мовних моделей — це перехресна ентропія, тобто максимальна правдоподібність.
Маєте іншу думку? Напишіть на support@coden-app.com.