jak funguje neuron v umělé inteligenci

Vážený součet vstupů proti prahu, nic víc. Nastavte neuron tak, aby počítal AND i OR, a zjistěte, proč jeden neuron nikdy nespočítá XOR. Cvičení na 7 minut, zdarma a bez registrace.

PokročiláLadění7 min

Nastavte váhy a práh jednoho neuronu, ať spočítá AND, OR i NAND, a zjistíte, proč na XOR nestačí.

Co si procvičíte

  • Vysvětlíte, jak vážený součet vstupů a práh společně rozhodují o výstupu neuronu
  • Propojíte změnu váhy nebo prahu s posunem rozhodovací hranice v grafu
  • Nastavíte neuron tak, aby počítal AND, OR i NAND
  • Zdůvodníte, proč jeden neuron nedokáže spočítat XOR a co by to vyřešilo

Vyberte si variantu

Co jeden neuron doopravdy počítá

Za slovem „neuron“ se v umělé inteligenci neskrývá nic biologického, jen jedna věta matematiky: vezmi vstupy, každý vynásob jeho váhou, sečti to a porovnej se stanoveným prahem. Když součet práh dosáhne nebo přesáhne, neuron aktivuje (výstup 1), jinak ne (výstup 0). To je celý mechanismus. Žádná paměť, žádné uvažování, jedno porovnání čísla s číslem.

Váha vyjadřuje, jak moc na daném vstupu záleží. Kladná váha znamená, že aktivní vstup pomáhá neuronu se aktivovat, záporná znamená, že mu naopak brání. Práh je laťka, kterou musí vážený součet přeskočit. Ve hře posouváte oba tyhle prvky posuvníky a hned vidíte, jak se mění výsledek pro všechny čtyři kombinace dvou vstupů, i to, jak se posouvá rozhodovací hranice v grafu.

Proč AND, OR a NAND jdou snadno, a co se mění se záporem

U AND stačí kladné váhy a práh nastavený tak, aby ho porazil až součet obou vah dohromady, ne žádná z nich zvlášť. U OR je logika opačná: práh je nižší, takže ho porazí i jediná aktivní váha. Obě funkce mají jedno společné, množina bodů, které mají dát výstup 1, jde oddělit od zbytku jednou přímkou. Přesně to je podmínka, kterou musí splnit každá funkce, kterou jeden neuron vůbec dokáže spočítat.

Se zápornými váhami se otevírá další skupina funkcí. NAND, NOR nebo negace jednoho vstupu fungují na principu, že aktivní vstup součet naopak snižuje. Nejde o žádný speciální trik, jen o to, že váha může být i menší než nula, a neuron se tím chová jako logický obrat toho, co dělal s kladnou váhou. Zajímavější jsou asymetrické případy jako logická implikace „pokud vstup 1, pak vstup 2“, kde je výstup nepravdivý jen v jediné ze čtyř kombinací. I ta se dá jedním neuronem spočítat, jen vyžaduje o něco přesnější kombinaci kladné a záporné váhy, a je to poslední zastávka před tím, než hra narazí na skutečný matematický strop.

Kde je limit, a proč na něm záleží

XOR má vrátit 1 přesně tehdy, když se vstupy liší. V grafu leží cílové body (0,0) a (1,1) na jedné úhlopříčce čtverce vstupů, (0,1) a (1,0) na druhé. Jeden neuron umí rozdělit rovinu jedinou přímkou, a žádná přímka nedokáže oddělit jednu úhlopříčku čtverce od druhé, ať ji nakloníte nebo posunete jakkoli. Matematici tomu říkají, že XOR není lineárně separabilní, a je to jediný typ omezení, který jeden neuron má: nejde o nedostatek dat ani o špatně zvolený práh, je to geometrická vlastnost úlohy samotné.

Tenhle limit popsali formálně Marvin Minsky a Seymour Papert v knize Perceptrons z roku 1969, a jejich práce na dlouho zpomalila zájem o neuronové sítě, právě proto, že limit vypadal jako zásadní strop celého přístupu. Řešení bylo přitom jednoduché, i když ne pro jeden neuron: druhá (skrytá) vrstva, která kombinuje výstupy víc neuronů, dokáže poskládat zakřivenou nebo rozlomenou hranici, kterou jedna přímka nikdy nenakreslí. Přesně tímhle způsobem se z jednotlivých neuronů, které samy o sobě umí jen přímku, staví sítě schopné mnohem složitějších rozhodnutí.

Co z toho plyne, když nakupujete nebo řídíte AI projekt

Praktický důsledek pro firmu, která AI nakupuje nebo si ji nechává postavit, není v tom, že by musela počítat vážené součty. Je v tom, že rozumí, na čem model stojí, když se objeví tvrzení jako „model to prostě neumí rozlišit“. Často to neznamená chybu v datech ani špatně zvolený algoritmus, ale to, že úloha vyžaduje víc vrstev, protože jeden lineární krok geometricky nestačí. Stejně tak rozumí tomu, proč „natrénovaný model“ neznamená nic tajemného: znamená to, že se algoritmicky upravily váhy a prahy podle dat, ne podle ruční úpravy člověka.

Velké jazykové modely jsou z výpočetního hlediska poskládané z miliard takových neuronů do desítek vrstev, s nelineárními aktivačními funkcemi místo ostrého prahu. Základní stavební kámen ale zůstává stejný jako v téhle hře: vážený součet vstupů porovnaný s hranicí. Kdo tuhle jednotku pochopí, má v ruce intuici, která se přenáší i na mnohem větší systémy, aniž by potřeboval jediný vzorec navíc.

Časté dotazy

Co je to perceptron?
Perceptron je nejjednodušší možný umělý neuron: vezme několik vstupů, každý vynásobí jeho váhou, výsledky sečte a porovná se stanoveným prahem. Když součet práh přesáhne nebo se mu rovná, neuron „vystřelí“ (výstup 1), jinak zůstane tichý (výstup 0). Žádná jiná logika v něm není, celé rozhodování stojí na jednom porovnání čísla s číslem. Popsal ho v roce 1957 Frank Rosenblatt a dodnes je to stavební kámen, ze kterého se skládají mnohem větší sítě.
Proč neuron s přímkou jako hranicí nedokáže spočítat XOR?
XOR má vrátit 1 přesně tehdy, když se dva vstupy liší. V grafu se vstupy na osách 0 a 1 leží cílové body (0,0) a (1,1) na jedné úhlopříčce čtverce, (0,1) a (1,0) na druhé. Jeden neuron umí rozdělit rovinu jen jednou přímkou, a žádná přímka nedokáže oddělit jednu úhlopříčku od druhé. Matematici tomu říkají, že XOR není lineárně separabilní. Marvin Minsky a Seymour Papert tenhle limit formálně popsali v knize Perceptrons z roku 1969, a řešením není lepší nastavení jednoho neuronu, ale druhá vrstva, která kombinuje výstupy víc neuronů.
Jak souvisí jeden neuron s velkými jazykovými modely jako GPT nebo Claude?
Stejným způsobem, jakým souvisí jedna cihla s mrakodrapem. Velký jazykový model je z pohledu výpočtu obrovská soustava neuronů podobného typu, poskládaná do desítek vrstev, s miliardami nastavitelných vah. Základní mechanika, vážený součet vstupů porovnaný s prahem (respektive s nelineární aktivační funkcí, která práh zobecňuje), zůstává stejná, mění se jen počet vrstev a neuronů a to, jak jsou propojené. Kdo pochopí, co dělá jeden neuron, rozumí atomu, ze kterého je poskládaný celý model.
Co přesně znamená, že se model „natrénoval“?
Znamená to, že se změnily hodnoty vah a prahů (respektive biasů), a to podle dat, ne podle ruční úpravy člověka. Trénovací algoritmus opakovaně zkouší, jestli aktuální nastavení dává na trénovacích příkladech správné výstupy, a když ne, mírně váhy posune ve směru, který chybu zmenší. V týhle hře nastavujete váhy ručně, u skutečného trénování to samé (jen mnohem rychleji a na mnohem víc parametrech najednou) dělá algoritmus zvaný gradientní sestup.
Musím umět matematiku, abych rozuměl, jak AI rozhoduje?
Ne do detailu, ale intuice o váženém součtu a prahu se vyplatí i bez vzorců. Pomáhá pochopit, proč model umí rozlišit jasné případy a tápe u hraničních, proč „přidání víc dat“ nebo „přidání víc vrstev“ řeší jiné problémy, a proč tvrzení typu „AI prostě rozhodne“ skrývá docela konkrétní a ověřitelný výpočet. Přesně tuhle intuici hra staví, bez jediného vzorce navíc, než je nutné.

Zdroje