Teorie informace: entropie, křížová entropie a KL divergence — odkud se berou ztrátové funkce
Informace jako překvapení, entropie a Huffmanův kód, křížová entropie, KL divergence a informační zisk — a proč je ztrátová funkce jazykových modelů křížová entropie.
Série Základy AI Díl 20 z 83
- Mapa umělé inteligence: co je co a jak to do sebe zapadá
- Stručná historie umělé inteligence: od Turinga po jazykové modely
- Data, model, trénink, inference: základní pojmy na jednom příkladu
- Jak číst matematický zápis: symboly, indexy, sumy a kvantifikátory
- Množiny a relace: stavebnice, ze které se skládají definice v AI
- Funkce a zobrazení: proč je každý model v AI funkce
- Logika a důkazy: pravidla, podle kterých se v AI uvažuje
- Grafy a stromy: struktura, na které stojí hledání i neuronové sítě
- Lineární algebra pro strojové učení: vektory, matice a proč AI hlavně násobí
- Derivace, gradient a řetízkové pravidlo: jak model zjistí, kterým směrem se učit
- Gradientní sestup: jak se model učí
- Co je pravděpodobnost: od hodu kostkou ke Kolmogorovovým axiomům
- Podmíněná pravděpodobnost a Bayesova věta: jak změnit odhad, když se dozvíte něco nového
- Náhodná veličina a distribuční funkce: jedna funkce, která o rozdělení řekne všechno
- Funkce hustoty a pravděpodobnostní funkce: proč má spojitá veličina v bodě pravděpodobnost nula
- Střední hodnota, rozptyl a kovariance: kde rozdělení leží, jak je široké a co s čím souvisí
- Přehled pravděpodobnostních rozdělení: Bernoulli, binomické, Poisson, rovnoměrné, normální a exponenciální
- Zákon velkých čísel a centrální limitní věta: proč se průměry chovají tak předvídatelně
- Statistika a odhady parametrů: maximální věrohodnost, MAP a intervaly spolehlivosti
- Teorie informace: entropie, křížová entropie a KL divergence — odkud se berou ztrátové funkce
- Prohledávání stavového prostoru: BFS, DFS, UCS a A* s animacemi
- Hry a protivník: minimax, alfa-beta ořezávání a Monte Carlo tree search
- Splňování omezujících podmínek: backtracking, propagace omezení a AC-3 na sudoku a mapě krajů
- Logika a znalostní systémy: dopředné a zpětné řetězení, rezoluce a expertní systémy
- Plánování: STRIPS, svět kostek, heuristiky z relaxace a plánování v AI agentech
- Lokální hledání a simulované žíhání: obchodní cestující přes krajská města
- Genetické algoritmy: populace, křížení, mutace a výběr na batohu na výlet
- Evoluční strategie a genetické programování: od pravidla jedné pětiny po Keplerův zákon
- Optimalizace mravenčí kolonií: jak feromonová stopa najde krátkou cestu
- Optimalizace hejnem částic: setrvačnost, vlastní zkušenost a zkušenost hejna
- Neuroevoluce: evoluce vah i tvaru neuronových sítí a algoritmus NEAT
- Fuzzy množiny a funkce příslušnosti: jak zapsat „trochu teplo“
- Fuzzy logika a pravděpodobnost: proč „trochu teplo“ neznamená „pravděpodobně teplo“
- Fuzzy logika: t-normy, implikace a pravidla KDYŽ–PAK
- Fuzzy řízení: Mamdani a Sugeno od ventilátoru po kyvadlo na vozíku
- Fuzzy shlukování: algoritmus fuzzy c-means a body mezi shluky
- Neuro-fuzzy systémy (ANFIS): fuzzy pravidla, která se učí z dat
- Markovovy řetězce: přechodová matice, stacionární rozdělení a PageRank
- Skryté Markovovy modely: Viterbiho algoritmus a nepoctivé kasino
- Bayesovské sítě: proč je tráva mokrá a co z toho plyne pro postřikovač
- Kalmanův filtr: jak z nepřesných měření odhadnout, kde auto je a jak rychle jede
- Druhy strojového učení: s učitelem, bez učitele, s částečným učitelem a další
- Přeučení a regularizace: proč model, který zná data nazpaměť, selže
- Vyhodnocení modelu: křížová validace, F1 a křivka ROC
- Shlukování a snížení dimenze: k-means, PCA a t-SNE
- Klasifikace a regrese: dvě úlohy učení s učitelem
- Lineární regrese: nejmenší čtverce geometricky i maticově
- Polynomiální a nelineární regrese: jak přímku ohnout
- Logistická regrese: sigmoida, šance a křížová entropie
- Vícetřídní klasifikace a softmax: od dvou tříd k mnoha
- Naivní Bayesův klasifikátor: spamový filtr, který funguje lépe, než by měl
- Ztrátové funkce: co přesně model minimalizuje
- Rozhodovací stromy a k nejbližších sousedů: modely bez vzorců
- Ansámbly: náhodný les a gradient boosting
- SVM a jádrový trik: nejširší hranice a jak ji ohnout
- Signál a vzorkování: proč platí Nyquistův teorém
- Fourierova transformace: rozklad signálu na frekvence
- Filtry a konvoluce: vyhlazení, hrany a odstranění šumu
- Zvuk a řeč: spektrogram, melová škála a MFCC
- Obraz jako signál: pixely, barvy, konvoluce a hrany
- Perceptron a umělý neuron: nejjednodušší neuronová síť a co neumí
- Neuronová síť od nuly: zpětné šíření chyby krok za krokem
- Aktivace, inicializace a normalizace: drobnosti, na kterých hluboká síť stojí
- Konvoluční sítě: jak síť poznává obrázky
- Rekurentní sítě: paměť pro posloupnosti a mizející gradient
- LSTM a GRU: brány, které rozhodují, co si síť zapamatuje
- Autoenkodéry: síť, která se učí data stlačit a zase rozbalit
- Embeddingy a word2vec: jak se slovo stane vektorem
- Mechanismus pozornosti: jak se model naučí, kam se dívat
- Transformery a velké jazykové modely: architektura krok za krokem
- Tokenizace: jak se text rozseká na kousky pro model
- Předtrénování a škálování: proč větší model a víc dat funguje
- Doladění a RLHF: jak se z doplňovače textu stane asistent
- Prompty, kontext a RAG: jak modelu dát správné informace
- Variační autoenkodéry (VAE): nové obrázky ze spojitého latentního prostoru
- Generativní adversariální sítě (GAN): padělatel proti detektivovi
- Difúzní modely: jak se z čistého šumu stane obrázek
- Markovovy rozhodovací procesy: stavy, akce, odměny a Bellmanovy rovnice
- Q-learning a DQN: učení hodnoty akcí od tabulky po neuronovou síť
- Policy gradient a PPO: učení přímo strategie
- Jak funguje AI agent: jazykový model ve smyčce s nástroji
- Programování s AI agenty: zadání, testy a kontrola
- Vyhodnocení a bezpečnost AI systémů: jak měřit a jak hlídat
Celá osnova série 83 z 83 témat hotovo
- Co je informace a entropie, proč se měří v bitech a proč je entropie hranicí komprese.
- Co měří křížová entropie a KL divergence a proč je jejich minimum tam, kde model říká pravdu.
- Proč je křížová entropie ztrátová funkce klasifikátorů a jazykových modelů a co je perplexita.
Co se hodí znát předem: Statistika a odhady parametrů: maximální věrohodnost, MAP a intervaly spolehlivosti
Když trénujete klasifikátor nebo jazykový model, skoro jistě minimalizujete „křížovou entropii“. Odkud se to slovo vzalo? Z teorie informace, kterou v roce 1948 založil Claude Shannon, když řešil, jak co nejúsporněji posílat zprávy po telefonní lince. Ukázalo se, že otázka „kolik bitů potřebuji“ a otázka „jak dobře model předpovídá“ jsou jedna a tatáž. Tímhle dílem končí modul o pravděpodobnosti a statistice.
Navazuje na díly Přehled rozdělení a Statistika a odhady.
1. Informace jako překvapení
Definice — informace jevu
Nechť (Ω, 𝓕, P) je pravděpodobnostní prostor a A ∈ 𝓕 jev s pravděpodobností p = P(A) > 0. Informace (vlastní informace) jevu A je číslo
I(p) = −log2 p bitů.
Informace tedy závisí jen na pravděpodobnosti jevu; I chápeme jako funkci I : (0, 1] → [0, ∞). Jednotkou je bit (při přirozeném logaritmu by to byl nat). Čím menší je p, tím větší je I(p), a I(1) = 0.
Informace měří překvapení. Že ráno vyšlo slunce, vás nepřekvapí — nula bitů. Hod mincí nese 1 bit, hod kostkou log2 6 ≈ 2,585 bitu a jev se šancí 1 : 1024 celých 10 bitů. Logaritmus zajistí, že informace nezávislých jevů se sčítají: dvě mince jsou 2 bity.
Bit je informace jedné otázky ano/ne s férovou odpovědí. Číslo od 1 do 1024 uhodnete na 10 otázek („je větší než 512?“…) — právě proto, že každá odpověď nese 1 bit a log2 1024 = 10.
I(p) = −log2 p
- −
- pro p ≤ 1 je logaritmus záporný nebo nulový; minus z něj udělá nezáporné číslo, které s klesající p roste
- log
- promění násobení pravděpodobností nezávislých jevů na sčítání informací: log(pq) = log p + log q
- 2
- základ určuje jednotku: se dvojkou je jednotkou bit, odpověď na jednu férovou otázku ano/ne (s e by to byl nat)
- p
- pravděpodobnost jevu — čím menší, tím víc nás jev překvapí
Věta — informace nezávislých jevů se sčítají
Nechť (Ω, 𝓕, P) je pravděpodobnostní prostor a A, B ∈ 𝓕 jsou nezávislé jevy s pravděpodobnostmi p = P(A) > 0 a q = P(B) > 0. Pak P(A ∩ B) = pq a
I(pq) = I(p) + I(q).
Důkaz. Z nezávislosti P(A ∩ B) = pq a I(pq) = −log2 (pq) = −log2 p − log2 q = I(p) + I(q). ∎
Naopak: nechť J : (0, 1] → ℝ je spojitá funkce taková, že J(pq) = J(p) + J(q) pro všechna p, q ∈ (0, 1]. Pak existuje c ∈ ℝ, že J(p) = −c log2 p pro všechna p ∈ (0, 1] (substitucí p = 2−t dostaneme Cauchyho funkcionální rovnici g(s + t) = g(s) + g(t) pro spojitou g na [0, ∞), jejímž jediným řešením je g(t) = ct). Požadavek J(1/2) = 1 dá c = 1. Logaritmus tedy není libovůle — je to jediná spojitá míra překvapení, která se u nezávislých jevů sčítá.
Příklad: kostka a mince zároveň, p = 1/6 · 1/2 = 1/12: I = log2 12 ≈ 3,585 = 2,585 + 1 bitu.
2. Entropie
Definice — entropie
Nechť X je diskrétní náhodná veličina s konečnou nebo spočetnou množinou hodnot 𝒳 a pravděpodobnostní funkcí p : 𝒳 → [0, 1], p(x) = P(X = x). Entropie veličiny X je
H(X) = −∑x ∈ 𝒳 p(x) log2 p(x),
kde člen s p(x) = 0 bereme jako 0 (0 · log2 0 := 0, což je limita t log2 t pro t → 0+). Pro spočetné 𝒳 může součet být +∞. Ekvivalentně H(X) = E[I(p(X))], střední hodnota informace výsledku. Protože H(X) závisí jen na rozdělení p, píšeme také H(p).
Průměrné překvapení — jak moc je výsledek nejistý. Férová mince má entropii 1 bit, mince, která padá lícem v 90 % případů, jen 0,469 bitu: skoro vždy víte, co padne. Kostka má 2,585 bitu.
H(X) = ∑x p(x) · (−log2 p(x))
- ∑x
- přes všechny možné výsledky — entropie je vlastnost celého rozdělení, ne jednoho jevu
- p(x)
- váha: jak často výsledek nastane; časté výsledky do průměru přispívají víc
- −log2 p(x)
- překvapení z výsledku x, informace z předchozího oddílu; vzácné výsledky překvapí hodně, ale přicházejí zřídka
Příklad — entropie mince s 90 % líců
Pro veličinu se dvěma hodnotami s pravděpodobnostmi p a 1 − p (p ∈ [0, 1]) má entropie tvar h(p) = −p log2 p − (1 − p) log2 (1 − p) (binární entropie, křivka níže).
h(0,9) = 0,9 · (−log2 0,9) + 0,1 · (−log2 0,1) = 0,9 · 0,152 + 0,1 · 3,322 = 0,137 + 0,332 = 0,469 bitu (barvy podle vzorce výše).
Většinu entropie dodá vzácný rub: překvapí za 3,32 bitu, i když jen v desetině hodů.
Věta — meze entropie
Nechť X je diskrétní náhodná veličina s konečnou množinou hodnot 𝒳, |𝒳| = n ≥ 1, a pravděpodobnostní funkcí p. Pak
0 ≤ H(X) ≤ log2 n,
přičemž
- H(X) = 0, právě když existuje x ∈ 𝒳 s p(x) = 1 (výsledek je jistý);
- H(X) = log2 n, právě když p(x) = 1/n pro všechna x ∈ 𝒳 (rozdělení je rovnoměrné).
Důkaz. Každý člen −p(x) log2 p(x) je pro p(x) ∈ [0, 1] nezáporný a nulový jen pro p(x) ∈ {0, 1}; součet je tedy nulový, právě když všechna p(x) jsou 0 nebo 1, tj. jedno z nich je 1. Horní mez a podmínka rovnosti plynou z Gibbsovy nerovnosti níže pro rovnoměrné q(x) = 1/n: H(p) ≤ H(p, q) = −∑ p(x) log2 1/n = log2 n, s rovností právě pro p = q. ∎
Nejméně nejistoty je, když je výsledek jistý; nejvíc, když jsou všechny možnosti stejně pravděpodobné. Proto je vrchol křivky přesně v p = 0,5.
3. Entropie jako délka kódu
Definice — bezprefixový kód a průměrná délka
Nechť 𝒳 je konečná neprázdná množina symbolů a {0, 1}+ množina všech neprázdných konečných slov z nul a jedniček. Binární kód je zobrazení C : 𝒳 → {0, 1}+; slovo C(x) je kódové slovo symbolu x a ℓ(x) ∈ ℕ jeho délka (počet znaků).
- Kód C je bezprefixový, právě když pro všechna x, y ∈ 𝒳, x ≠ y, není C(x) začátkem (prefixem) C(y), tj. neexistuje slovo w (ani prázdné) s C(y) = C(x)w.
- Kód C je jednoznačně dekódovatelný, právě když je prosté jeho rozšíření na zprávy C(x1x2…xm) = C(x1)C(x2)…C(xm) (zřetězení), m ≥ 1 — různé zprávy dají různé posloupnosti bitů. Každý bezprefixový kód je jednoznačně dekódovatelný: zprávu jde dekódovat zleva bez oddělovačů.
- Nechť p je rozdělení pravděpodobnosti na 𝒳. Průměrná délka kódu C je L(C) = ∑x ∈ 𝒳 p(x) ℓ(x).
Věta — Kraftova nerovnost
Nechť 𝒳 je konečná neprázdná množina a ℓ : 𝒳 → ℕ, ℓ(x) ≥ 1, předepsané délky. Bezprefixový binární kód C s délkami slov ℓ(x), x ∈ 𝒳, existuje, právě když
∑x ∈ 𝒳 2−ℓ(x) ≤ 1.
Krátká slova jsou drahá: slovo délky 1 zabere polovinu všech možných pokračování, slovo délky 2 čtvrtinu. Rozpočet je 1 a nedá se přečerpat. Odtud plyne Shannonova věta — délky ℓ(x) = −log2 p(x) rozpočet přesně vyčerpají a průměrná délka je pak rovna entropii.
Věta — Shannonova věta o kódování zdroje
Nechť 𝒳 je konečná množina s aspoň dvěma prvky a p rozdělení pravděpodobnosti na 𝒳 s p(x) > 0 pro všechna x ∈ 𝒳. Pak
- každý jednoznačně dekódovatelný binární kód C pro 𝒳 má průměrnou délku L(C) ≥ H(p);
- existuje bezprefixový binární kód C pro 𝒳 s L(C) < H(p) + 1 (stačí délky ℓ(x) = ⌈−log2 p(x)⌉, které splňují Kraftovu nerovnost).
Entropie je hranice komprese: zprávu nelze zakódovat do méně bitů, než kolik je její entropie. Častým symbolům dáte krátké kódy, vzácným dlouhé — jako Morseova abeceda, kde nejčastější písmeno E je jediná tečka.
Čtyři písmena A, B, C, D s pravděpodobnostmi 1/2, 1/4, 1/8, 1/8 mají entropii 1,75 bitu. Pevný kód potřebuje 2 bity na písmeno. Huffmanův kód (0, 10, 110, 111) má průměrnou délku 1/2 · 1 + 1/4 · 2 + 2 · 1/8 · 3 = 1,75 bitu — přesně entropii. Zpráva ABACABAD se tak vejde do 14 bitů místo 16:
Kód 0, 10, 110, 111 má délky 1, 2, 3, 3 — přesně −log2 pravděpodobností 1/2, 1/4, 1/8, 1/8. Kraftův součet 1/2 + 1/4 + 1/8 + 1/8 = 1: rozpočet je vyčerpaný do posledního bitu. Takový kód najde Huffmanův algoritmus:
huffman(symboly s pravděpodobnostmi):
každý symbol je samostatný strom
dokud zbývá víc než jeden strom:
vezmi dva stromy s nejmenší pravděpodobností # nejvzácnější dostanou nejdelší kód
spoj je pod nový uzel: levý dostane 0, pravý 1
pravděpodobnost uzlu = součet obou
kód symbolu = cesta od kořene k němu
Příklad — Huffman pro A, B, C, D
- Spojí se dva nejmenší: 1/8 + 1/8 = 1/4.
- Spojí se dva nejmenší: 1/4 + 1/4 = 1/2.
- Spojí se dva nejmenší: 1/2 + 1/2 = 1 (kořen).
Cesty od kořene: A = 0, B = 10, C = 110, D = 111. Každé slití prodlouží kód všech symbolů v obou spojených stromech o jeden bit — proto C a D, spojené jako první, mají kód nejdelší.
4. Křížová entropie
Definice — křížová entropie
Nechť 𝒳 je konečná neprázdná množina, p : 𝒳 → [0, 1] skutečné rozdělení pravděpodobnosti a q : 𝒳 → [0, 1] rozdělení podle modelu, přičemž q(x) > 0 pro každé x s p(x) > 0. Křížová entropie rozdělení q vzhledem k p je
H(p, q) = −∑x ∈ 𝒳, p(x) > 0 p(x) log2 q(x).
Je to střední hodnota překvapení modelu −log2 q(X), když X má skutečné rozdělení p. (Kdyby q(x) = 0 pro nějaké x s p(x) > 0, klade se H(p, q) = +∞.) Pro q = p je H(p, p) = H(p).
Průměrný počet bitů, když data přicházejí podle p, ale kód jste navrhli podle modelu q. Neboli: jak moc vás model v průměru překvapuje. Prší v 70 % dní; model, který tvrdí „50 : 50“, platí 1 bit na den, kdežto správný model jen 0,881 bitu.
H(p, q) = ∑x p(x) · (−log2 q(x))
- ∑x
- přes všechny výsledky, které mohou nastat
- p(x)
- jak často výsledek skutečně nastává — váhy dává realita, protože průměrujeme přes data, která opravdu přijdou
- −log2 q(x)
- jak moc výsledek překvapí model (a kolik bitů mu dá kód navržený podle modelu); kde model dá malou pravděpodobnost něčemu častému, platí hodně
Příklad — tři předpovědi deště
Skutečnost: prší s p = 0,7, tedy p(déšť) = 0,7 a p(sucho) = 0,3. Model „q“ dává dešti pravděpodobnost q a suchu 1 − q. Barvy podle vzorce výše:
- Model 0,5: H = 0,7 · 1 + 0,3 · 1 = 1 bit.
- Model 0,7: H = 0,7 · 0,515 + 0,3 · 1,737 = 0,881 bitu — to je entropie H(p).
- Model 0,9: H = 0,7 · 0,152 + 0,3 · 3,322 = 0,106 + 0,997 = 1,103 bitu.
Přehnaně jistý model je tu horší než nerozhodný: suché dny (30 %) ho překvapí za 3,32 bitu.
Věta — Gibbsova nerovnost
Nechť 𝒳 je konečná neprázdná množina a p, q rozdělení pravděpodobnosti na 𝒳 taková, že q(x) > 0 pro každé x s p(x) > 0. Pak
H(p, q) ≥ H(p),
s rovností, právě když q(x) = p(x) pro všechna x ∈ 𝒳.
Důkaz. Využijeme ln t ≤ t − 1 pro t > 0 (rovnost jen pro t = 1) a log2 t = ln t/ln 2. Sčítáme přes x s p(x) > 0:
H(p) − H(p, q) = ∑ p(x) log2 q(x)/p(x) ≤ 1/ln 2 ∑ p(x) (q(x)/p(x) − 1) = 1/ln 2 (∑ q(x) − 1) ≤ 0,
kde poslední součet je jen přes x s p(x) > 0, a je proto nejvýš 1. Rovnost v první nerovnosti nastane, právě když q(x)/p(x) = 1 pro všechna x s p(x) > 0; pak je ∑ q(x) přes tato x rovno 1, platí rovnost i ve druhé a q je mimo ně nulové, tedy q = p. ∎
Špatný model vás vždycky stojí bity navíc. Nejméně překvapení dosáhnete jen se správným rozdělením — a proto má smysl křížovou entropii minimalizovat: minimum je tam, kde model říká pravdu.
5. KL divergence
Definice — Kullbackova–Leiblerova divergence
Nechť 𝒳 je konečná neprázdná množina a p, q rozdělení pravděpodobnosti na 𝒳 taková, že q(x) > 0 pro každé x s p(x) > 0. Kullbackova–Leiblerova divergence rozdělení q od p je
DKL(p ‖ q) = ∑x ∈ 𝒳, p(x) > 0 p(x) log2 p(x)/q(x).
Rozepsáním log2 p(x)/q(x) = −log2 q(x) − (−log2 p(x)) vyjde DKL(p ‖ q) = H(p, q) − H(p), takže podle Gibbsovy nerovnosti DKL(p ‖ q) ≥ 0, s rovností právě pro q = p.
Kolik bitů navíc platíte za to, že používáte model q místo skutečnosti p — ta oranžová úsečka v obrázku. Model „50 : 50“ pro déšť v 70 % dní stojí 1 − 0,881 = 0,119 bitu navíc, model „90 % déšť“ dokonce 0,222 bitu. Podle Gibbsovy nerovnosti je KL divergence vždy nezáporná a nulová jen pro q = p.
DKL(p ‖ q) = ∑x p(x) · log2 p(x)/q(x)
- p(x)
- váhy ze skutečnosti — chyby modelu na častých výsledcích bolí víc; proto záleží na pořadí argumentů
- log2 p(x)/q(x)
- = (−log2 q(x)) − (−log2 p(x)): o kolik bitů víc nás výsledek x stojí s modelem než se skutečností; kladné tam, kde model výsledek podcenil, záporné, kde přecenil
Pozor, KL divergence není vzdálenost: není symetrická. Píšeme-li u dvou výsledků (déšť, sucho) místo rozdělení jen pravděpodobnost deště, je DKL(0,7 ‖ 0,5) = 0,119, ale DKL(0,5 ‖ 0,7) = 0,126. Záleží na tom, co je skutečnost a co model.
Příklad — proč KL divergence není symetrická
Barvy podle vzorce výše.
DKL(0,7 ‖ 0,5) = 0,7 · log2 0,7/0,5 + 0,3 · log2 0,3/0,5 = 0,340 − 0,221 = 0,119.
DKL(0,5 ‖ 0,7) = 0,5 · log2 0,5/0,7 + 0,5 · log2 0,5/0,3 = −0,243 + 0,368 = 0,126.
Kladný člen je pokaždé ten, kde model něco podceňuje: v prvním případě déšť poměrem 0,7/0,5 = 1,4, ve druhém sucho poměrem 0,5/0,3 ≈ 1,67. Druhé podcenění je hrubší, a tak stojí víc bitů. Prohodit skutečnost a model tedy výsledek mění.
6. Informační zisk
Definice — podmíněná entropie
Nechť X a Y jsou diskrétní náhodné veličiny na témž pravděpodobnostním prostoru s konečnými množinami hodnot 𝒳 a 𝒴. Pro x ∈ 𝒳 s P(X = x) > 0 je entropie podmíněného rozdělení Y při X = x
H(Y | X = x) = −∑y ∈ 𝒴 P(Y = y | X = x) log2 P(Y = y | X = x)
(opět s 0 · log2 0 := 0). Podmíněná entropie Y při znalosti X je vážený průměr těchto entropií:
H(Y | X) = ∑x ∈ 𝒳, P(X = x) > 0 P(X = x) · H(Y | X = x).
Kolik nejistoty o Y zbude v průměru poté, co se dozvíte X.
Definice — informační zisk (vzájemná informace)
Nechť X a Y jsou diskrétní náhodné veličiny na témž pravděpodobnostním prostoru s konečnými množinami hodnot. Vzájemná informace (informační zisk) veličin X a Y je
I(X; Y) = H(Y) − H(Y | X).
Je to tedy rozdíl nejistoty o Y před zjištěním hodnoty X a průměrné nejistoty po něm.
O kolik bitů se nejistota zmenší, když se dozvíte X. Ve spamovém příkladu z dílu o Bayesově větě je spam 40 % pošty: nejistota 0,971 bitu. Když víte, jestli e-mail obsahuje slovo „výhra“, klesne v průměru na 0,826 bitu — zisk 0,971 − 0,826 = 0,145 bitu (barvy podle vzorce níže). Rozhodovací stromy přesně takhle vybírají, na co se zeptat jako první: na příznak s největším informačním ziskem.
I(X; Y) = H(Y) − H(Y | X)
- H(Y)
- nejistota o Y předtím, než se na cokoli podíváme — výchozí stav
- H(Y | X)
- nejistota, která zbude po zjištění X, zprůměrovaná přes všechny možné hodnoty X (předem nevíme, která vyjde); odečítáme ji, protože nás zajímá jen to, co X odstranilo
Příklad — informační zisk slova „výhra“
Spam je 40 % pošty, slovo „výhra“ obsahuje 30 % spamu a 1 % ostatních e-mailů. Y je „spam, nebo ne“, X „obsahuje slovo, nebo ne“. Barvy podle vzorce výše.
- Před: H(Y) = h(0,4) = 0,971 bitu.
- P(slovo) = 0,3 · 0,4 + 0,01 · 0,6 = 0,126.
- Se slovem (Bayes): P(spam | slovo) = 0,3 · 0,4/0,126 = 0,12/0,126 = 0,952, entropie h(0,952) = 0,276.
- Bez slova: P(spam | bez slova) = 0,7 · 0,4/0,874 = 0,320, entropie h(0,320) = 0,905.
- Po: H(Y | X) = 0,126 · 0,276 + 0,874 · 0,905 = 0,826.
- Zisk: 0,971 − 0,826 = 0,145 bitu.
Slovo skoro jistě prozradí spam, ale objeví se jen v 12,6 % e-mailů; v ostatních klesne nejistota jen málo (0,905 místo 0,971). Proto je průměrný zisk skromný.
nejlepsi_otazka(data, příznaky): # krok rozhodovacího stromu (ID3)
pro každý příznak X:
zisk[X] ← H(třída) − ∑ podíl(X = x) · H(třída | X = x)
vrať příznak s největším zisk[X] # data rozdělíme podle něj a opakujeme
7. Teorie informace v umělé inteligenci
- Křížová entropie jako ztrátová funkce. Pro jeden příklad se správnou třídou y je to −log q(y) — jak moc model překvapila správná odpověď. Průměr přes data je záporná logaritmická věrohodnost, takže minimalizace křížové entropie je metoda maximální věrohodnosti z minulého dílu. Knihovny používají přirozený logaritmus (jednotka nat): 1 bit = ln 2 ≈ 0,693 natu.
- Perplexita jazykového modelu je 2H, kde H je křížová entropie na slovo v bitech. Perplexita 8 znamená, že model je v průměru stejně nejistý, jako kdyby volil mezi osmi stejně pravděpodobnými slovy.
- KL divergence drží pohromadě variační autoenkodéry (VAE), destilaci modelů (malý model napodobuje rozdělení velkého) i doladění jazykových modelů zpětnou vazbou od lidí (RLHF), kde trest za KL divergenci nedovolí modelu utéct příliš daleko od původního.
- Komprese a predikce jsou jedno. Model, který dobře předpovídá další symbol, umí data dobře zkomprimovat — a naopak. Proto se jazykové modely porovnávají počtem bitů na znak.
ztráta(θ) = 1/N ∑i=1N (−ln qθ(yi | xi))
- ztráta(θ)
- číslo, které trénování snižuje změnou parametrů θ
- 1/N ∑
- průměr přes trénovací příklady — místo neznámého p průměrujeme přes data, která z p přišla
- −ln
- překvapení v natech; přirozený logaritmus kvůli pohodlným derivacím, od bitů se liší jen násobkem ln 2
- qθ(yi | xi)
- pravděpodobnost, kterou model pro vstup xi dal správné odpovědi yi; ostatní třídy ve vzorci nejsou, protože skutečné p má u správné třídy 1 a jinde 0
Příklad — perplexita na čtyřech slovech
Model dal správným slovům věty pravděpodobnosti 1/2, 1/4, 1/8, 1/8. Překvapení v bitech: 1, 2, 3, 3; průměr H = 2,25 bitu na slovo.
Perplexita 22,25 ≈ 4,76: model váhal zhruba jako mezi pěti stejně pravděpodobnými slovy. Pozor, je to 2 na průměr logaritmů, tedy geometrický průměr čísel 1/q — ne obyčejný průměr čísel 2, 4, 8, 8 (ten by byl 5,5).
8. Shrnutí
- Informace jevu −log2 p měří překvapení v bitech; nezávislé informace se sčítají.
- Entropie je průměrné překvapení, nejvýš log2 n, a je to dolní mez průměrné délky kódu.
- Křížová entropie měří, kolik bitů stojí model q na datech z p; nejmenší je pro q = p.
- KL divergence je cena za špatný model: H(p, q) − H(p) ≥ 0, a není symetrická.
- Ztrátová funkce klasifikátorů a jazykových modelů je křížová entropie — tedy maximální věrohodnost.
Máte na to jiný názor? Napište na support@coden-app.com.