Přeskočit na obsah
coden

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.

13 minut Matěj Žalmánek 2026-10-15

Série Základy AI Díl 20 z 83
  1. Mapa umělé inteligence: co je co a jak to do sebe zapadá
  2. Stručná historie umělé inteligence: od Turinga po jazykové modely
  3. Data, model, trénink, inference: základní pojmy na jednom příkladu
  4. Jak číst matematický zápis: symboly, indexy, sumy a kvantifikátory
  5. Množiny a relace: stavebnice, ze které se skládají definice v AI
  6. Funkce a zobrazení: proč je každý model v AI funkce
  7. Logika a důkazy: pravidla, podle kterých se v AI uvažuje
  8. Grafy a stromy: struktura, na které stojí hledání i neuronové sítě
  9. Lineární algebra pro strojové učení: vektory, matice a proč AI hlavně násobí
  10. Derivace, gradient a řetízkové pravidlo: jak model zjistí, kterým směrem se učit
  11. Gradientní sestup: jak se model učí
  12. Co je pravděpodobnost: od hodu kostkou ke Kolmogorovovým axiomům
  13. Podmíněná pravděpodobnost a Bayesova věta: jak změnit odhad, když se dozvíte něco nového
  14. Náhodná veličina a distribuční funkce: jedna funkce, která o rozdělení řekne všechno
  15. Funkce hustoty a pravděpodobnostní funkce: proč má spojitá veličina v bodě pravděpodobnost nula
  16. Střední hodnota, rozptyl a kovariance: kde rozdělení leží, jak je široké a co s čím souvisí
  17. Přehled pravděpodobnostních rozdělení: Bernoulli, binomické, Poisson, rovnoměrné, normální a exponenciální
  18. Zákon velkých čísel a centrální limitní věta: proč se průměry chovají tak předvídatelně
  19. Statistika a odhady parametrů: maximální věrohodnost, MAP a intervaly spolehlivosti
  20. Teorie informace: entropie, křížová entropie a KL divergence — odkud se berou ztrátové funkce
  21. Prohledávání stavového prostoru: BFS, DFS, UCS a A* s animacemi
  22. Hry a protivník: minimax, alfa-beta ořezávání a Monte Carlo tree search
  23. Splňování omezujících podmínek: backtracking, propagace omezení a AC-3 na sudoku a mapě krajů
  24. Logika a znalostní systémy: dopředné a zpětné řetězení, rezoluce a expertní systémy
  25. Plánování: STRIPS, svět kostek, heuristiky z relaxace a plánování v AI agentech
  26. Lokální hledání a simulované žíhání: obchodní cestující přes krajská města
  27. Genetické algoritmy: populace, křížení, mutace a výběr na batohu na výlet
  28. Evoluční strategie a genetické programování: od pravidla jedné pětiny po Keplerův zákon
  29. Optimalizace mravenčí kolonií: jak feromonová stopa najde krátkou cestu
  30. Optimalizace hejnem částic: setrvačnost, vlastní zkušenost a zkušenost hejna
  31. Neuroevoluce: evoluce vah i tvaru neuronových sítí a algoritmus NEAT
  32. Fuzzy množiny a funkce příslušnosti: jak zapsat „trochu teplo“
  33. Fuzzy logika a pravděpodobnost: proč „trochu teplo“ neznamená „pravděpodobně teplo“
  34. Fuzzy logika: t-normy, implikace a pravidla KDYŽ–PAK
  35. Fuzzy řízení: Mamdani a Sugeno od ventilátoru po kyvadlo na vozíku
  36. Fuzzy shlukování: algoritmus fuzzy c-means a body mezi shluky
  37. Neuro-fuzzy systémy (ANFIS): fuzzy pravidla, která se učí z dat
  38. Markovovy řetězce: přechodová matice, stacionární rozdělení a PageRank
  39. Skryté Markovovy modely: Viterbiho algoritmus a nepoctivé kasino
  40. Bayesovské sítě: proč je tráva mokrá a co z toho plyne pro postřikovač
  41. Kalmanův filtr: jak z nepřesných měření odhadnout, kde auto je a jak rychle jede
  42. Druhy strojového učení: s učitelem, bez učitele, s částečným učitelem a další
  43. Přeučení a regularizace: proč model, který zná data nazpaměť, selže
  44. Vyhodnocení modelu: křížová validace, F1 a křivka ROC
  45. Shlukování a snížení dimenze: k-means, PCA a t-SNE
  46. Klasifikace a regrese: dvě úlohy učení s učitelem
  47. Lineární regrese: nejmenší čtverce geometricky i maticově
  48. Polynomiální a nelineární regrese: jak přímku ohnout
  49. Logistická regrese: sigmoida, šance a křížová entropie
  50. Vícetřídní klasifikace a softmax: od dvou tříd k mnoha
  51. Naivní Bayesův klasifikátor: spamový filtr, který funguje lépe, než by měl
  52. Ztrátové funkce: co přesně model minimalizuje
  53. Rozhodovací stromy a k nejbližších sousedů: modely bez vzorců
  54. Ansámbly: náhodný les a gradient boosting
  55. SVM a jádrový trik: nejširší hranice a jak ji ohnout
  56. Signál a vzorkování: proč platí Nyquistův teorém
  57. Fourierova transformace: rozklad signálu na frekvence
  58. Filtry a konvoluce: vyhlazení, hrany a odstranění šumu
  59. Zvuk a řeč: spektrogram, melová škála a MFCC
  60. Obraz jako signál: pixely, barvy, konvoluce a hrany
  61. Perceptron a umělý neuron: nejjednodušší neuronová síť a co neumí
  62. Neuronová síť od nuly: zpětné šíření chyby krok za krokem
  63. Aktivace, inicializace a normalizace: drobnosti, na kterých hluboká síť stojí
  64. Konvoluční sítě: jak síť poznává obrázky
  65. Rekurentní sítě: paměť pro posloupnosti a mizející gradient
  66. LSTM a GRU: brány, které rozhodují, co si síť zapamatuje
  67. Autoenkodéry: síť, která se učí data stlačit a zase rozbalit
  68. Embeddingy a word2vec: jak se slovo stane vektorem
  69. Mechanismus pozornosti: jak se model naučí, kam se dívat
  70. Transformery a velké jazykové modely: architektura krok za krokem
  71. Tokenizace: jak se text rozseká na kousky pro model
  72. Předtrénování a škálování: proč větší model a víc dat funguje
  73. Doladění a RLHF: jak se z doplňovače textu stane asistent
  74. Prompty, kontext a RAG: jak modelu dát správné informace
  75. Variační autoenkodéry (VAE): nové obrázky ze spojitého latentního prostoru
  76. Generativní adversariální sítě (GAN): padělatel proti detektivovi
  77. Difúzní modely: jak se z čistého šumu stane obrázek
  78. Markovovy rozhodovací procesy: stavy, akce, odměny a Bellmanovy rovnice
  79. Q-learning a DQN: učení hodnoty akcí od tabulky po neuronovou síť
  80. Policy gradient a PPO: učení přímo strategie
  81. Jak funguje AI agent: jazykový model ve smyčce s nástroji
  82. Programování s AI agenty: zadání, testy a kontrola
  83. 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 si odnesete
  • 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.

Laicky řečeno

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).

Laicky řečeno

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
Entropie = střední hodnota informace: průměr překvapení vážený tím, jak často které překvapení přijde.
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ů.

00,51 0,00,10,20,30,40,50,60,70,80,91,0 1 0,469 pravděpodobnost líce p (0–1) entropie H (bity)
Entropie mince podle pravděpodobnosti líce p
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ž

  1. H(X) = 0, právě když existuje x ∈ 𝒳 s p(x) = 1 (výsledek je jistý);
  2. 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. ∎

Laicky řečeno

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ů).

  1. 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.
  2. 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čů.
  3. 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.

Laicky řečeno

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

  1. každý jednoznačně dekódovatelný binární kód C pro 𝒳 má průměrnou délku L(C) ≥ H(p);
  2. 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).
Laicky řečeno

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:

0 1 0 1 0 1 A0 · 1/2 B10 · 1/4 C110 · 1/8 D111 · 1/8 A 0 B 10 A 0 C 110 A 0 B 10 A 0 D 111
Huffmanův kód: vlevo 0, vpravo 1 Huffmanův kód: 14 bitů pevný kód: 16 bitů

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
  1. Spojí se dva nejmenší: 1/8 + 1/8 = 1/4.
  2. Spojí se dva nejmenší: 1/4 + 1/4 = 1/2.
  3. 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).

Laicky řečeno

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ě
Proti entropii se změnilo jediné: překvapení měří model, ne skutečnost.
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. ∎

Laicky řečeno

Š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.

012 0,00,10,20,30,40,50,60,70,80,91,0 H(p) = 0,881 předpověď modelu q (0–1) křížová entropie H(p, q) (bity)
Křížová entropie modelu q, když skutečnost je p = 0,7 oranžově KL divergence

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.

Laicky řečeno

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
Průměrný počet bitů navíc. Jednotlivé členy mohou být záporné, ale součet podle Gibbsovy nerovnosti nikdy.

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).

Laicky řečeno

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.

Laicky řečeno

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
Zisk je vždy ≥ 0: v průměru nás nová informace nikdy nezmate víc. Platí i I(X; Y) = I(Y; X).
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.

  1. Před: H(Y) = h(0,4) = 0,971 bitu.
  2. P(slovo) = 0,3 · 0,4 + 0,01 · 0,6 = 0,126.
  3. Se slovem (Bayes): P(spam | slovo) = 0,3 · 0,4/0,126 = 0,12/0,126 = 0,952, entropie h(0,952) = 0,276.
  4. Bez slova: P(spam | bez slova) = 0,7 · 0,4/0,874 = 0,320, entropie h(0,320) = 0,905.
  5. Po: H(Y | X) = 0,126 · 0,276 + 0,874 · 0,905 = 0,826.
  6. 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
Křížová entropie mezi daty a modelem = záporná průměrná log-věrohodnost.
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.

Agent na vašem počítači, ovládaný z telefonu