Přeskočit na obsah
coden

Stručná historie umělé inteligence: od Turinga po jazykové modely

Turingův test, Dartmouthský seminář, zlatá léta, dvě zimy AI a expertní systémy, statistické učení, hluboké učení a jazykové modely — časová osa s odkazy na díly série a hořká lekce sedmdesáti let výzkumu.

10 minut Matěj Žalmánek 2026-10-16

Série Základy AI Díl 2 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
  • Jak se AI vyvíjela a proč se střídala nadšení se zimami.
  • Odkud pocházejí myšlenky, na kterých stojí dnešní modely.
  • Co je hořká lekce a proč vyhrávají obecné metody s velkým výpočtem.

Co se hodí znát předem: Mapa umělé inteligence: co je co a jak to do sebe zapadá

Umělá inteligence není nová. Její dějiny jsou starší než osobní počítače a připomínají horskou dráhu: období nadšení a velkých slibů, po nich vystřízlivění a odliv peněz — „zimy“ —, a pak znovu vzestup, když se ukázalo, že stará myšlenka najednou funguje. Většinu nápadů, na kterých stojí dnešní jazykové modely, vymysleli lidé před desítkami let. V tomhle dílu je projdeme v pořadí, v jakém přišly, a u každé, kterou v sérii vysvětlujeme, najdete odkaz na příslušný díl.

Navazuje na díl Mapa umělé inteligence.

začátky zlatá léta první zima expertní systémy druhá zima statistické učení hluboké učení jazykové modely 194019501960197019801990200020102020 Turingův test 1950 Dartmouthský seminář 1956 Perceptron 1958 Lighthillova zpráva 1973 Expertní systémy 1980 Zpětné šíření 1986 Deep Blue 1997 AlexNet 2012 AlphaGo 2016 Transformer 2017 ChatGPT 2022 Agenti 2024 rok (letopočet)
Časová osa umělé inteligence (zeleně období rozkvětu, fialově zimy)

1. Začátky: může stroj myslet?

Definice — Turingův test

Alan Turing v roce 1950 nahradil nejasnou otázku „mohou stroje myslet?“ zkouškou, které sám říkal „hra na napodobování“. Turingův test má tři účastníky:

  1. soudce — člověk, který rozhoduje;
  2. člověk — skrytý protějšek;
  3. stroj — skrytý protějšek, který zkoušíme.

a probíhá takto:

  1. soudce komunikuje s oběma protějšky jen psaným textem a neví, který je který (zná je jen pod označením X a Y);
  2. po omezenou dobu jim klade libovolné otázky;
  3. nakonec prohlásí, zda je strojem X, nebo Y.

Stroj v testu obstojí, právě když ho soudce neurčí správně o nic častěji, než kdyby jen hádal; tuhle podmínku zpřesňuje další definice. Pokud se stroj takto vydává za člověka stejně dobře jako člověk sám, nemáme podle Turinga důvod mu inteligenci upírat — to už je Turingův filozofický závěr, ne součást definice testu.

Laicky řečeno

Místo filozofické debaty praktická zkouška: když si s někým píšete a nepoznáte, jestli je to člověk, nebo program, je to pro vás inteligence. Dnešní jazykové modely v krátkém rozhovoru takovou zkouškou často projdou — a ukazuje se, že to o inteligenci říká méně, než se čekalo.

Definice — Turingův test jako statistická zkouška

Nechť n ∈ ℕ, n ≥ 1, je počet nezávislých rozhovorů (běhů testu výše). Pro i = 1, …, n nechť Xi ∈ {0, 1} je náhodná veličina, pro kterou Xi = 1, právě když soudce v i-tém rozhovoru určil stroj správně, a nechť

S = ∑i=1n Xi

je počet správných určení. Nulová hypotéza zní: stroj je od člověka neodlišitelný, tj. soudce jen hádá, X1, …, Xn jsou nezávislé a P(Xi = 1) = 1/2. Pak S ~ Bin(n, 1/2), střední hodnota ES = n/2 a směrodatná odchylka σ = √n/2. Testová statistika je

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

Stroj test splní, právě když |z| < 1,96, tj. právě když oboustranný test na hladině 5 % (s normálním přiblížením binomického rozdělení) nulovou hypotézu nezamítne. Slovy: výsledek soudce se od hádání statisticky neliší.

Poznámka. Tohle je dnešní formalizace, ne Turingova. Turing test v roce 1950 popsal slovně a místo prahu dal předpověď: kolem roku 2000 prý průměrný soudce po pěti minutách rozhovoru nepozná stroj správně s pravděpodobností vyšší než 70 %.

Laicky řečeno

Jeden rozhovor nic nedokáže — soudce se může trefit i náhodou. Proto se rozhovorů vede hodně a ptáme se, jestli soudce poznává stroj častěji, než kdyby si házel mincí. Pokud ne, stroj prošel.

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

S
kolikrát soudce stroj poznal — to jediné, co se v testu měří
n/2
kolikrát by se trefil čistým hádáním; odečítáme to, protože zajímavé je jen to, co je nad náhodou
√n/2
typický rozptyl hádání; dělením přebytek porovnáme s běžným šumem — 6 navíc ze 100 rozhovorů je něco jiného než 6 navíc z 10 000
O kolik „běžných odchylek“ je soudce lepší než mince.
Příklad — 100 rozhovorů

Soudce poznal stroj v 56 rozhovorech ze 100 (barvy odpovídají členům vzorce výše). Hádáním by čekal 100/2 = 50, odchylka je √100/2 = 5, takže

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

To je méně než 1,96 — od hádání se to neliší a stroj prošel. Neprošel by, kdyby soudce trefil aspoň 50 + 1,96 · 5 = 59,8, tedy 60 rozhovorů.

  • 1943 Umělý neuron. Warren McCulloch a Walter Pitts popsali neuron jako logický prvek s prahem. → díl série
  • 1950 Turingův test. Alan Turing v článku Computing Machinery and Intelligence navrhl místo otázky „myslí stroje?“ hru na napodobování.
  • 1950 Šachy prohledáváním. Claude Shannon popsal, jak by počítač hrál šachy: prohledávat tahy do určité hloubky a pozice ohodnocovat funkcí. → díl série

2. Zlatá léta (1956–1974)

Na semináři v Dartmouthu v létě 1956 se sešli lidé, kteří věřili, že „každý aspekt učení nebo jakoukoli jinou vlastnost inteligence lze v principu popsat tak přesně, že ji stroj dokáže napodobit“. Následovala dvě desetiletí optimismu. Programy dokazovaly věty, řešily slovní úlohy, hrály dámu a mluvily o kostkách na stole. Herbert Simon v roce 1965 předpověděl, že do dvaceti let zvládnou stroje jakoukoli práci, kterou dělá člověk.

  • 1956 Dartmouthský seminář. John McCarthy, Marvin Minsky, Nathaniel Rochester a Claude Shannon svolali letní seminář; název „artificial intelligence“ se ujal.
  • 1956 Logic Theorist. Allen Newell a Herbert Simon: program, který dokazoval matematické věty prohledáváním. → díl série
  • 1958 Perceptron. Frank Rosenblatt postavil učící se neuron; noviny psaly o stroji, který bude chodit a mluvit. → díl série
  • 1959 Strojové učení. Arthur Samuel: program na dámu, který se zlepšoval hraním sám se sebou. Od něj pochází výraz machine learning. → díl série
  • 1960 Kalmanův filtr. Rudolf Kálmán: odhad stavu ze zašuměných měření; letěl s ním Apollo. → díl série
  • 1965 Fuzzy množiny. Lotfi Zadeh zavedl příslušnost do množiny jako číslo mezi 0 a 1. → díl série
  • 1966 ELIZA. Joseph Weizenbaum napsal program, který napodoboval psychoterapeuta pár pravidly — a lidé mu svěřovali tajemství.
  • 1969 Kniha Perceptrons. Marvin Minsky a Seymour Papert ukázali, co jeden neuron nezvládne (XOR); zájem o neuronové sítě opadl. → díl série
  • 1971 Shakey a STRIPS. Robot Shakey ze Stanfordu plánoval kroky v jazyce STRIPS. → díl série
  • 1973 Lighthillova zpráva. Britská vláda si nechala posoudit výsledky AI; zpráva byla kritická a financování se omezilo.

Perceptron: první neuron, který se učí

Definice — perceptron

Nechť d ∈ ℕ, d ≥ 1, w = (w1, …, wd) ∈ ℝd jsou váhy a b ∈ ℝ je posun. Pro x ∈ ℝd označme w · x = w1x1 + … + wdxd skalární součin. Perceptron s vahami w a posunem b je funkce

hw,b : ℝd → {−1, +1},   hw,b(x) = +1, je-li w · x + b > 0, a hw,b(x) = −1 jinak.

Nechť (x, y) je příklad se vstupem x ∈ ℝd a správnou třídou y ∈ {−1, +1}. Perceptron se na něm splete, právě když

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

Za chybu se tu počítá i případ w · x + b = 0 (bod leží přímo na hranici), i když ho hw,b zařadí do −1. Hranice perceptronu je množina {x ∈ ℝd : w · x + b = 0}; pro w ≠ 0 je to nadrovina (pro d = 2 přímka).

Laicky řečeno

Každý vstup dostane váhu podle toho, jak moc mluví pro „ano“. Neuron vstupy s vahami sečte a když součet vyjde kladný, řekne „ano“. Učení znamená ladit váhy tak, aby „ano“ říkal správně.

Rosenblattovo pravidlo opravuje váhy jen tehdy, když se perceptron splete:

w ← w + η · y · x

w
váhy — jediné, co se učí; nová hodnota je stará plus oprava, takže se učí postupně z jednoho příkladu po druhém
η
rychlost učení — jak velký krok; u perceptronu začínajícího z nul jen zvětšuje všechny váhy stejně, a hranici tak nemění
y
správná třída ±1 — určuje směr: kladný příklad váhy přitáhne k sobě, záporný odstrčí
x
vstup, na kterém se spletl — oprava míří právě tam; vstup s hodnotou 0 k chybě nepřispěl, a jeho váha se proto nezmění
Posun se opravuje stejně, b ← b + η · y. Po opravě vzroste y · (w · x + b) přesně o η · (‖x‖² + 1) > 0: odpověď na tom příkladu se posune správným směrem.
perceptron(data, η):
    w ← (0, …, 0);  b ← 0
    opakuj:
        chyb ← 0
        pro každý příklad (x, y) v data:
            jestliže y · (w · x + b) ≤ 0:        # spletl se (nebo stojí na hranici)
                w ← w + η · y · x
                b ← b + η · y
                chyb ← chyb + 1
    dokud chyb > 0                               # celá epocha bez chyby: hotovo
    vrať w, b
Příklad — perceptron se naučí AND

Data: (0, 0) → −1, (0, 1) → −1, (1, 0) → −1, (1, 1) → +1; η = 1, start w = (0, 0), b = 0. Barvy odpovídají členům pravidla w ← w + η · y · x výše.

  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ávně, nic se nemění.
  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 jde dál: celkem 18 oprav, poslední v 8. epoše, a výsledek je w = (3, 2), b = −4. Kontrola: 3 · 1 + 2 · 1 − 4 = 1 > 0 a pro ostatní vstupy −4, −2, −1 < 0.

Věta — perceptron nezvládne XOR (Minsky a Papert, 1969)

Nechť d = 2 a hw,b je perceptron z definice výše. Pak neexistují w = (w1, w2) ∈ ℝ2 a b ∈ ℝ takové, že

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

tj. žádný perceptron nezařadí správně všechny čtyři body funkce XOR.

Důkaz. Správné zařazení by znamenalo b ≤ 0, w1 + w2 + b ≤ 0, w2 + b > 0 a w1 + b > 0. Sečtením posledních dvou nerovností w1 + w2 + 2b > 0, tedy w1 + w2 + b > −b ≥ 0 — spor s druhou nerovností. ∎

Laicky řečeno

Body XOR leží jako na šachovnici: kladné na jedné úhlopříčce, záporné na druhé. Jedna přímka je od sebe oddělit nedokáže. Dvě vrstvy neuronů to zvládnou — jenže jak je učit, se v roce 1969 nevědělo. Víc v dílu Perceptron.

3. Dvě zimy a expertní systémy (1974–1993)

Definice — zima umělé inteligence

Zima AI je časové období, pro které platí všechny tři podmínky:

  1. předcházelo mu období velkých očekávání a slibů, které se nesplnily;
  2. prudce klesne financování výzkumu AI (státní granty i soukromé investice);
  3. klesne zájem o obor — méně projektů, firem a pozornosti odborníků i veřejnosti.

Je to historický pojem, ne matematický: nemá přesné kvantitativní meze a letopočty jsou přibližné. Obvykle se mluví o dvou zimách: zhruba 1974–1980 (po Lighthillově zprávě ve Velké Británii a škrtech amerického grantového úřadu DARPA) a 1987–1993 (po zhroucení trhu se specializovanými počítači pro jazyk Lisp a vystřízlivění z expertních systémů).

Laicky řečeno

Programy, které zvládly hračkové světy kostek, narazily na skutečný svět: příliš mnoho možností, příliš mnoho výjimek, příliš pomalé počítače. Kdo sliboval stroj, který „za deset let bude myslet“, musel vysvětlovat, proč nemyslí. Peníze odešly jinam.

Mezi zimami přišla vlna expertních systémů: místo obecné inteligence úzký obor a stovky pravidel sepsaných s odborníky („pokud teplota > 38 a … pak …“). Fungovaly a vydělávaly. Jenže pravidla se těžko udržovala, systémy neuměly nic mimo svůj obor a nedokázaly se učit. Ve stínu té doby se ale tiše vrátily neuronové sítě: zpětné šíření (1986) ukázalo, jak učit sítě s více vrstvami.

  • 1975 Genetické algoritmy. John Holland shrnul evoluci populace řešení s křížením a mutací. → díl série
  • 1980 Expertní systémy. XCON (R1) konfiguroval počítače firmy DEC pravidly od expertů a šetřil miliony dolarů ročně. → díl série
  • 1986 Zpětné šíření. David Rumelhart, Geoffrey Hinton a Ronald Williams ukázali, jak učit vícevrstvé sítě. → díl série
  • 1988 Bayesovské sítě. Judea Pearl: pravděpodobnostní usuzování na grafu závislostí. → díl série
  • 1989 Konvoluční sítě. Yann LeCun naučil konvoluční síť číst ručně psaná PSČ. → díl série
  • 1989 Q-learning. Christopher Watkins: učení hodnoty akcí bez znalosti pravidel světa. → díl série

Zpětné šíření: jak učit víc vrstev

Definice — zpětné šíření (backpropagation)

Nechť L ≥ 1 je počet vrstev, n0, …, nL ≥ 1 jejich šířky a pro l = 1, …, L nechť Wl ∈ ℝnl×nl−1 a bl ∈ ℝnl jsou váhy a posuny. Nechť φ : ℝ → ℝ je diferencovatelná aktivační funkce (na vektory se používá po složkách) a síť počítá

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

Nechť 𝓛 : ℝnL → ℝ je diferencovatelná ztráta výstupu hL pro danou správnou odpověď (ztrátu tu značíme 𝓛, aby se nepletla s počtem vrstev L). Symbol ⊙ značí součin vektorů po složkách. Zpětné šíření je algoritmus:

  • Vstup: vstup sítě x ∈ ℝn0, parametry Wl, bl (l = 1, …, L) a ztráta 𝓛.
  • Výstup: gradienty ∂𝓛/∂Wl ∈ ℝnl×nl−1 a ∂𝓛/∂bl ∈ ℝnl pro všechna l = 1, …, L.
  1. Dopředný průchod: pro l = 1, …, L spočti a ulož zl a hl.
  2. Chyba výstupu: δL = ∂𝓛/∂hL ⊙ φ′(zL) (obecně δl = ∂𝓛/∂zl).
  3. Zpětný průchod: pro l = L, L − 1, …, 1 polož ∂𝓛/∂Wl = δl hl−1T a ∂𝓛/∂bl = δl; je-li l > 1, spočti δl−1 = (WlTδl) ⊙ φ′(zl−1).
  4. Konec: po zpracování vrstvy l = 1 vrať všechny gradienty.

Krok 3 je pravidlo pro derivaci složené funkce (řetízkové pravidlo) a každé δl se použije znovu pro nižší vrstvu, takže celý gradient stojí řádově stejně jako jeden průchod sítí dopředu.

Laicky řečeno

Síť se spletla. Kolik z té chyby jde na vrub které váhy? Zpětné šíření to rozpočítá: začne u výstupu a vinu posílá dozadu, vrstvu po vrstvě, podle toho, jak moc která váha výsledek ovlivnila.

Pro jeden neuron se vstupem x ∈ ℝ, vahou w ∈ ℝ, posunem b ∈ ℝ a správnou odpovědí y ∈ ℝ, tj. z = wx + b, ŷ = σ(z) se sigmoidou σ(z) = 1/1 + e−z, a se ztrátou L = 1/2(ŷ − y)² vypadá řetízek takto:

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

∂L/∂w
co chceme: jak se změní chyba, když pohneme vahou — znaménko říká, kterým směrem váhu posunout
∂L/∂ŷ
= ŷ − y: jak moc chyba závisí na výstupu; tady zpětný průchod začíná
∂ŷ/∂z
= ŷ(1 − ŷ) u sigmoidy: jak citlivá je aktivace; u nasyceného neuronu je skoro 0 a učení se zastaví
∂z/∂w
= x: kolik váha do součtu přinesla; ve vícevrstvé síti tu stojí výstup předchozí vrstvy a řetízek pokračuje dál dozadu
Gradient je součin místních derivací po cestě od chyby k váze.
Příklad — jeden krok učení

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

Dozadu (barvy odpovídají členům vzorce výše):

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

Souč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 roste a výstup se přiblíží k 1.

zpětné_šíření(x, y):
    h₀ ← x                                   # dopředu: zapamatuj si mezivýsledky
    pro l = 1 … L:
        zₗ ← Wₗ · hₗ₋₁ + bₗ
        hₗ ← φ(zₗ)
    δ ← ∂Ztráta/∂h_L                         # dozadu: začni u chyby výstupu
    pro l = L … 1:
        δ ← δ ⊙ φ′(zₗ)                       # přes aktivaci (po složkách)
        ∂Ztráta/∂Wₗ ← δ · hₗ₋₁ᵀ               # gradient vah této vrstvy
        ∂Ztráta/∂bₗ ← δ
        δ ← Wₗᵀ · δ                          # pošli vinu o vrstvu níž
    vrať všechny ∂Ztráta/∂Wₗ, ∂Ztráta/∂bₗ

Do hloubky: Neuronová síť od nuly.

4. Statistické učení (1993–2012)

Obor se proměnil. Místo „naprogramujme inteligenci“ přišlo „naučme se to z dat“ — a s tím pravděpodobnost, statistika a pečlivé měření. Rozpoznávání řeči, filtry spamu, doporučování a vyhledávání fungovaly díky skrytým Markovovým modelům, bayesovským metodám, SVM a souborům stromů. Slovo „umělá inteligence“ se tehdy moc nepoužívalo — říkalo se strojové učení. Deep Blue porazil Kasparova v roce 1997, ale ne učením: hrubou silou prohledávání a ručně laděnou ohodnocovací funkcí.

  • 1995 SVM. Corinna Cortes a Vladimir Vapnik: klasifikace s největším okrajem a jádrový trik. → díl série
  • 1997 Deep Blue. Počítač IBM porazil mistra světa v šachu Garriho Kasparova — prohledáváním, ne učením. → díl série
  • 1997 LSTM. Sepp Hochreiter a Jürgen Schmidhuber: rekurentní síť s branami, která si pamatuje dlouho. → díl série
  • 2001 Náhodný les. Leo Breiman: soubor rozhodovacích stromů hlasuje. → díl série

5. Hluboké učení (2012–2018)

V roce 2012 vyhrála soutěž v rozpoznávání obrázků ImageNet hluboká konvoluční síť AlexNet (Alex Krizhevsky, Ilya Sutskever a Geoffrey Hinton) s takovým náskokem, že se obor během pár let přestěhoval k neuronovým sítím. Nebyl to nový nápad — konvoluční sítě existovaly od konce 80. let. Nové byly tři věci: velká označená data (ImageNet měl přes milion obrázků), grafické karty, které násobí matice tisíckrát rychleji, a několik drobných triků (ReLU, dropout). Následovala lavina: řeč, překlad, hry, generování.

  • 2012 AlexNet. Hluboká konvoluční síť učená na grafických kartách vyhrála soutěž ImageNet s velkým náskokem. → díl série
  • 2013 word2vec. Tomáš Mikolov a kol.: slova jako vektory, ve kterých jde počítat analogie. → díl série
  • 2014 GAN. Ian Goodfellow: dvě sítě proti sobě generují obrázky. → díl série
  • 2014 Pozornost. Dzmitry Bahdanau a kol.: překladová síť se dívá na důležitá slova věty. → díl série
  • 2015 DQN. DeepMind naučil jednu síť hrát desítky her na Atari z obrazovky. → díl série
  • 2016 AlphaGo. Program DeepMind porazil Lee Se-dola v go 4 : 1; hra byla považovaná za doménu lidské intuice.
  • 2017 Transformer. Článek „Attention Is All You Need“ (Vaswani a kol., Google) — architektura dnešních jazykových modelů. → díl série
  • 2017 PPO. John Schulman a kol. (OpenAI): stabilní učení strategie. → díl série
Příklad — proč pomohla ReLU

Derivace sigmoidy je σ′(z) = σ(z)(1 − σ(z)) ≤ ¼ (maximum v z = 0). Ve zpětném šíření se tyhle derivace násobí přes všechny vrstvy, takže po deseti sigmoidových vrstvách je gradient nejvýš (¼)10 = 9,5 · 10-7 původní velikosti (váhy ho mohou zvětšit i zmenšit, ale tenhle faktor zůstane). ReLU(z) = max(0, z) má derivaci 1 pro z > 0 — gradient aktivními neurony projde nezmenšený, a hluboké sítě se tak dají učit.

6. Jazykové modely (od 2018)

Transformer z roku 2017 se dal škálovat lépe než cokoli předtím. Modely GPT předtrénované na velké části internetu ukázaly, že větší model a víc dat přináší předvídatelné zlepšení. GPT-3 v roce 2020 zvládal úlohy, na které ho nikdo neučil, jen z několika příkladů v promptu. Doladěním podle lidských preferencí z něj vznikl ChatGPT (listopad 2022) — první jazykový model, který si vyzkoušely stovky milionů lidí. Dnes se z modelů stávají agenti, kteří samostatně pracují v počítači.

  • 2020 GPT-3. Jazykový model se 175 miliardami parametrů zvládá nové úlohy jen z příkladů v promptu. → díl série
  • 2020 Difúzní modely. Jonathan Ho a kol.: obrázek se vyloupne z šumu krok za krokem. → díl série
  • 2020 AlphaFold 2. DeepMind předpovídá trojrozměrný tvar bílkovin s přesností blízkou experimentu.
  • 2022 ChatGPT. Jazykový model doladěný podle lidských preferencí; během dvou měsíců ho podle odhadů používalo 100 milionů lidí. → díl série
  • 2024 Nobelovy ceny. Za fyziku John Hopfield a Geoffrey Hinton (neuronové sítě), za chemii Demis Hassabis a John Jumper (AlphaFold) spolu s Davidem Bakerem.
  • 2024 Agenti. Jazykové modely s nástroji samostatně programují, hledají a pracují v počítači. → díl série

Pozornost: vzorec, na kterém stojí transformer

Nechť Q ∈ ℝm×dk jsou dotazy (každý řádek je jeden dotaz), K ∈ ℝn×dk klíče a V ∈ ℝn×dv hodnoty (i-tý řádek V patří k i-tému klíči). Softmax se počítá pro každý řádek zvlášť: pro s ∈ ℝn je softmax(s)j = esj/∑i=1n esi. Výsledek je matice z ℝm×dv:

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

QKT
skalární součiny každého dotazu s každým klíčem — velké, když vektory míří stejným směrem; tak slovo „hledá“ slova, která se ho týkají
√dk
skalární součin dk náhodných složek má rozptyl úměrný dk; bez dělení by se softmax s rostoucí dimenzí upnul na jediné slovo a gradienty by zmizely
softmax
z libovolných skóre udělá kladné váhy se součtem 1 — a na rozdíl od „vyber maximum“ jde derivovat, takže se dá učit
V
hodnoty — informace, která se skutečně předává; výstup je jejich vážený průměr
Každé slovo si složí nový vektor jako vážený průměr ostatních, s vahami podle podobnosti.
Příklad — jeden dotaz, dva klíče

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

Barvy odpovídají členům vzorce výše.

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 se víc „podíval“ na první slovo, protože jeho klíč je mu podobný — ale ani druhé neignoroval.

Do hloubky: Pozornost a Transformery.

Škálovací zákon: proč „víc“ funguje předvídatelně

Nechť N > 0 je počet parametrů modelu, D > 0 počet trénovacích tokenů a E, A, B, α, β > 0 konstanty proložené měřením. Škálovací zákon (ve tvaru podle Hoffmanna a kol.) odhaduje ztrátu natrénovaného modelu jako

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

E
nepřekonatelná ztráta: text sám je nejistý a ani nekonečný model nepozná další slovo s jistotou
A/Nα
daň za malý model (N parametrů); klesá mocninně — dvojnásobek parametrů ji sníží jen o 21 %, a proto modely rostou o řády
B/Dβ
daň za málo dat (D tokenů); stojí zvlášť, protože obrovský model na malých datech narazí na tenhle člen
L je průměrná ztráta (křížová entropie) na token. Výpočet učení je přibližně C ≈ 6 · N · D operací; zákon říká, jak ho rozdělit mezi velikost modelu a data.
Příklad — Gopher proti Chinchille

Barvy odpovídají členům vzorce výše. Konstanty proložené na stovkách modelů (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.

Při srovnatelném výpočtu je čtyřikrát menší Chinchilla lepší: u Gopheru výrazně převažoval datový člen nad parametrovým (0,251 proti 0,052), takže se vyplatilo ubrat parametry a přidat data.

7. Co se z historie dá vyčíst

Definice — hořká lekce (the bitter lesson)

Hořká lekce je teze, kterou Richard Sutton v eseji z roku 2019 vyvodil ze sedmdesáti let výzkumu AI. Je to empirické pozorování, ne matematické tvrzení. Porovnává dva druhy metod:

  1. obecné metody, jejichž výsledky se zlepšují s rostoucím výpočetním výkonem — prohledávání a učení;
  2. metody se vloženými znalostmi, do kterých lidé ručně vkládají své znalosti o konkrétní úloze.

Teze zní: protože výpočet dlouhodobě (exponenciálně) zlevňuje, metody druhu 1 nakonec předčí metody druhu 2. Ruční znalosti pomohou krátkodobě, ale nakonec je předběhne metoda, která se potřebné znalosti naučí sama z dat a výpočtu.

Laicky řečeno

Šachy vyhrálo prohledávání, ne pravidla od velmistrů. Obrázky vyhrála síť, která se sama naučila, co je hrana, ne ručně navržené detektory hran. Jazyk vyhrál model, který přečetl internet, ne gramatika sepsaná lingvisty. „Hořká“ je to proto, že lidé se pokaždé znovu snaží vložit do strojů své chytré nápady — a pokaždé je předběhne hrubá síla s dobrou obecnou metodou.

A ještě jedna věc je vidět, když se podíváme, odkud pocházejí myšlenky, které v sérii vysvětlujeme. Z 37 milníků na ose jich 30 má vlastní díl:

1 1940. 4 1950. 3 1960. 2 1970. 5 1980. 3 1990. 1 2000. 7 2010. 4 2020. desetiletí (rok začátku) milníky (počet)
Kolik milníků s vlastním dílem série pochází z kterého desetiletí

Nejvíc (7) jich je z 2010. let — ale skoro stejně důležitá jsou 50. a 80. léta. Perceptron, zpětné šíření, konvoluční sítě, LSTM i Q-learning jsou staré desítky let; čekaly na data a výpočetní výkon. Většina toho, co dnes vypadá jako zázrak, je chytrá kombinace starých nápadů ve velkém měřítku. A každá vlna nadšení zatím skončila vystřízlivěním — otázka je jen, jak hlubokým.

8. Shrnutí

  • 1950 Turingův test, 1956 Dartmouth (název „umělá inteligence“ pochází z návrhu semináře z roku 1955), 1958 perceptron.
  • Po zlatých letech přišly dvě zimy (zhruba 1974–1980 a 1987–1993), mezi nimi expertní systémy.
  • Od 90. let statistické učení: z dat místo pravidel, s měřením a pravděpodobností.
  • 2012 AlexNet a hluboké učení; 2017 transformer; 2022 ChatGPT; dnes agenti.
  • Hořká lekce: dlouhodobě vyhrávají obecné metody, které využijí výpočet — prohledávání a učení.
  • Většina dnešních myšlenek je stará; nové jsou data, výpočet a měřítko.

Chcete si to osahat? Požádejte AI agenta, ať vám napíše program ELIZA o dvaceti pravidlech a popovídejte si s ním. Pak srovnejte stejný rozhovor s dnešním jazykovým modelem — a zamyslete se, co z rozdílu je „inteligence“.

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