Preskočiť na obsah
coden

Stručná história umelej inteligencie: od Turinga po jazykové modely

Turingov test, Dartmouthský seminár, zlaté roky, dve zimy AI a expertné systémy, štatistické učenie, hlboké učenie a jazykové modely — časová os s odkazmi na diely série a horká lekcia sedemdesiatich rokov výskumu.

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

Séria Základy AI Diel 2 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
  • Ako sa AI vyvíjala a prečo sa striedalo nadšenie so zimami.
  • Odkiaľ pochádzajú myšlienky, na ktorých stoja dnešné modely.
  • Čo je horká lekcia a prečo vyhrávajú všeobecné metódy s veľkým výpočtom.

Čo sa hodí vedieť vopred: Mapa umelej inteligencie: čo je čo a ako to do seba zapadá

Umelá inteligencia nie je nová. Jej dejiny sú staršie ako osobné počítače a pripomínajú horskú dráhu: obdobia nadšenia a veľkých sľubov, po nich vytriezvenie a odliv peňazí — „zimy“ —, a potom znova vzostup, keď sa ukázalo, že stará myšlienka zrazu funguje. Väčšinu nápadov, na ktorých stoja dnešné jazykové modely, vymysleli ľudia pred desiatkami rokov. V tomto diele ich prejdeme v poradí, v akom prišli, a pri každej, ktorú v sérii vysvetľujeme, nájdete odkaz na príslušný diel.

Nadväzuje na diel Mapa umelej inteligencie.

začiatky zlaté roky prvá zima expertné systémy druhá zima štatistické učenie hlboké učenie jazykové modely 194019501960197019801990200020102020 Turingov test 1950 Dartmouthský seminár 1956 Perceptrón 1958 Lighthillova správa 1973 Expertné systémy 1980 Spätné šírenie 1986 Deep Blue 1997 AlexNet 2012 AlphaGo 2016 Transformer 2017 ChatGPT 2022 Agenti 2024 rok (letopočet)
Časová os umelej inteligencie (nazeleno obdobia rozkvetu, nafialovo zimy)

1. Začiatky: môže stroj myslieť?

Definícia — Turingov test

Alan Turing v roku 1950 nahradil nejasnú otázku „môžu stroje myslieť?“ skúškou, ktorú sám nazýval „hra na napodobňovanie“. Turingov test má troch účastníkov:

  1. sudca — človek, ktorý rozhoduje;
  2. človek — skrytá protistrana;
  3. stroj — skrytá protistrana, ktorú skúšame.

a prebieha takto:

  1. sudca komunikuje s oboma protistranami len písaným textom a nevie, ktorá je ktorá (pozná ich len pod označením X a Y);
  2. počas obmedzeného času im kladie ľubovoľné otázky;
  3. nakoniec vyhlási, či je strojom X, alebo Y.

Stroj v teste obstojí práve vtedy, keď ho sudca neurčí správne o nič častejšie, než keby len hádal; túto podmienku spresňuje ďalšia definícia. Ak sa stroj takto vydáva za človeka rovnako dobre ako človek sám, nemáme podľa Turinga dôvod mu inteligenciu upierať — to už je Turingov filozofický záver, nie súčasť definície testu.

Laicky povedané

Namiesto filozofickej debaty praktická skúška: keď si s niekým píšete a nespoznáte, či je to človek, alebo program, je to pre vás inteligencia. Dnešné jazykové modely v krátkom rozhovore takou skúškou často prejdú — a ukazuje sa, že to o inteligencii hovorí menej, než sa čakalo.

Definícia — Turingov test ako štatistická skúška

Nech n ∈ ℕ, n ≥ 1, je počet nezávislých rozhovorov (behov testu vyššie). Pre i = 1, …, n nech Xi ∈ {0, 1} je náhodná premenná, pre ktorú Xi = 1 práve vtedy, keď sudca v i-tom rozhovore určil stroj správne, a nech

S = ∑i=1n Xi

je počet správnych určení. Nulová hypotéza znie: stroj je od človeka nerozlíšiteľný, t. j. sudca len háda, X1, …, Xn sú nezávislé a P(Xi = 1) = 1/2. Potom S ~ Bin(n, 1/2), stredná hodnota ES = n/2 a smerodajná odchýlka σ = √n/2. Testová štatistika je

z = S − n/2/√n/2.

Stroj test splní práve vtedy, keď |z| < 1,96, t. j. práve vtedy, keď obojstranný test na hladine 5 % (s normálnym priblížením binomického rozdelenia) nulovú hypotézu nezamietne. Slovami: výsledok sudcu sa od hádania štatisticky nelíši.

Poznámka. Toto je dnešná formalizácia, nie Turingova. Turing test v roku 1950 opísal slovne a namiesto prahu dal predpoveď: okolo roku 2000 vraj priemerný sudca po piatich minútach rozhovoru nespozná stroj správne s pravdepodobnosťou vyššou ako 70 %.

Laicky povedané

Jeden rozhovor nič nedokáže — sudca sa môže trafiť aj náhodou. Preto sa rozhovorov vedie veľa a pýtame sa, či sudca spoznáva stroj častejšie, než keby si hádzal mincou. Ak nie, stroj prešiel.

z = S − n/2/√n/2

S
koľkokrát sudca stroj spoznal — to jediné, čo sa v teste meria
n/2
koľkokrát by sa trafil čistým hádaním; odčítame to, pretože zaujímavé je len to, čo je nad náhodou
√n/2
typický rozptyl hádania; delením prebytok porovnáme s bežným šumom — 6 navyše zo 100 rozhovorov je niečo iné ako 6 navyše z 10 000
O koľko „bežných odchýlok“ je sudca lepší ako minca.
Príklad — 100 rozhovorov

Sudca spoznal stroj v 56 rozhovoroch zo 100 (farby zodpovedajú členom vzorca vyššie). Hádaním by čakal 100/2 = 50, odchýlka je √100/2 = 5, takže

z = 56 − 50/5 = 1,2.

To je menej ako 1,96 — od hádania sa to nelíši a stroj prešiel. Neprešiel by, keby sudca trafil aspoň 50 + 1,96 · 5 = 59,8, teda 60 rozhovorov.

  • 1943 Umelý neurón. Warren McCulloch a Walter Pitts opísali neurón ako logický prvok s prahom. → diel série
  • 1950 Turingov test. Alan Turing v článku Computing Machinery and Intelligence navrhol namiesto otázky „myslia stroje?“ hru na napodobňovanie.
  • 1950 Šach prehľadávaním. Claude Shannon opísal, ako by počítač hral šach: prehľadávať ťahy do určitej hĺbky a pozície hodnotiť funkciou. → diel série

2. Zlaté roky (1956–1974)

Na seminári v Dartmouthe v lete 1956 sa stretli ľudia, ktorí verili, že „každý aspekt učenia alebo akúkoľvek inú vlastnosť inteligencie možno v princípe opísať tak presne, že ju stroj dokáže napodobniť“. Nasledovali dve desaťročia optimizmu. Programy dokazovali vety, riešili slovné úlohy, hrali dámu a rozprávali o kockách na stole. Herbert Simon v roku 1965 predpovedal, že do dvadsiatich rokov zvládnu stroje akúkoľvek prácu, ktorú robí človek.

  • 1956 Dartmouthský seminár. John McCarthy, Marvin Minsky, Nathaniel Rochester a Claude Shannon zvolali letný seminár; názov „artificial intelligence“ sa ujal.
  • 1956 Logic Theorist. Allen Newell a Herbert Simon: program, ktorý dokazoval matematické vety prehľadávaním. → diel série
  • 1958 Perceptrón. Frank Rosenblatt postavil učiaci sa neurón; noviny písali o stroji, ktorý bude chodiť a hovoriť. → diel série
  • 1959 Strojové učenie. Arthur Samuel: program na dámu, ktorý sa zlepšoval hraním sám so sebou. Od neho pochádza výraz machine learning. → diel série
  • 1960 Kalmanov filter. Rudolf Kálmán: odhad stavu zo zašumených meraní; letel s ním Apollo. → diel série
  • 1965 Fuzzy množiny. Lotfi Zadeh zaviedol príslušnosť do množiny ako číslo medzi 0 a 1. → diel série
  • 1966 ELIZA. Joseph Weizenbaum napísal program, ktorý napodobňoval psychoterapeuta niekoľkými pravidlami — a ľudia mu zverovali tajomstvá.
  • 1969 Kniha Perceptrons. Marvin Minsky a Seymour Papert ukázali, čo jeden neurón nezvládne (XOR); záujem o neurónové siete opadol. → diel série
  • 1971 Shakey a STRIPS. Robot Shakey zo Stanfordu plánoval kroky v jazyku STRIPS. → diel série
  • 1973 Lighthillova správa. Britská vláda si dala posúdiť výsledky AI; správa bola kritická a financovanie sa obmedzilo.

Perceptrón: prvý neurón, ktorý sa učí

Definícia — perceptrón

Nech d ∈ ℕ, d ≥ 1, w = (w1, …, wd) ∈ ℝd sú váhy a b ∈ ℝ je posun. Pre x ∈ ℝd označme w · x = w1x1 + … + wdxd skalárny súčin. Perceptrón s váhami w a posunom b je funkcia

hw,b : ℝd → {−1, +1},   hw,b(x) = +1, ak w · x + b > 0, a hw,b(x) = −1 inak.

Nech (x, y) je príklad so vstupom x ∈ ℝd a správnou triedou y ∈ {−1, +1}. Perceptrón sa na ňom pomýli práve vtedy, keď

y · (w · x + b) ≤ 0.

Za chybu sa tu počíta aj prípad w · x + b = 0 (bod leží priamo na hranici), aj keď ho hw,b zaradí do −1. Hranica perceptrónu je množina {x ∈ ℝd : w · x + b = 0}; pre w ≠ 0 je to nadrovina (pre d = 2 priamka).

Laicky povedané

Každý vstup dostane váhu podľa toho, ako veľmi hovorí za „áno“. Neurón vstupy s váhami sčíta a keď súčet vyjde kladný, povie „áno“. Učenie znamená ladiť váhy tak, aby „áno“ hovoril správne.

Rosenblattovo pravidlo opravuje váhy len vtedy, keď sa perceptrón pomýli:

w ← w + η · y · x

w
váhy — jediné, čo sa učí; nová hodnota je stará plus oprava, takže sa učí postupne z jedného príkladu po druhom
η
rýchlosť učenia — aký veľký krok; pri perceptróne začínajúcom z núl len zväčšuje všetky váhy rovnako, a hranicu tak nemení
y
správna trieda ±1 — určuje smer: kladný príklad váhy pritiahne k sebe, záporný odstrčí
x
vstup, na ktorom sa pomýlil — oprava mieri práve tam; vstup s hodnotou 0 k chybe neprispel, a jeho váha sa preto nezmení
Posun sa opravuje rovnako, b ← b + η · y. Po oprave vzrastie y · (w · x + b) presne o η · (‖x‖² + 1) > 0: odpoveď na tom príklade sa posunie správnym smerom.
perceptron(data, η):
    w ← (0, …, 0);  b ← 0
    opakuj:
        chyb ← 0
        pre každý príklad (x, y) v data:
            ak y · (w · x + b) ≤ 0:              # pomýlil sa (alebo stojí na hranici)
                w ← w + η · y · x
                b ← b + η · y
                chyb ← chyb + 1
    kým chyb > 0                                 # celá epocha bez chyby: hotovo
    vráť w, b
Príklad — perceptrón sa naučí AND

Dáta: (0, 0) → −1, (0, 1) → −1, (1, 0) → −1, (1, 1) → +1; η = 1, štart w = (0, 0), b = 0. Farby zodpovedajú členom pravidla w ← w + η · y · x vyššie.

  1. (0, 0), y = −1: −1 · (0 + 0) = 0 ≤ 0, chyba. w = (0, 0) + 1 · (−1) · (0, 0) = (0, 0), b = 0 + 1 · (−1) = −1.
  2. (0, 1) a (1, 0): −1 · (0 − 1) = 1 > 0, správne, nič sa nemení.
  3. (1, 1), y = +1: 1 · (0 + 0 − 1) = −1 ≤ 0, chyba. w = (0, 0) + 1 · (+1) · (1, 1) = (1, 1), b = −1 + 1 · (+1) = 0.

Tak to ide ďalej: celkom 18 opráv, posledná v 8. epoche, a výsledok je w = (3, 2), b = −4. Kontrola: 3 · 1 + 2 · 1 − 4 = 1 > 0 a pre ostatné vstupy −4, −2, −1 < 0.

Veta — perceptrón nezvládne XOR (Minsky a Papert, 1969)

Nech d = 2 a hw,b je perceptrón z definície vyššie. Potom neexistujú w = (w1, w2) ∈ ℝ2 a b ∈ ℝ také, že

hw,b(0, 0) = −1 ∧ hw,b(1, 1) = −1 ∧ hw,b(0, 1) = +1 ∧ hw,b(1, 0) = +1,

t. j. žiadny perceptrón nezaradí správne všetky štyri body funkcie XOR.

Dôkaz. Správne zaradenie by znamenalo b ≤ 0, w1 + w2 + b ≤ 0, w2 + b > 0 a w1 + b > 0. Sčítaním posledných dvoch nerovností w1 + w2 + 2b > 0, teda w1 + w2 + b > −b ≥ 0 — spor s druhou nerovnosťou. ∎

Laicky povedané

Body XOR ležia ako na šachovnici: kladné na jednej uhlopriečke, záporné na druhej. Jedna priamka ich od seba oddeliť nedokáže. Dve vrstvy neurónov to zvládnu — lenže ako ich učiť, sa v roku 1969 nevedelo. Viac v diele Perceptrón.

3. Dve zimy a expertné systémy (1974–1993)

Definícia — zima umelej inteligencie

Zima AI je časové obdobie, pre ktoré platia všetky tri podmienky:

  1. predchádzalo mu obdobie veľkých očakávaní a sľubov, ktoré sa nesplnili;
  2. prudko klesne financovanie výskumu AI (štátne granty aj súkromné investície);
  3. klesne záujem o odbor — menej projektov, firiem a pozornosti odborníkov aj verejnosti.

Je to historický pojem, nie matematický: nemá presné kvantitatívne hranice a letopočty sú približné. Zvyčajne sa hovorí o dvoch zimách: zhruba 1974–1980 (po Lighthillovej správe vo Veľkej Británii a škrtoch amerického grantového úradu DARPA) a 1987–1993 (po zrútení trhu so špecializovanými počítačmi pre jazyk Lisp a vytriezvení z expertných systémov).

Laicky povedané

Programy, ktoré zvládli hračkové svety kociek, narazili na skutočný svet: priveľa možností, priveľa výnimiek, príliš pomalé počítače. Kto sľuboval stroj, ktorý „o desať rokov bude myslieť“, musel vysvetľovať, prečo nemyslí. Peniaze odišli inam.

Medzi zimami prišla vlna expertných systémov: namiesto všeobecnej inteligencie úzky odbor a stovky pravidiel spísaných s odborníkmi („ak teplota > 38 a … potom …“). Fungovali a zarábali. Lenže pravidlá sa ťažko udržiavali, systémy nevedeli nič mimo svojho odboru a nedokázali sa učiť. V tieni tej doby sa však potichu vrátili neurónové siete: spätné šírenie (1986) ukázalo, ako učiť siete s viacerými vrstvami.

  • 1975 Genetické algoritmy. John Holland zhrnul evolúciu populácie riešení s krížením a mutáciou. → diel série
  • 1980 Expertné systémy. XCON (R1) konfiguroval počítače firmy DEC pravidlami od expertov a šetril milióny dolárov ročne. → diel série
  • 1986 Spätné šírenie. David Rumelhart, Geoffrey Hinton a Ronald Williams ukázali, ako učiť viacvrstvové siete. → diel série
  • 1988 Bayesovské siete. Judea Pearl: pravdepodobnostné usudzovanie na grafe závislostí. → diel série
  • 1989 Konvolučné siete. Yann LeCun naučil konvolučnú sieť čítať ručne písané PSČ. → diel série
  • 1989 Q-learning. Christopher Watkins: učenie hodnoty akcií bez znalosti pravidiel sveta. → diel série

Spätné šírenie: ako učiť viac vrstiev

Definícia — spätné šírenie (backpropagation)

Nech L ≥ 1 je počet vrstiev, n0, …, nL ≥ 1 ich šírky a pre l = 1, …, L nech Wl ∈ ℝnl×nl−1 a bl ∈ ℝnl sú váhy a posuny. Nech φ : ℝ → ℝ je diferencovateľná aktivačná funkcia (na vektory sa používa po zložkách) a sieť počíta

h0 = x,   zl = Wlhl−1 + bl,   hl = φ(zl)   pre l = 1, …, L.

Nech 𝓛 : ℝnL → ℝ je diferencovateľná strata výstupu hL pre danú správnu odpoveď (stratu tu označujeme 𝓛, aby sa nemýlila s počtom vrstiev L). Symbol ⊙ označuje súčin vektorov po zložkách. Spätné šírenie je algoritmus:

  • Vstup: vstup siete x ∈ ℝn0, parametre Wl, bl (l = 1, …, L) a strata 𝓛.
  • Výstup: gradienty ∂𝓛/∂Wl ∈ ℝnl×nl−1 a ∂𝓛/∂bl ∈ ℝnl pre všetky l = 1, …, L.
  1. Dopredný prechod: pre l = 1, …, L vypočítaj a ulož zl a hl.
  2. Chyba výstupu: δL = ∂𝓛/∂hL ⊙ φ′(zL) (všeobecne δl = ∂𝓛/∂zl).
  3. Spätný prechod: pre l = L, L − 1, …, 1 polož ∂𝓛/∂Wl = δl hl−1T a ∂𝓛/∂bl = δl; ak l > 1, vypočítaj δl−1 = (WlTδl) ⊙ φ′(zl−1).
  4. Koniec: po spracovaní vrstvy l = 1 vráť všetky gradienty.

Krok 3 je pravidlo pre deriváciu zloženej funkcie (reťazové pravidlo) a každé δl sa použije znova pre nižšiu vrstvu, takže celý gradient stojí rádovo rovnako ako jeden prechod sieťou dopredu.

Laicky povedané

Sieť sa pomýlila. Koľko z tej chyby ide na vrub ktorej váhy? Spätné šírenie to rozpočíta: začne pri výstupe a vinu posiela dozadu, vrstvu po vrstve, podľa toho, ako veľmi ktorá váha výsledok ovplyvnila.

Pre jeden neurón so vstupom x ∈ ℝ, váhou w ∈ ℝ, posunom b ∈ ℝ a správnou odpoveďou y ∈ ℝ, t. j. z = wx + b, ŷ = σ(z) so sigmoidou σ(z) = 1/1 + e−z, a so stratou L = 1/2(ŷ − y)² vyzerá reťaz takto:

∂L/∂w = ∂L/∂ŷ · ∂ŷ/∂z · ∂z/∂w

∂L/∂w
čo chceme: ako sa zmení chyba, keď pohneme váhou — znamienko hovorí, ktorým smerom váhu posunúť
∂L/∂ŷ
= ŷ − y: ako veľmi chyba závisí od výstupu; tu spätný prechod začína
∂ŷ/∂z
= ŷ(1 − ŷ) pri sigmoide: aká citlivá je aktivácia; pri nasýtenom neuróne je skoro 0 a učenie sa zastaví
∂z/∂w
= x: koľko váha do súčtu priniesla; vo viacvrstvovej sieti tu stojí výstup predchádzajúcej vrstvy a reťaz pokračuje ďalej dozadu
Gradient je súčin miestnych derivácií po ceste od chyby k váhe.
Príklad — jeden krok učenia

x = 1, w = 0,5, b = 0, správne y = 1. Dopredu: z = 0,5, ŷ = σ(0,5) = 1/1 + e−0,5 = 0,6225, L = 1/2 · (0,6225 − 1)² = 0,0713.

Dozadu (farby zodpovedajú členom vzorca vyššie):

  • ∂L/∂ŷ = ŷ − y = −0,3775,
  • ∂ŷ/∂z = ŷ(1 − ŷ) = 0,6225 · 0,3775 = 0,2350,
  • ∂z/∂w = x = 1.

Súčin: ∂L/∂w = −0,3775 · 0,2350 · 1 = −0,0887.

Krok s η = 1: w ← 0,5 − 1 · (−0,0887) =0,5887. Gradient je záporný, takže váha rastie a výstup sa priblíži k 1.

spätné_šírenie(x, y):
    h₀ ← x                                   # dopredu: zapamätaj si medzivýsledky
    pre l = 1 … L:
        zₗ ← Wₗ · hₗ₋₁ + bₗ
        hₗ ← φ(zₗ)
    δ ← ∂Strata/∂h_L                         # dozadu: začni pri chybe výstupu
    pre l = L … 1:
        δ ← δ ⊙ φ′(zₗ)                       # cez aktiváciu (po zložkách)
        ∂Strata/∂Wₗ ← δ · hₗ₋₁ᵀ               # gradient váh tejto vrstvy
        ∂Strata/∂bₗ ← δ
        δ ← Wₗᵀ · δ                          # pošli vinu o vrstvu nižšie
    vráť všetky ∂Strata/∂Wₗ, ∂Strata/∂bₗ

Do hĺbky: Neurónová sieť od nuly.

4. Štatistické učenie (1993–2012)

Odbor sa premenil. Namiesto „naprogramujme inteligenciu“ prišlo „naučme sa to z dát“ — a s tým pravdepodobnosť, štatistika a starostlivé meranie. Rozpoznávanie reči, filtre spamu, odporúčanie a vyhľadávanie fungovali vďaka skrytým Markovovým modelom, bayesovským metódam, SVM a súborom stromov. Slovo „umelá inteligencia“ sa vtedy veľmi nepoužívalo — hovorilo sa strojové učenie. Deep Blue porazil Kasparova v roku 1997, ale nie učením: hrubou silou prehľadávania a ručne ladenou hodnotiacou funkciou.

  • 1995 SVM. Corinna Cortes a Vladimir Vapnik: klasifikácia s najväčším okrajom a jadrový trik. → diel série
  • 1997 Deep Blue. Počítač IBM porazil majstra sveta v šachu Garriho Kasparova — prehľadávaním, nie učením. → diel série
  • 1997 LSTM. Sepp Hochreiter a Jürgen Schmidhuber: rekurentná sieť s bránami, ktorá si dlho pamätá. → diel série
  • 2001 Náhodný les. Leo Breiman: súbor rozhodovacích stromov hlasuje. → diel série

5. Hlboké učenie (2012–2018)

V roku 2012 vyhrala súťaž v rozpoznávaní obrázkov ImageNet hlboká konvolučná sieť AlexNet (Alex Krizhevsky, Ilya Sutskever a Geoffrey Hinton) s takým náskokom, že sa odbor počas pár rokov presťahoval k neurónovým sieťam. Nebol to nový nápad — konvolučné siete existovali od konca 80. rokov. Nové boli tri veci: veľké označené dáta (ImageNet mal vyše milióna obrázkov), grafické karty, ktoré násobia matice tisíckrát rýchlejšie, a niekoľko drobných trikov (ReLU, dropout). Nasledovala lavína: reč, preklad, hry, generovanie.

  • 2012 AlexNet. Hlboká konvolučná sieť učená na grafických kartách vyhrala súťaž ImageNet s veľkým náskokom. → diel série
  • 2013 word2vec. Tomáš Mikolov a kol.: slová ako vektory, v ktorých sa dajú počítať analógie. → diel série
  • 2014 GAN. Ian Goodfellow: dve siete proti sebe generujú obrázky. → diel série
  • 2014 Pozornosť. Dzmitry Bahdanau a kol.: prekladová sieť sa pozerá na dôležité slová vety. → diel série
  • 2015 DQN. DeepMind naučil jednu sieť hrať desiatky hier na Atari z obrazovky. → diel série
  • 2016 AlphaGo. Program DeepMind porazil Lee Se-dola v go 4 : 1; hra sa považovala za doménu ľudskej intuície.
  • 2017 Transformer. Článok „Attention Is All You Need“ (Vaswani a kol., Google) — architektúra dnešných jazykových modelov. → diel série
  • 2017 PPO. John Schulman a kol. (OpenAI): stabilné učenie stratégie. → diel série
Príklad — prečo pomohla ReLU

Derivácia sigmoidy je σ′(z) = σ(z)(1 − σ(z)) ≤ ¼ (maximum v z = 0). V spätnom šírení sa tieto derivácie násobia cez všetky vrstvy, takže po desiatich sigmoidových vrstvách je gradient najviac (¼)10 = 9,5 · 10-7 pôvodnej veľkosti (váhy ho môžu zväčšiť aj zmenšiť, ale tento faktor zostane). ReLU(z) = max(0, z) má deriváciu 1 pre z > 0 — gradient aktívnymi neurónmi prejde nezmenšený, a hlboké siete sa tak dajú učiť.

6. Jazykové modely (od 2018)

Transformer z roku 2017 sa dal škálovať lepšie než čokoľvek predtým. Modely GPT predtrénované na veľkej časti internetu ukázali, že väčší model a viac dát prináša predvídateľné zlepšenie. GPT-3 v roku 2020 zvládal úlohy, na ktoré ho nikto neučil, len z niekoľkých príkladov v prompte. Doladením podľa ľudských preferencií z neho vznikol ChatGPT (november 2022) — prvý jazykový model, ktorý si vyskúšali stovky miliónov ľudí. Dnes sa z modelov stávajú agenti, ktorí samostatne pracujú v počítači.

  • 2020 GPT-3. Jazykový model so 175 miliardami parametrov zvláda nové úlohy len z príkladov v prompte. → diel série
  • 2020 Difúzne modely. Jonathan Ho a kol.: obrázok sa vylúpne zo šumu krok za krokom. → diel série
  • 2020 AlphaFold 2. DeepMind predpovedá trojrozmerný tvar bielkovín s presnosťou blízkou experimentu.
  • 2022 ChatGPT. Jazykový model doladený podľa ľudských preferencií; počas dvoch mesiacov ho podľa odhadov používalo 100 miliónov ľudí. → diel série
  • 2024 Nobelove ceny. Za fyziku John Hopfield a Geoffrey Hinton (neurónové siete), za chémiu Demis Hassabis a John Jumper (AlphaFold) spolu s Davidom Bakerom.
  • 2024 Agenti. Jazykové modely s nástrojmi samostatne programujú, hľadajú a pracujú v počítači. → diel série

Pozornosť: vzorec, na ktorom stojí transformer

Nech Q ∈ ℝm×dk sú dotazy (každý riadok je jeden dotaz), K ∈ ℝn×dk kľúče a V ∈ ℝn×dv hodnoty (i-tý riadok V patrí k i-tému kľúču). Softmax sa počíta pre každý riadok zvlášť: pre s ∈ ℝn je softmax(s)j = esj/∑i=1n esi. Výsledok je matica z ℝm×dv:

Pozornosť(Q, K, V) = softmax(QKT/√dk) V

QKT
skalárne súčiny každého dotazu s každým kľúčom — veľké, keď vektory mieria rovnakým smerom; tak slovo „hľadá“ slová, ktoré sa ho týkajú
√dk
skalárny súčin dk náhodných zložiek má rozptyl úmerný dk; bez delenia by sa softmax s rastúcou dimenziou upol na jediné slovo a gradienty by zmizli
softmax
z ľubovoľných skóre urobí kladné váhy so súčtom 1 — a na rozdiel od „vyber maximum“ sa dá derivovať, takže sa dá učiť
V
hodnoty — informácia, ktorá sa skutočne odovzdáva; výstup je ich vážený priemer
Každé slovo si zloží nový vektor ako vážený priemer ostatných, s váhami podľa podobnosti.
Príklad — jeden dotaz, dva kľúče

q = (1, 0), k1 = (1, 0), k2 = (0, 1), v1 = (10, 0), v2 = (0, 10), dk = 2.

Farby zodpovedajú členom vzorca vyššie.

Skóre: q · k1/√2 = 1/√2 = 0,707 a q · k2/√2 = 0/√2 = 0.

Softmax: e0,707/e0,707 + e0 = 0,670 a e0/e0,707 + e0 = 0,330.

Výstup: 0,670 · (10, 0) + 0,330 · (0, 10) = (6,70; 3,30). Dotaz sa viac „pozrel“ na prvé slovo, pretože jeho kľúč je mu podobný — ale ani druhé neignoroval.

Do hĺbky: Pozornosť a Transformery.

Škálovací zákon: prečo „viac“ funguje predvídateľne

Nech N > 0 je počet parametrov modelu, D > 0 počet trénovacích tokenov a E, A, B, α, β > 0 konštanty preložené meraním. Škálovací zákon (v tvare podľa Hoffmanna a kol.) odhaduje stratu natrénovaného modelu ako

L(N, D) = E + A/Nα + B/Dβ

E
neprekonateľná strata: text sám je neistý a ani nekonečný model nespozná ďalšie slovo s istotou
A/Nα
daň za malý model (N parametrov); klesá mocninovo — dvojnásobok parametrov ju zníži len o 21 %, a preto modely rastú o rády
B/Dβ
daň za málo dát (D tokenov); stojí zvlášť, pretože obrovský model na malých dátach narazí na tento člen
L je priemerná strata (krížová entropia) na token. Výpočet učenia je približne C ≈ 6 · N · D operácií; zákon hovorí, ako ho rozdeliť medzi veľkosť modelu a dáta.
Príklad — Gopher proti Chinchille

Farby zodpovedajú členom vzorca vyššie. Konštanty preložené na stovkách modelov (Hoffmann a kol., 2022): E = 1,69, A = 406,4, B = 410,7, α = 0,34, β = 0,28.

  • Gopher: N = 280 mld., D = 300 mld.: L = 1,69 + 0,052 + 0,251 = 1,993; výpočet 5,0 · 1023.
  • Chinchilla: N = 70 mld., D = 1 400 mld.: L = 1,69 + 0,083 + 0,163 = 1,937; výpočet 5,9 · 1023.

Pri porovnateľnom výpočte je štyrikrát menšia Chinchilla lepšia: pri Gopheri výrazne prevažoval dátový člen nad parametrovým (0,251 proti 0,052), takže sa oplatilo ubrať parametre a pridať dáta.

7. Čo sa z histórie dá vyčítať

Definícia — horká lekcia (the bitter lesson)

Horká lekcia je téza, ktorú Richard Sutton v eseji z roku 2019 vyvodil zo sedemdesiatich rokov výskumu AI. Je to empirické pozorovanie, nie matematické tvrdenie. Porovnáva dva druhy metód:

  1. všeobecné metódy, ktorých výsledky sa zlepšujú s rastúcim výpočtovým výkonom — prehľadávanie a učenie;
  2. metódy s vloženými znalosťami, do ktorých ľudia ručne vkladajú svoje znalosti o konkrétnej úlohe.

Téza znie: keďže výpočet dlhodobo (exponenciálne) zlacňuje, metódy druhu 1 nakoniec prekonajú metódy druhu 2. Ručné znalosti pomôžu krátkodobo, ale nakoniec ich predbehne metóda, ktorá sa potrebné znalosti naučí sama z dát a výpočtu.

Laicky povedané

Šach vyhralo prehľadávanie, nie pravidlá od veľmajstrov. Obrázky vyhrala sieť, ktorá sa sama naučila, čo je hrana, nie ručne navrhnuté detektory hrán. Jazyk vyhral model, ktorý prečítal internet, nie gramatika spísaná lingvistami. „Horká“ je to preto, že ľudia sa zakaždým znova snažia vložiť do strojov svoje múdre nápady — a zakaždým ich predbehne hrubá sila s dobrou všeobecnou metódou.

A ešte jedna vec je vidieť, keď sa pozrieme, odkiaľ pochádzajú myšlienky, ktoré v sérii vysvetľujeme. Z 37 míľnikov na osi ich 30 má vlastný diel:

1 1940. 4 1950. 3 1960. 2 1970. 5 1980. 3 1990. 1 2000. 7 2010. 4 2020. desaťročie (rok začiatku) míľniky (počet)
Koľko míľnikov s vlastným dielom série pochádza z ktorého desaťročia

Najviac (7) ich je z 2010. rokov — ale skoro rovnako dôležité sú 50. a 80. roky. Perceptrón, spätné šírenie, konvolučné siete, LSTM aj Q-learning sú staré desiatky rokov; čakali na dáta a výpočtový výkon. Väčšina toho, čo dnes vyzerá ako zázrak, je múdra kombinácia starých nápadov vo veľkom meradle. A každá vlna nadšenia zatiaľ skončila vytriezvením — otázka je len, akým hlbokým.

8. Zhrnutie

  • 1950 Turingov test, 1956 Dartmouth (názov „umelá inteligencia“ pochádza z návrhu seminára z roku 1955), 1958 perceptrón.
  • Po zlatých rokoch prišli dve zimy (zhruba 1974–1980 a 1987–1993), medzi nimi expertné systémy.
  • Od 90. rokov štatistické učenie: z dát namiesto pravidiel, s meraním a pravdepodobnosťou.
  • 2012 AlexNet a hlboké učenie; 2017 transformer; 2022 ChatGPT; dnes agenti.
  • Horká lekcia: dlhodobo vyhrávajú všeobecné metódy, ktoré využijú výpočet — prehľadávanie a učenie.
  • Väčšina dnešných myšlienok je stará; nové sú dáta, výpočet a mierka.

Chcete si to vyskúšať? Požiadajte AI agenta, nech vám napíše program ELIZA s dvadsiatimi pravidlami, a porozprávajte sa s ním. Potom porovnajte rovnaký rozhovor s dnešným jazykovým modelom — a zamyslite sa, čo z rozdielu je „inteligencia“.

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