Preskočiť na obsah
coden

Teória informácie: entropia, krížová entropia a KL divergencia — odkiaľ sa berú stratové funkcie

Informácia ako prekvapenie, entropia a Huffmanov kód, krížová entropia, KL divergencia a informačný zisk — a prečo je stratová funkcia jazykových modelov krížová entropia.

13 minút Matěj Žalmánek 2026-10-15

Séria Základy AI Diel 20 z 52
  1. Mapa umelej inteligencie: čo je čo a ako to do seba zapadá
  2. Stručná história umelej inteligencie: od Turinga po jazykové modely
  3. Dáta, model, tréning, inferencia: základné pojmy na jednom príklade
  4. Ako čítať matematický zápis: symboly, indexy, sumy a kvantifikátory
  5. Množiny a relácie: stavebnica, z ktorej sa skladajú definície v AI
  6. Funkcie a zobrazenia: prečo je každý model v AI funkcia
  7. Logika a dôkazy: pravidlá, podľa ktorých sa v AI uvažuje
  8. Grafy a stromy: štruktúra, na ktorej stojí hľadanie aj neurónové siete
  9. Lineárna algebra pre strojové učenie: vektory, matice a prečo AI hlavne násobí
  10. Derivácie, gradient a reťazové pravidlo: ako model zistí, ktorým smerom sa učiť
  11. Gradientný zostup: ako sa model učí
  12. Čo je pravdepodobnosť: od hodu kockou ku Kolmogorovovým axiómam
  13. Podmienená pravdepodobnosť a Bayesova veta: ako zmeniť odhad, keď sa dozviete niečo nové
  14. Náhodná premenná a distribučná funkcia: jedna funkcia, ktorá o rozdelení povie všetko
  15. Funkcia hustoty a pravdepodobnostná funkcia: prečo má spojitá premenná v bode pravdepodobnosť nula
  16. Stredná hodnota, rozptyl a kovariancia: kde rozdelenie leží, aké je široké a čo s čím súvisí
  17. Prehľad pravdepodobnostných rozdelení: Bernoulliho, binomické, Poissonovo, rovnomerné, normálne a exponenciálne
  18. Zákon veľkých čísel a centrálna limitná veta: prečo sa priemery správajú tak predvídateľne
  19. Štatistika a odhady parametrov: maximálna vierohodnosť, MAP a intervaly spoľahlivosti
  20. Teória informácie: entropia, krížová entropia a KL divergencia — odkiaľ sa berú stratové funkcie
  21. Prehľadávanie stavového priestoru: BFS, DFS, UCS a A* s animáciami
  22. Hry a protivník: minimax, alfa-beta orezávanie a Monte Carlo tree search
  23. Splňovanie obmedzujúcich podmienok: backtracking, propagácia obmedzení a AC-3 na sudoku a mape krajov
  24. Logika a znalostné systémy: dopredné a spätné reťazenie, rezolúcia a expertné systémy
  25. Plánovanie: STRIPS, svet kociek, heuristiky z relaxácie a plánovanie v AI agentoch
  26. Lokálne hľadanie a simulované žíhanie: obchodný cestujúci cez krajské mestá
  27. Genetické algoritmy: populácia, kríženie, mutácia a výber na batohu na výlet
  28. Evolučné stratégie a genetické programovanie: od pravidla jednej pätiny po Keplerov zákon
  29. Optimalizácia mravčou kolóniou: ako feromónová stopa nájde krátku cestu
  30. Optimalizácia rojom častíc: zotrvačnosť, vlastná skúsenosť a skúsenosť roja
  31. Neuroevolúcia: evolúcia váh aj tvaru neurónových sietí a algoritmus NEAT
  32. Fuzzy množiny a funkcie príslušnosti: ako zapísať „trochu teplo“
  33. Fuzzy logika a pravdepodobnosť: prečo „trochu teplo“ neznamená „pravdepodobne teplo“
  34. Fuzzy logika: t-normy, implikácie a pravidlá AK–TAK
  35. Fuzzy riadenie: Mamdani a Sugeno od ventilátora po kyvadlo na vozíku
  36. Fuzzy zhlukovanie: algoritmus fuzzy c-means a body medzi zhlukmi
  37. Neuro-fuzzy systémy (ANFIS): fuzzy pravidlá, ktoré sa učia z dát
  38. Markovove reťazce: prechodová matica, stacionárne rozdelenie a PageRank
  39. Skryté Markovove modely: Viterbiho algoritmus a nepoctivé kasíno
  40. Bayesovské siete: prečo je tráva mokrá a čo z toho vyplýva pre postrekovač
  41. Kalmanov filter: ako z nepresných meraní odhadnúť, kde auto je a ako rýchlo ide
  42. Druhy strojového učenia: s učiteľom, bez učiteľa, s čiastočným učiteľom a ďalšie
  43. Prompty, kontext a RAG: ako modelu dať správne informácie
  44. Variačné autoenkodéry (VAE): nové obrázky zo spojitého latentného priestoru
  45. Generatívne adversariálne siete (GAN): falšovateľ proti detektívovi
  46. Difúzne modely: ako sa z čistého šumu stane obrázok
  47. Markovove rozhodovacie procesy: stavy, akcie, odmeny a Bellmanove rovnice
  48. Q-learning a DQN: učenie hodnoty akcií od tabuľky po neurónovú sieť
  49. Policy gradient a PPO: učenie priamo stratégie
  50. Ako funguje AI agent: jazykový model v slučke s nástrojmi
  51. Programovanie s AI agentmi: zadanie, testy a kontrola
  52. Vyhodnocovanie a bezpečnosť AI systémov: ako merať a ako strážiť

Celá osnova série Hotovo: 52 z 83 tém

Čo si odnesiete
  • Čo je informácia a entropia, prečo sa merajú v bitoch a prečo je entropia hranicou kompresie.
  • Čo meria krížová entropia a KL divergencia a prečo je ich minimum tam, kde model hovorí pravdu.
  • Prečo je krížová entropia stratovou funkciou klasifikátorov a jazykových modelov a čo je perplexita.

Čo sa hodí vedieť vopred: Štatistika a odhady parametrov: maximálna vierohodnosť, MAP a intervaly spoľahlivosti

Keď trénujete klasifikátor alebo jazykový model, takmer určite minimalizujete „krížovú entropiu“. Odkiaľ sa to slovo vzalo? Z teórie informácie, ktorú v roku 1948 založil Claude Shannon, keď riešil, ako čo najúspornejšie posielať správy po telefónnej linke. Ukázalo sa, že otázka „koľko bitov potrebujem“ a otázka „ako dobre model predpovedá“ sú jedna a tá istá. Týmto dielom sa končí modul o pravdepodobnosti a štatistike.

Nadväzuje na diely Prehľad rozdelení a Štatistika a odhady.

1. Informácia ako prekvapenie

Definícia — informácia javu

Nech (Ω, 𝓕, P) je pravdepodobnostný priestor a A ∈ 𝓕 jav s pravdepodobnosťou p = P(A) > 0. Informácia (vlastná informácia) javu A je číslo

I(p) = −log2 p   bitov.

Informácia teda závisí len od pravdepodobnosti javu; I chápeme ako funkciu I : (0, 1] → [0, ∞). Jednotkou je bit (pri prirodzenom logaritme by to bol nat). Čím menšie je p, tým väčšie je I(p), a I(1) = 0.

Laicky povedané

Informácia meria prekvapenie. To, že ráno vyšlo slnko, vás neprekvapí — nula bitov. Hod mincou nesie 1 bit, hod kockou log2 6 ≈ 2,585 bitu a jav so šancou 1 : 1024 celých 10 bitov. Logaritmus zaistí, že informácie nezávislých javov sa sčítavajú: dve mince sú 2 bity.

Bit je informácia jednej otázky áno/nie s férovou odpoveďou. Číslo od 1 do 1024 uhádnete na 10 otázok („je väčšie ako 512?“…) — práve preto, že každá odpoveď nesie 1 bit a log2 1024 = 10.

I(p) = −log2 p

−
pre p ≤ 1 je logaritmus záporný alebo nulový; mínus z neho urobí nezáporné číslo, ktoré s klesajúcim p rastie
log
premení násobenie pravdepodobností nezávislých javov na sčítanie informácií: log(pq) = log p + log q
2
základ určuje jednotku: s dvojkou je jednotkou bit, odpoveď na jednu férovú otázku áno/nie (s e by to bol nat)
p
pravdepodobnosť javu — čím menšia, tým viac nás jav prekvapí
Veta — informácie nezávislých javov sa sčítavajú

Nech (Ω, 𝓕, P) je pravdepodobnostný priestor a A, B ∈ 𝓕 sú nezávislé javy s pravdepodobnosťami p = P(A) > 0 a q = P(B) > 0. Potom 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á funkcia taká, že J(pq) = J(p) + J(q) pre všetky p, q ∈ (0, 1]. Potom existuje c ∈ ℝ, že J(p) = −c log2 p pre všetky p ∈ (0, 1] (substitúciou p = 2−t dostaneme Cauchyho funkcionálnu rovnicu g(s + t) = g(s) + g(t) pre spojitú g na [0, ∞), ktorej jediným riešením je g(t) = ct). Požiadavka J(1/2) = 1 dá c = 1. Logaritmus teda nie je ľubovôľa — je to jediná spojitá miera prekvapenia, ktorá sa pri nezávislých javoch sčítava.

Príklad: kocka a minca zároveň, p = 1/6 · 1/2 = 1/12: I = log2 12 ≈ 3,585 = 2,585 + 1 bitu.

2. Entropia

Definícia — entropia

Nech X je diskrétna náhodná premenná s konečnou alebo spočítateľnou množinou hodnôt 𝒳 a pravdepodobnostnou funkciou p : 𝒳 → [0, 1], p(x) = P(X = x). Entropia premennej X je

H(X) = −∑x ∈ 𝒳 p(x) log2 p(x),

kde člen s p(x) = 0 berieme ako 0 (0 · log2 0 := 0, čo je limita t log2 t pre t → 0+). Pre spočítateľnú 𝒳 môže byť súčet +∞. Ekvivalentne H(X) = E[I(p(X))], stredná hodnota informácie výsledku. Keďže H(X) závisí len od rozdelenia p, píšeme aj H(p).

Laicky povedané

Priemerné prekvapenie — nakoľko je výsledok neistý. Férová minca má entropiu 1 bit, minca, ktorá padá lícom v 90 % prípadov, len 0,469 bitu: takmer vždy viete, čo padne. Kocka má 2,585 bitu.

H(X) = ∑x p(x) · (−log2 p(x))

∑x
cez všetky možné výsledky — entropia je vlastnosť celého rozdelenia, nie jedného javu
p(x)
váha: ako často výsledok nastane; časté výsledky do priemeru prispievajú viac
−log2 p(x)
prekvapenie z výsledku x, informácia z predchádzajúcej časti; zriedkavé výsledky prekvapia veľmi, ale prichádzajú zriedka
Entropia = stredná hodnota informácie: priemer prekvapení vážený tým, ako často ktoré prekvapenie príde.
Príklad — entropia mince s 90 % líc

Pre premennú s dvoma hodnotami s pravdepodobnosťami p a 1 − p (p ∈ [0, 1]) má entropia tvar h(p) = −p log2 p − (1 − p) log2 (1 − p) (binárna entropia, krivka nižšie).

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 (farby podľa vzorca vyššie).

Väčšinu entropie dodá zriedkavý znak: prekvapí za 3,32 bitu, hoci len v desatine hodov.

00,51 0,00,10,20,30,40,50,60,70,80,91,0 1 0,469 pravdepodobnosť líca p (0–1) entropia H (bity)
Entropia mince podľa pravdepodobnosti líca p
Veta — hranice entropie

Nech X je diskrétna náhodná premenná s konečnou množinou hodnôt 𝒳, |𝒳| = n ≥ 1, a pravdepodobnostnou funkciou p. Potom

0 ≤ H(X) ≤ log2 n,

pričom

  1. H(X) = 0 práve vtedy, keď existuje x ∈ 𝒳 s p(x) = 1 (výsledok je istý);
  2. H(X) = log2 n práve vtedy, keď p(x) = 1/n pre všetky x ∈ 𝒳 (rozdelenie je rovnomerné).

Dôkaz. Každý člen −p(x) log2 p(x) je pre p(x) ∈ [0, 1] nezáporný a nulový len pre p(x) ∈ {0, 1}; súčet je teda nulový práve vtedy, keď všetky p(x) sú 0 alebo 1, t. j. jedno z nich je 1. Horná hranica a podmienka rovnosti vyplývajú z Gibbsovej nerovnosti nižšie pre rovnomerné q(x) = 1/n: H(p) ≤ H(p, q) = −∑ p(x) log2 1/n = log2 n, s rovnosťou práve pre p = q. ∎

Laicky povedané

Najmenej neistoty je, keď je výsledok istý; najviac, keď sú všetky možnosti rovnako pravdepodobné. Preto je vrchol krivky presne v p = 0,5.

3. Entropia ako dĺžka kódu

Definícia — bezprefixový kód a priemerná dĺžka

Nech 𝒳 je konečná neprázdna množina symbolov a {0, 1}+ množina všetkých neprázdnych konečných slov z núl a jednotiek. Binárny kód je zobrazenie C : 𝒳 → {0, 1}+; slovo C(x) je kódové slovo symbolu x a ℓ(x) ∈ ℕ jeho dĺžka (počet znakov).

  1. Kód C je bezprefixový práve vtedy, keď pre všetky x, y ∈ 𝒳, x ≠ y, nie je C(x) začiatkom (prefixom) C(y), t. j. neexistuje slovo w (ani prázdne) s C(y) = C(x)w.
  2. Kód C je jednoznačne dekódovateľný práve vtedy, keď je prosté jeho rozšírenie na správy C(x1x2…xm) = C(x1)C(x2)…C(xm) (zreťazenie), m ≥ 1 — rôzne správy dajú rôzne postupnosti bitov. Každý bezprefixový kód je jednoznačne dekódovateľný: správu možno dekódovať zľava bez oddeľovačov.
  3. Nech p je rozdelenie pravdepodobnosti na 𝒳. Priemerná dĺžka kódu C je L(C) = ∑x ∈ 𝒳 p(x) ℓ(x).
Veta — Kraftova nerovnosť

Nech 𝒳 je konečná neprázdna množina a ℓ : 𝒳 → ℕ, ℓ(x) ≥ 1, predpísané dĺžky. Bezprefixový binárny kód C s dĺžkami slov ℓ(x), x ∈ 𝒳, existuje práve vtedy, keď

∑x ∈ 𝒳 2−ℓ(x) ≤ 1.

Laicky povedané

Krátke slová sú drahé: slovo dĺžky 1 zaberie polovicu všetkých možných pokračovaní, slovo dĺžky 2 štvrtinu. Rozpočet je 1 a nedá sa prečerpať. Odtiaľ vyplýva Shannonova veta — dĺžky ℓ(x) = −log2 p(x) rozpočet presne vyčerpajú a priemerná dĺžka sa potom rovná entropii.

Veta — Shannonova veta o kódovaní zdroja

Nech 𝒳 je konečná množina s aspoň dvoma prvkami a p rozdelenie pravdepodobnosti na 𝒳 s p(x) > 0 pre všetky x ∈ 𝒳. Potom

  1. každý jednoznačne dekódovateľný binárny kód C pre 𝒳 má priemernú dĺžku L(C) ≥ H(p);
  2. existuje bezprefixový binárny kód C pre 𝒳 s L(C) < H(p) + 1 (stačia dĺžky ℓ(x) = ⌈−log2 p(x)⌉, ktoré spĺňajú Kraftovu nerovnosť).
Laicky povedané

Entropia je hranica kompresie: správu nemožno zakódovať do menej bitov, než koľko je jej entropia. Častým symbolom dáte krátke kódy, zriedkavým dlhé — ako Morseova abeceda, kde najčastejšie písmeno E je jediná bodka.

Štyri písmená A, B, C, D s pravdepodobnosťami 1/2, 1/4, 1/8, 1/8 majú entropiu 1,75 bitu. Pevný kód potrebuje 2 bity na písmeno. Huffmanov kód (0, 10, 110, 111) má priemernú dĺžku 1/2 · 1 + 1/4 · 2 + 2 · 1/8 · 3 = 1,75 bitu — presne entropiu. Správa ABACABAD sa tak zmestí do 14 bitov namiesto 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
Huffmanov kód: vľavo 0, vpravo 1 Huffmanov kód: 14 bitov pevný kód: 16 bitov

Kód 0, 10, 110, 111 má dĺžky 1, 2, 3, 3 — presne −log2 pravdepodobností 1/2, 1/4, 1/8, 1/8. Kraftov súčet 1/2 + 1/4 + 1/8 + 1/8 = 1: rozpočet je vyčerpaný do posledného bitu. Taký kód nájde Huffmanov algoritmus:

huffman(symboly s pravdepodobnosťami):
    každý symbol je samostatný strom
    kým zostáva viac než jeden strom:
        vezmi dva stromy s najmenšou pravdepodobnosťou   # najzriedkavejšie dostanú najdlhší kód
        spoj ich pod nový uzol: ľavý dostane 0, pravý 1
        pravdepodobnosť uzla = súčet oboch
    kód symbolu = cesta od koreňa k nemu
Príklad — Huffman pre A, B, C, D
  1. Spoja sa dva najmenšie: 1/8 + 1/8 = 1/4.
  2. Spoja sa dva najmenšie: 1/4 + 1/4 = 1/2.
  3. Spoja sa dva najmenšie: 1/2 + 1/2 = 1 (koreň).

Cesty od koreňa: A = 0, B = 10, C = 110, D = 111. Každé zlúčenie predĺži kód všetkých symbolov v oboch spojených stromoch o jeden bit — preto C a D, spojené ako prvé, majú kód najdlhší.

4. Krížová entropia

Definícia — krížová entropia

Nech 𝒳 je konečná neprázdna množina, p : 𝒳 → [0, 1] skutočné rozdelenie pravdepodobnosti a q : 𝒳 → [0, 1] rozdelenie podľa modelu, pričom q(x) > 0 pre každé x s p(x) > 0. Krížová entropia rozdelenia q vzhľadom na p je

H(p, q) = −∑x ∈ 𝒳, p(x) > 0 p(x) log2 q(x).

Je to stredná hodnota prekvapenia modelu −log2 q(X), keď X má skutočné rozdelenie p. (Keby q(x) = 0 pre nejaké x s p(x) > 0, kladie sa H(p, q) = +∞.) Pre q = p je H(p, p) = H(p).

Laicky povedané

Priemerný počet bitov, keď dáta prichádzajú podľa p, ale kód ste navrhli podľa modelu q. Inými slovami: nakoľko vás model v priemere prekvapuje. Prší v 70 % dní; model, ktorý tvrdí „50 : 50“, platí 1 bit za deň, kým správny model len 0,881 bitu.

H(p, q) = ∑x p(x) · (−log2 q(x))

∑x
cez všetky výsledky, ktoré môžu nastať
p(x)
ako často výsledok skutočne nastáva — váhy dáva realita, pretože priemerujeme cez dáta, ktoré naozaj prídu
−log2 q(x)
ako veľmi výsledok prekvapí model (a koľko bitov mu dá kód navrhnutý podľa modelu); kde model dá malú pravdepodobnosť niečomu častému, platí veľa
Oproti entropii sa zmenilo jediné: prekvapenie meria model, nie skutočnosť.
Príklad — tri predpovede dažďa

Skutočnosť: prší s p = 0,7, teda p(dážď) = 0,7 a p(sucho) = 0,3. Model „q“ dáva dažďu pravdepodobnosť q a suchu 1 − q. Farby podľa vzorca vyššie:

  • 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 entropia H(p).
  • Model 0,9: H = 0,7 · 0,152 + 0,3 · 3,322 = 0,106 + 0,997 = 1,103 bitu.

Prehnane istý model je tu horší než nerozhodný: suché dni (30 %) ho prekvapia za 3,32 bitu.

Veta — Gibbsova nerovnosť

Nech 𝒳 je konečná neprázdna množina a p, q rozdelenia pravdepodobnosti na 𝒳 také, že q(x) > 0 pre každé x s p(x) > 0. Potom

H(p, q) ≥ H(p),

s rovnosťou práve vtedy, keď q(x) = p(x) pre všetky x ∈ 𝒳.

Dôkaz. Využijeme ln t ≤ t − 1 pre t > 0 (rovnosť len pre t = 1) a log2 t = ln t/ln 2. Sčítame cez 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ý súčet je len cez x s p(x) > 0, a je preto najviac 1. Rovnosť v prvej nerovnosti nastane práve vtedy, keď q(x)/p(x) = 1 pre všetky x s p(x) > 0; potom je ∑ q(x) cez tieto x rovný 1, platí rovnosť aj v druhej a q je mimo nich nulové, teda q = p. ∎

Laicky povedané

Zlý model vás vždy stojí bity navyše. Najmenej prekvapenia dosiahnete len so správnym rozdelením — a preto má zmysel krížovú entropiu minimalizovať: minimum je tam, kde model hovorí pravdu.

012 0,00,10,20,30,40,50,60,70,80,91,0 H(p) = 0,881 predpoveď modelu q (0–1) krížová entropia H(p, q) (bity)
Krížová entropia modelu q, keď skutočnosť je p = 0,7 oranžovo KL divergencia

5. KL divergencia

Definícia — Kullbackova–Leiblerova divergencia

Nech 𝒳 je konečná neprázdna množina a p, q rozdelenia pravdepodobnosti na 𝒳 také, že q(x) > 0 pre každé x s p(x) > 0. Kullbackova–Leiblerova divergencia rozdelenia q od p je

DKL(p ‖ q) = ∑x ∈ 𝒳, p(x) > 0 p(x) log2 p(x)/q(x).

Rozpísaním log2 p(x)/q(x) = −log2 q(x) − (−log2 p(x)) vyjde DKL(p ‖ q) = H(p, q) − H(p), takže podľa Gibbsovej nerovnosti DKL(p ‖ q) ≥ 0, s rovnosťou práve pre q = p.

Laicky povedané

Koľko bitov navyše platíte za to, že používate model q namiesto skutočnosti p — tá oranžová úsečka na obrázku. Model „50 : 50“ pre dážď v 70 % dní stojí 1 − 0,881 = 0,119 bitu navyše, model „90 % dážď“ dokonca 0,222 bitu. Podľa Gibbsovej nerovnosti je KL divergencia vždy nezáporná a nulová len pre q = p.

DKL(p ‖ q) = ∑x p(x) · log2 p(x)/q(x)

p(x)
váhy zo skutočnosti — chyby modelu na častých výsledkoch bolia viac; preto záleží na poradí argumentov
log2 p(x)/q(x)
= (−log2 q(x)) − (−log2 p(x)): o koľko bitov viac nás výsledok x stojí s modelom než so skutočnosťou; kladné tam, kde model výsledok podcenil, záporné, kde ho precenil
Priemerný počet bitov navyše. Jednotlivé členy môžu byť záporné, ale súčet podľa Gibbsovej nerovnosti nikdy.

Pozor, KL divergencia nie je vzdialenosť: nie je symetrická. Ak pri dvoch výsledkoch (dážď, sucho) píšeme namiesto rozdelenia len pravdepodobnosť dažďa, je DKL(0,7 ‖ 0,5) = 0,119, ale DKL(0,5 ‖ 0,7) = 0,126. Záleží na tom, čo je skutočnosť a čo model.

Príklad — prečo KL divergencia nie je symetrická

Farby podľa vzorca vyššie.

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 zakaždým ten, kde model niečo podceňuje: v prvom prípade dážď pomerom 0,7/0,5 = 1,4, v druhom sucho pomerom 0,5/0,3 ≈ 1,67. Druhé podcenenie je hrubšie, a tak stojí viac bitov. Vymeniť skutočnosť a model teda výsledok mení.

6. Informačný zisk

Definícia — podmienená entropia

Nech X a Y sú diskrétne náhodné premenné na tom istom pravdepodobnostnom priestore s konečnými množinami hodnôt 𝒳 a 𝒴. Pre x ∈ 𝒳 s P(X = x) > 0 je entropia podmieneného rozdelenia Y pri X = x

H(Y | X = x) = −∑y ∈ 𝒴 P(Y = y | X = x) log2 P(Y = y | X = x)

(opäť s 0 · log2 0 := 0). Podmienená entropia Y pri znalosti X je vážený priemer týchto entropií:

H(Y | X) = ∑x ∈ 𝒳, P(X = x) > 0 P(X = x) · H(Y | X = x).

Laicky povedané

Koľko neistoty o Y v priemere zostane potom, čo sa dozviete X.

Definícia — informačný zisk (vzájomná informácia)

Nech X a Y sú diskrétne náhodné premenné na tom istom pravdepodobnostnom priestore s konečnými množinami hodnôt. Vzájomná informácia (informačný zisk) premenných X a Y je

I(X; Y) = H(Y) − H(Y | X).

Je to teda rozdiel neistoty o Y pred zistením hodnoty X a priemernej neistoty po ňom.

Laicky povedané

O koľko bitov sa neistota zmenší, keď sa dozviete X. V spamovom príklade z dielu o Bayesovej vete je spam 40 % pošty: neistota 0,971 bitu. Keď viete, či e-mail obsahuje slovo „výhra“, klesne v priemere na 0,826 bitu — zisk 0,971 − 0,826 = 0,145 bitu (farby podľa vzorca nižšie). Rozhodovacie stromy presne takto vyberajú, na čo sa opýtať ako prvé: na príznak s najväčším informačným ziskom.

I(X; Y) = H(Y) − H(Y | X)

H(Y)
neistota o Y predtým, než sa na čokoľvek pozrieme — východiskový stav
H(Y | X)
neistota, ktorá zostane po zistení X, spriemerovaná cez všetky možné hodnoty X (vopred nevieme, ktorá vyjde); odčítame ju, pretože nás zaujíma len to, čo X odstránilo
Zisk je vždy ≥ 0: v priemere nás nová informácia nikdy nezmätie viac. Platí aj I(X; Y) = I(Y; X).
Príklad — informačný zisk slova „výhra“

Spam je 40 % pošty, slovo „výhra“ obsahuje 30 % spamu a 1 % ostatných e-mailov. Y je „spam, alebo nie“, X „obsahuje slovo, alebo nie“. Farby podľa vzorca vyššie.

  1. Pred: H(Y) = h(0,4) = 0,971 bitu.
  2. P(slovo) = 0,3 · 0,4 + 0,01 · 0,6 = 0,126.
  3. So slovom (Bayes): P(spam | slovo) = 0,3 · 0,4/0,126 = 0,12/0,126 = 0,952, entropia h(0,952) = 0,276.
  4. Bez slova: P(spam | bez slova) = 0,7 · 0,4/0,874 = 0,320, entropia 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 takmer isto prezradí spam, ale objaví sa len v 12,6 % e-mailov; v ostatných klesne neistota len málo (0,905 namiesto 0,971). Preto je priemerný zisk skromný.

nejlepsi_otazka(data, príznaky):                  # krok rozhodovacieho stromu (ID3)
    pre každý príznak X:
        zisk[X] ← H(trieda) − ∑ podiel(X = x) · H(trieda | X = x)
    vráť príznak s najväčším zisk[X]              # dáta rozdelíme podľa neho a opakujeme

7. Teória informácie v umelej inteligencii

  • Krížová entropia ako stratová funkcia. Pre jeden príklad so správnou triedou y je to −log q(y) — nakoľko model prekvapila správna odpoveď. Priemer cez dáta je záporná logaritmická vierohodnosť, takže minimalizácia krížovej entropie je metóda maximálnej vierohodnosti z minulého dielu. Knižnice používajú prirodzený logaritmus (jednotka nat): 1 bit = ln 2 ≈ 0,693 natu.
  • Perplexita jazykového modelu je 2H, kde H je krížová entropia na slovo v bitoch. Perplexita 8 znamená, že model je v priemere rovnako neistý, ako keby vyberal z ôsmich rovnako pravdepodobných slov.
  • KL divergencia drží pohromade variačné autoenkodéry (VAE), destiláciu modelov (malý model napodobňuje rozdelenie veľkého) aj dolaďovanie jazykových modelov spätnou väzbou od ľudí (RLHF), kde trest za KL divergenciu nedovolí modelu vzdialiť sa príliš ďaleko od pôvodného.
  • Kompresia a predikcia sú jedno. Model, ktorý dobre predpovedá ďalší symbol, vie dáta dobre skomprimovať — a naopak. Preto sa jazykové modely porovnávajú počtom bitov na znak.

strata(θ) = 1/N ∑i=1N (−ln qθ(yi | xi))

strata(θ)
číslo, ktoré trénovanie znižuje zmenou parametrov θ
1/N ∑
priemer cez trénovacie príklady — namiesto neznámeho p priemerujeme cez dáta, ktoré z p prišli
−ln
prekvapenie v natoch; prirodzený logaritmus kvôli pohodlným deriváciám, od bitov sa líši len násobkom ln 2
qθ(yi | xi)
pravdepodobnosť, ktorú model pre vstup xi dal správnej odpovedi yi; ostatné triedy vo vzorci nie sú, pretože skutočné p má pri správnej triede 1 a inde 0
Krížová entropia medzi dátami a modelom = záporná priemerná log-vierohodnosť.
Príklad — perplexita na štyroch slovách

Model dal správnym slovám vety pravdepodobnosti 1/2, 1/4, 1/8, 1/8. Prekvapenia v bitoch: 1, 2, 3, 3; priemer H = 2,25 bitu na slovo.

Perplexita 22,25 ≈ 4,76: model váhal zhruba ako medzi piatimi rovnako pravdepodobnými slovami. Pozor, je to 2 na priemer logaritmov, teda geometrický priemer čísel 1/q — nie obyčajný priemer čísel 2, 4, 8, 8 (ten by bol 5,5).

8. Zhrnutie

  • Informácia javu −log2 p meria prekvapenie v bitoch; informácie nezávislých javov sa sčítavajú.
  • Entropia je priemerné prekvapenie, najviac log2 n, a je to dolná hranica priemernej dĺžky kódu.
  • Krížová entropia meria, koľko bitov stojí model q na dátach z p; najmenšia je pre q = p.
  • KL divergencia je cena za zlý model: H(p, q) − H(p) ≥ 0, a nie je symetrická.
  • Stratová funkcia klasifikátorov a jazykových modelov je krížová entropia — teda maximálna vierohodnosť.

Máte na to iný názor? Napíšte na support@coden-app.com.

Agent na vašom počítači, ovládaný z telefónu