Úvod do AI pre každého

Neurónové siete a deep learning

Začiatočník20 min čítania31 častíZadarmo

Odborné overenie: čaká na potvrdenie Miroslava Schmiedta. Stav k 4. októbru 2026.

Lekcia06
Základný princípVstup → model → výstup
01Dáta alebo otázka
02Naučené vzory
03Odhad
04Kontrola človekom

AI nepozná svet ľudským spôsobom - počíta pravdepodobný výsledok.

Neurónová sieť je výpočtový model, nie zmenšený ľudský mozog. Jej parametre sa upravujú pri tréningu; viac vrstiev samo osebe nezaručuje správny výsledok.

Po prečítaní budete vedieť

  • vysvetliť hlavný princíp na vlastnom príklade
  • rozlíšiť údaj, odhad a vykonanú akciu
  • určiť, čo treba pred použitím výsledku skontrolovať

Z fotografie rukou napísanej číslice sa dá vytvoriť dlhý zoznam čísel opisujúcich svetlé a tmavé miesta. Neurónová sieť s nimi vykoná sériu výpočtov a odhadne, ktorá číslica je na obrázku. Nemusíme si pri tom predstavovať malý mozog v počítači. Presnejšia predstava je nastaviteľný výpočtový model.

Po tejto kapitole budete vedieť vysvetliť jednotku siete, váhu, vrstvu a tréning. Spoznáte rozdiely medzi niekoľkými architektúrami a pochopíte, prečo počet parametrov alebo vrstiev sám osebe nevyjadruje kvalitu výsledku.

Biologická inšpirácia má hranice

Názov neurónová sieť vznikol z inšpirácie nervovou sústavou. Umelá jednotka však nie je biologický neurón. Je to výpočtová operácia, ktorá spracuje vstupné hodnoty a vytvorí výstup.

Pri učení siete nemusíme dokazovať podobnosť s celým ľudským mozgom. Potrebujeme vedieť, ako transformuje údaje a ako sa upravujú jej parametre. Príliš doslovná analógia by mohla vytvoriť mylnú predstavu, že sieť cíti, chce alebo chápe rovnakým spôsobom ako človek.

V modelovej úlohe triedenia snímok môže jednotka reagovať na určitý vzorec hodnôt. Taká reakcia nie je vedomým pozorovaním predmetu. Je súčasťou výpočtu, ktorého užitočnosť sa overuje na výsledkoch.

Jednotka kombinuje vstupy podľa váh

Základná jednotka prijme čísla, násobí ich príslušnými váhami, sčíta príspevky a pripočíta posun. Následne môže použiť aktivačnú funkciu. Váhy a posuny sú parametre, ktoré sa dajú učiť. Google: Nodes and hidden layers.

Predstavte si jednoduchý modelový výpočet s dvoma vstupmi. Prvý má hodnotu dva a váhu tri. Druhý má hodnotu jeden a váhu mínus dva. Ich príspevky sú šesť a mínus dva. Ak je posun jedna, výsledný súčet je päť. Ide o ukážku mechanizmu, nie funkčný model rozpoznávania fotografie.

Váha teda vyjadruje, ako sa daný vstup podieľa na výpočte jednotky. Kladná váha príspevok zvyšuje, záporná môže pôsobiť opačne. V zložitej sieti však jednu váhu nemôžeme jednoducho označiť ako mieru významu celého ľudského pojmu.

Vstupy ďalšej jednotky môžu byť výstupy predchádzajúcich jednotiek. Sieť tak opakovane vytvára nové reprezentácie vstupu. Každá z nich je súbor čísel, s ktorým sa dá ďalej pracovať.

Prečo potrebujeme nelinearitu

Ak by všetky vrstvy vykonávali iba lineárne transformácie, ich zloženie by zostalo lineárnou transformáciou. Samotné pridávanie takých vrstiev preto neprináša schopnosť vyjadriť ľubovoľne zložité nelineárne vzťahy.

Aktivačné funkcie menia túto situáciu. Napríklad ReLU v základnej podobe prepustí kladnú hodnotu a zápornú nahradí nulou. Takýto jednoduchý krok umožňuje skladať výpočty, ktorých správanie závisí od vstupu zložitejšie. Google: Activation functions.

Na pochopenie netreba memorovať názvy všetkých funkcií. Potrebujeme vidieť, že sieť nie je len opakované sčítanie s rovnakým výsledným tvarom. Usporiadanie transformácií a nelinearít umožňuje vytvárať bohatšie reprezentácie.

Konkrétna aktivácia sa vyberá podľa architektúry a úlohy. Niektoré sa používajú vo vnútorných častiach, iné pri výstupe. Výstup určený na klasifikáciu má iný význam než vnútorná aktivácia.

Vrstvy tvoria postupné reprezentácie

Vstupná vrstva prijíma údaje. Skryté vrstvy ich transformujú. Výstupná časť poskytuje hodnoty potrebné na úlohu. Označenie skrytá znamená vnútornú vrstvu medzi vstupom a výstupom, nie tajomstvo, ktoré nemožno skúmať.

Pri obraze sa často používa vysvetlenie, že skoršie časti môžu zachytávať jednoduchšie vzory a ďalšie ich kombinácie. Táto predstava pomáha, ale nie je presným univerzálnym opisom každej siete. Nemôžeme predpokladať, že každý jednotlivý neurón má zrozumiteľný názov ako oko alebo koleso.

Predstavte si model, ktorý odhaduje číslicu. Vnútorná reprezentácia môže reagovať na orientáciu úsekov, ich polohu a kombináciu. Nový rukopis sa líši od tréningových snímok, ale zachováva určité vzťahy. Úlohou učenia je vytvoriť reprezentáciu, ktorá pomôže aj v takom prípade.

Ak však sieť používa nepodstatný znak, môže zlyhať. Číslice v jednej kategórii môžu mať napríklad odlišné pozadie. Model potom nemusí využívať tvar číslice tak, ako si predstavuje tvorca.

Deep learning označuje hlboké učenie

Deep learning využíva neurónové siete s viacerými vrstvami reprezentácií. Neexistuje jedno univerzálne číslo, po ktorom sa každá sieť stane hlbokou. Podstatné je viacstupňové učenie reprezentácií a súvisiace metódy.

Hĺbka a šírka sú odlišné vlastnosti. Hĺbka súvisí s postupnosťou vrstiev, šírka s ich rozsahom. Počet parametrov závisí od oboch aj od spôsobu prepojenia. Dve siete s podobným počtom parametrov preto nemusia vykonávať rovnaké výpočty.

Väčší model môže mať vyššiu kapacitu, ale aj vyššie nároky. Pri malej a dobre vymedzenej úlohe môže stačiť jednoduchší postup. Výber má vychádzať z overeného výsledku, dát a nákladov.

Tréning: výstup, chyba a úprava parametrov

Sieť pri tréningu spracuje vstup a vytvorí výstup. Stratová funkcia vyjadrí rozdiel oproti cieľu. Spätné šírenie, backpropagation, vypočíta, ako jednotlivé parametre ovplyvňujú stratu. Optimalizačný postup potom parametre upraví. Google: Training using backpropagation.

Tieto úlohy treba odlíšiť. Backpropagation je spôsob výpočtu gradientov. Nie je totožný s každým pravidlom, podľa ktorého sa váhy zmenia. Gradient opisuje citlivosť straty na malú zmenu parametrov; optimalizátor ho využije pri aktualizácii.

V modelovej úlohe obrázok predstavuje číslicu tri a sieť dá vysoké skóre osmičke. Výpočet chyby poskytne signál pre úpravu. Ďalšia zmena nemusí viditeľne „opraviť neurón na trojku“. Učenie pôsobí na súbor vzťahov medzi parametrami.

Veľkosť kroku ovplyvňuje priebeh učenia. Príliš veľké kroky môžu viesť k nestabilite, malé môžu spomaliť postup. Ani pri vhodnom nastavení nemáme automatickú záruku dokonalej reprezentácie alebo bezchybného výsledku.

Prečo tréning potrebuje výpočtový výkon

Veľké siete vykonávajú množstvo operácií s číselnými poľami. Grafické procesory a ďalšie akcelerátory umožňujú veľa operácií spracovať súbežne. Významná práca AlexNet využívala grafické procesory na tréning veľkej konvolučnej siete. Krizhevsky, Sutskever a Hinton, 2012.

Rýchlejší hardvér však nezodpovedá otázku, či sú dáta vhodné. Umožní spracovať viac výpočtov, ale môže rýchlejšie naučiť aj chybnú súvislosť. Výpočtový výkon, kvalita údajov a návrh experimentu majú rôzne úlohy.

Tréning veľkého modelu a jeho používanie majú rozdielne požiadavky. Používateľ môže pracovať s hotovým modelom bez toho, aby mal infraštruktúru na jeho vytvorenie. Na druhej strane rozsiahle používanie tiež spotrebúva výpočtové zdroje.

Konvolučné siete využívajú priestorové vzťahy

Konvolučné neurónové siete sú navrhnuté na spracovanie lokálnych vzorov. Rovnaký naučený filter sa používa na viacerých miestach vstupu. Pri obraze to umožňuje hľadať určitý vzor aj na rôznych pozíciách.

Na modelovej snímke môže hrana alebo škvrna ležať v rôznych častiach. Zdieľanie parametrov pomáha využiť opakujúcu sa priestorovú štruktúru. Taká architektúra sa líši od siete, ktorá má pre každú vstupnú pozíciu úplne samostatné spojenia.

Konvolučná sieť nie je jedinou možnosťou pre obraz. Výskum vision transformeru ukázal aj spracovanie obrazu cez menšie časti, ktoré tvoria sekvenciu vstupov transformeru. Dosovitskiy a kolektív, 2020.

Výber architektúry preto závisí od úlohy, množstva dát a spôsobu tréningu. Formulácia „obraz vždy spracúva konvolučná sieť“ by bola nepresná.

Rekurentné siete pracujú so sekvenciou

Rekurentné siete prenášajú určitý vnútorný stav medzi krokmi sekvencie. To umožňuje zohľadniť predchádzajúce časti pri spracovaní ďalšieho vstupu. Sekvenciou môže byť text, zvuk alebo séria meraní.

V modelovej časovej úlohe má význam poradie hodnôt. Teplota po zahriatí stroja nie je rovnaká situácia ako rovnaká teplota pred jeho spustením. Model potrebujúci kontext musí určitým spôsobom zachytiť predchádzajúci priebeh.

Rekurentné architektúry mali významnú úlohu v spracovaní sekvencií. Súčasné systémy však používajú aj transformery a ďalšie postupy. Nástup jednej architektúry neznamená, že všetky ostatné stratili praktickú hodnotu.

Transformer počíta vzťahy medzi časťami

Transformer využíva mechanizmy pozornosti pri kombinovaní reprezentácií vstupu. V texte umožňujú zohľadňovať vzťahy medzi tokenmi. Pôvodná práca ukázala túto architektúru pri úlohách prekladu. Vaswani a kolektív, 2017.

Vo vete „Jana položila knihu na stôl, pretože bol prázdny“ potrebujeme pracovať so vzťahom zámena k predchádzajúcim častiam. Taká veta ilustruje význam kontextu. Nejde o dôkaz, že každá hlava pozornosti sa dá pomenovať jedným gramatickým pravidlom.

Transformer tiež potrebuje informáciu o poradí alebo pozícii. Samotný zoznam slov bez poradia nestačí na všetky jazykové úlohy. „Pes naháňa mačku“ a „Mačka naháňa psa“ obsahujú podobné slová, ale opisujú inú situáciu.

Myšlienková mapaAko do seba zapadajú časti kapitoly
Jadro témyVstup → model → výstup
01VýchodiskoBiologická inšpirácia má hranice
02SúvislosťGradient ako informácia pre malú zmenu
03DôsledokZhrnutie kapitoly

Čítajte mapu od východiska cez súvislosť až po dôsledok. Spoločným jadrom je „Vstup → model → výstup“.

Reziduálne spojenia pomáhajú tréningu

Vo veľmi hlbokých sieťach môže byť náročné prenášať signál a efektívne upravovať parametre. Reziduálne architektúry používajú spojenia, ktoré umožňujú informácii obísť niektoré transformácie a kombinovať sa s ich výstupom.

Práca o ResNet z roku 2015 skúmala učenie reziduálnych funkcií a hlboké rozpoznávanie obrazu. Nasledujúci výskum podrobnejšie analyzoval význam identity v týchto spojeniach. He a kolektív, 2015; He a kolektív, 2016.

Začiatočník nemusí vedieť implementovať spojenie. Mal by však chápať, že architektúra rieši aj priechod informácie a učenie, nie iba počet vrstiev. Dobre navrhnuté prepojenia môžu byť významnejšie než jednoduché zväčšovanie modelu.

Čo znamená preniesť naučenú reprezentáciu

Predtrénovaný model už získal reprezentácie z iných dát. Pri novej úlohe ich môžeme využiť a prípadne model dolaďovať. Takýto prenos môže znížiť potrebu začínať od nuly.

V modelovej dielni môžeme využiť obrazový model pri triedení snímok dielov. Musíme však overiť, či zachytáva relevantné rozdiely. Reprezentácia naučená na všeobecných obrázkoch nemusí dostatočne rozlišovať jemnú technickú chybu.

Prenos nie je univerzálna záruka. Zdrojové a cieľové dáta sa môžu líšiť. Ak nový problém vyžaduje informáciu, ktorú predchádzajúci tréning nepodporoval, treba ďalšie úpravy alebo inú metódu.

Rozpoznávanie číslice od vstupu po výsledok

Vráťme sa k rukou napísanej číslici. Pred spracovaním treba určiť, aký obraz model očakáva. Rozlíšenie, farebné kanály, poloha číslice a spôsob uloženia hodnôt patria do prípravy vstupu. Fotografia celej stránky nie je automaticky rovnakým vstupom ako pripravený výrez jedného znaku.

Modelový postup najprv vyberie výrez, upraví jeho rozmery a prevedie svetlosť bodov na čísla. Sieť potom vytvorí vnútorné reprezentácie. Výstupná časť priradí skóre desiatim možným čísliciam. Následné pravidlo vyberie kategóriu alebo označí výsledok na kontrolu.

Každý krok môže priniesť chybu. Výrez môže zahŕňať dve číslice. Úprava rozmerov môže zmeniť ich proporcie. Sieť môže dostať rukopis, ktorý sa výrazne líši od tréningových príkladov. Posledné pravidlo môže vybrať výsledok aj tam, kde je rozdiel medzi skóre veľmi malý.

Preto hodnotíme celý postup aj jeho časti. Ak číslica zmizla pri nesprávnom orezaní, ďalší tréning siete nemusí vyriešiť príčinu. Pri konkrétnom omyle najprv skontrolujeme obraz, ktorý sieť skutočne dostala, a až potom jej výstup.

Taký rozbor učí dôležité rozlíšenie: neurónová sieť je súčasť riešenia. Okolité kroky rozhodujú, čo sa k nej dostane a ako sa jej výsledok použije. Z fotografie na obrazovke nevidíme všetky tieto transformácie.

Parametre a nastavenia tréningu

Váhy a posuny sú hodnoty upravované učením. Počet vrstiev, zvolená veľkosť dávky alebo rýchlosť učenia sú príklady nastavení, ktoré určujú priebeh výpočtu. Často sa označujú ako hyperparametre. Nie sú totožné s váhami, aj keď ich tiež môžeme vyberať pomocou experimentov.

Predstavme si dve rovnako usporiadané siete. Jedna má pri tréningu väčší krok aktualizácie, druhá menší. Ich počet parametrov sa tým nemení. Mení sa spôsob, ktorým hľadajú užitočné hodnoty týchto parametrov.

Ak porovnávame experimenty, nestačí zapísať názov architektúry. Potrebujeme aj relevantné nastavenia, dáta a pravidlo výberu výsledného modelu. Inak nevieme, či rozdiel vznikol novou architektúrou, dlhším tréningom alebo inou prípravou vstupu.

Skúšanie mnohých nastavení má tiež hranice. Ak neustále vyberáme podľa toho istého testovacieho súboru, výsledok sa môže nepriamo prispôsobovať testu. Na výber nastavení slúžia validačné údaje; záverečné overenie má zostať oddelené.

Pre začiatočníka je užitočná jednoduchá otázka: čo sa mení automaticky počas tréningu a čo sme nastavili pred experimentom? Rozdiel vysvetlí veľkú časť terminológie bez potreby poznať konkrétny tréningový program.

Dávka, krok a epocha

Pri tréningu nemusíme spracovať celý súbor pred každou aktualizáciou. Príklady sa často delia do menších dávok. Sieť spracuje dávku, vyhodnotí stratu a optimalizátor upraví parametre. Potom nasleduje ďalšia dávka.

Použime modelový súbor tisíc príkladov a dávky po päťdesiat. Jeden úplný priechod obsahuje dvadsať dávok. Ak po každej dávke vykonáme jednu aktualizáciu, získame dvadsať tréningových krokov. Taký úplný priechod sa nazýva epocha.

Pri ďalšej epoche sa tie isté pôvodné príklady môžu spracovať v inom poradí alebo s dovolenými úpravami. Počet epoch preto nevyjadruje počet rôznych pôvodných obrázkov. Desať priechodov cez malý súbor nevytvorí desaťkrát viac nezávislých pozorovaní.

Veľkosť dávky ovplyvňuje pamäťové nároky aj charakter aktualizácií. Neexistuje jedna vhodná hodnota pre všetky siete a úlohy. Aj porovnanie rýchlosti potrebuje jasný základ: počet krokov, množstvo spracovaných príkladov alebo čas na konkrétnom zariadení.

Ak niekto uvedie iba počet tréningových krokov, nepoznáme z neho celý rozsah práce. Krok s malou dávkou a krok s veľkou dávkou spracujú odlišné množstvo údajov. Pri vysvetľovaní výsledkov preto uvádzame veličiny s ich významom.

Gradient ako informácia pre malú zmenu

Predstavme si, že nastavujeme jednu váhu. Pri aktuálnej hodnote má model určitú stratu. Ak ju mierne zvýšime, strata môže lokálne rásť alebo klesať. Gradient poskytuje informáciu o tomto smere a citlivosti. Pri mnohých parametroch sa počíta súbor takýchto informácií.

Neznamená to, že model vyskúša všetky možné váhy a vyberie najlepšiu. Optimalizácia postupuje cez aktualizácie. Aktuálne informácie pomáhajú rozhodnúť o ďalšom kroku, ale nie sú mapou všetkých možných výsledkov.

Aj jednoduchá predstava zostupu má obmedzenia. Povrch straty môže byť zložitý a smer sa mení s polohou. Príliš veľký krok môže prekročiť užitočnú oblasť. Pri rôznych dávkach sa môže meniť aj odhad gradientu.

Podrobný základ vysvetľuje Google: Gradient descent. Pre túto kapitolu stačí vedieť, že ide o výpočtovú informáciu spojenú so stratovou funkciou, nie o vedomé hodnotenie vlastnej chyby.

Ak cieľová funkcia zachytáva iba časť toho, čo požadujeme, jej pokles ešte nepotvrdzuje celkovú kvalitu. Sieť môže zlepšiť tréningové skóre a súčasne zhoršiť správanie na nových situáciách. Preto sledujeme aj nezávislé výsledky.

Čo ukáže krivka učenia

Počas tréningu môžeme zaznamenávať stratu alebo výkon na tréningových a validačných údajoch. Graf ich priebehu pomáha zistiť, kedy sa zlepšovanie zastavilo a či sa výsledky začínajú rozchádzať.

V modelovom experimente tréningová strata ďalej klesá, ale validačná po určitom čase rastie. To je dôvod preveriť preučenie. Nemožno ho však vyhlásiť iba z jedného náhodného výkyvu. Potrebujeme zohľadniť veľkosť súboru, variabilitu a spôsob merania.

Ak je výkon slabý na oboch súboroch, možných príčin je viac. Model nemusí mať vhodnú kapacitu, tréning nemusí postupovať správne alebo vstup neobsahuje potrebnú informáciu. Zväčšiť sieť je iba jedna z možností.

Ak validačný súbor pochádza z veľmi podobných dát ako tréning, priaznivá krivka neoveruje všetky podmienky použitia. Rozpoznávanie číslic z pripravených výrezov ešte nepotvrdzuje spoľahlivosť na rozmazaných fotografiách zo smartfónu.

Krivku preto čítame spolu s opisom experimentu. Os bez jednotiek a výsledok bez informácie o dátach majú obmedzenú výpovednú hodnotu. Dobrá vizualizácia ukazuje, čo sa meralo, na ktorých príkladoch a v akej fáze učenia.

Normalizácia vstupov a rozdiel medzi jednotkami

Vstupná hodnota môže opisovať vzdialenosť, cenu, jas alebo trvanie. Ich rozsahy sa môžu výrazne líšiť. Príprava údajov často zahŕňa prevod na vhodnú mierku. Nejde o zmenu skutočného významu merania, ale o jeho číselnú reprezentáciu pre výpočet.

Modelový snímač zaznamenáva teplotu a počet otáčok. Jedna veličina môže mať desiatky jednotiek, druhá tisíce. Bez poznania použitého prevodu by sme nemohli správne pripraviť nový vstup ani interpretovať jeho hodnoty.

Parametre prevodu sa majú určovať vhodne vzhľadom na rozdelenie dát. Ak používame štatistiky tréningového súboru, tie isté pravidlá potrebujeme aj pri nových vstupoch. Samostatné prispôsobenie každého nového merania iným spôsobom môže zmeniť význam.

Pri obraze môže byť dôležité poradie farebných kanálov. Pri zvuku zase príprava vzoriek. Model spracúva čísla, ktoré mu dodáme; nemá automatický prístup k našej pôvodnej predstave o farbe alebo jednotkách.

Preto k modelu patrí aj opis prípravy údajov. Súbor váh bez správneho vstupného postupu nemusí poskytovať očakávané výsledky. Túto súvislosť treba preveriť najmä pri presune medzi rôznymi programami a zariadeniami.

Reprezentácia nie je slovník názvov neurónov

Vnútornú reprezentáciu si môžeme predstaviť ako súbor čísel vytvorený zo vstupu. Pri užitočnom tréningu v ňom môžu byť zachytené vlastnosti potrebné pre úlohu. Ich význam však nemusí byť uložený v jednom oddelenom mieste.

Modelová reprezentácia fotografie môže súčasne zahŕňať informáciu o tvare, polohe a textúre. Jednotlivé rozmery sa môžu podieľať na viacerých rozdieloch. Preto neplatí, že jeden rozmer vždy znamená farbu a druhý predmet.

Podobnosť reprezentácií tiež závisí od spôsobu učenia a porovnania. Dva obrázky môžu vyzerať podobne človeku, ale model ich odlíši podľa pozadia. Iné môže spojiť pre spoločnú štruktúru, hoci predstavujú odlišné objekty.

Pri práci s takou reprezentáciou je dobré ukázať konkrétne susedné príklady. Ak vyhľadávanie k fotografii výrobku vracia obrázky rovnakého stola, treba preskúmať, akú podobnosť výpočet uprednostňuje. Samotná existencia číselného vektora nič negarantuje.

Učenie reprezentácií je významné práve preto, že potrebné vlastnosti nemusíme všetky ručne navrhnúť. Táto výhoda však prináša požiadavku overovať, čo sa model skutočne naučil používať. Zrozumiteľná metafora vrstiev nesmie nahradiť experiment.

Zdieľanie filtra neznamená odolnosť voči všetkému

Konvolučný filter môže reagovať na podobný lokálny vzor na viacerých miestach. Z toho však nemožno odvodiť, že celá sieť bude rovnako reagovať na ľubovoľné presunutie, otočenie alebo zmenu veľkosti obrázka.

Predstavme si číslicu pri okraji výrezu. Časť tvaru sa môže odrezať. Posun tu nemení iba polohu, ale aj dostupnú informáciu. Pri veľkom otočení môže číslica dokonca pripomínať inú kategóriu.

Aj ďalšie časti siete môžu využívať priestorové usporiadanie. Výsledok teda závisí od celej architektúry, spracovania hraníc, zmeny rozlíšenia a tréningových príkladov. Zdieľaný filter je konkrétna vlastnosť výpočtu, nie univerzálny sľub robustnosti.

Overenie má zodpovedať použitiu. Ak používateľ fotografuje predmet pod rôznymi uhlami, testujeme relevantné uhly. Ak pracujeme s pevnou kamerou nad dopravníkom, potrebné rozdiely môžu byť iné.

Takýto postup je presnejší než všeobecné tvrdenie, že sieť „rozpozná predmet kdekoľvek“. Máme pomenovať, ktoré zmeny boli overené a aké podmienky zostávajú mimo testu. To pomáha používateľovi posúdiť vhodnosť systému.

Praktický náčrtOd pochopenia k bezpečnému použitiu
RozpoznajteDáta alebo otázka
PrepojteNaučené vzory
OverteKontrola človekom

AI nepozná svet ľudským spôsobom - počíta pravdepodobný výsledok. Náčrt použite ako krátku kontrolu pred praktickým rozhodnutím.

Prenos môže meniť iba časť modelu

Pri použití predtrénovanej siete môžeme ponechať jej základné parametre a naučiť novú výstupnú časť. Môžeme tiež upraviť časť siete alebo dolaďovať väčší rozsah. Tieto možnosti sa líšia nárokmi aj tým, koľko pôvodnej reprezentácie menia.

V modelovom archíve fotografií najprv preveríme použitie hotových reprezentácií. Ak neposkytujú vhodné rozlíšenie, skúsime riadne vyhodnotené dolaďovanie. Porovnávame ho s predchádzajúcim postupom na rovnakom oddelenom súbore.

Zmena viacerých parametrov môže pomôcť novej úlohe, ale pri malých dátach môže podporiť prispôsobenie náhodným zvláštnostiam. Preto sa rozhodujeme podľa výsledkov, nie podľa predstavy, že väčší zásah musí byť lepší.

Tiež potrebujeme preveriť podmienky použitia zdrojového modelu a dostupnosť jeho dokumentácie. Technická možnosť stiahnuť váhy ešte sama neodpovedá na všetky praktické otázky projektu. Pri vzdelávacom experimente si tieto údaje zaznamenáme spolu s verziou.

Úspešný prenos znamená zlepšenie na konkrétnej novej úlohe pri prijateľných podmienkach. Nie je to dôkaz, že model preniesol všeobecné porozumenie všetkých objektov. Také hodnotenie by presahovalo overené výsledky.

Menšia sieť sa môže učiť od väčšej

Pri destilácii znalostí sa menší model učí aj zo signálov poskytovaných väčším modelom. Základný výskumný opis predstavili Hinton, Vinyals a Dean v roku 2015. Označenia učiteľ a žiak sú v tomto prípade názvy úloh dvoch modelov.

V modelovej klasifikácii môže väčší model ukázať, že si zamieňa dva vizuálne blízke typy predmetov. Rozdelenie jeho výstupov nesie viac informácie než iba výsledný názov jednej kategórie. Menší model sa môže učiť využívať túto spätnú väzbu.

Výsledok však nemusí zachovať všetky schopnosti väčšieho modelu. Potrebujeme overiť konkrétnu úlohu, náročné prípady a prevádzkové náklady. Menší počet parametrov nie je sám osebe úplným meraním rýchlosti na každom zariadení.

Aj chyba učiteľa môže ovplyvniť učenie. Destilácia neposkytuje nezávislé overenie pravdivosti. Ak máme dostupné správne označenia alebo iné kontrolné údaje, ich význam tým nezaniká.

Táto metóda ukazuje, že vývoj nesmeruje iba k zväčšovaniu sietí. Môže smerovať aj k prenosu vybraných schopností do úspornejšieho riešenia. Vhodnosť opäť posúdime podľa merateľného výsledku v konkrétnych podmienkach.

Ako overiť prínos jednej zmeny

Tvorca pridá ďalšiu vrstvu a výkon sa zlepší. Môžeme hneď povedať, že príčinou bola táto vrstva? Záleží na tom, či sa zároveň nezmenili dáta, dĺžka tréningu, príprava vstupu alebo pravidlo výberu modelu.

Porovnávací experiment má meniť sledovanú vlastnosť a kontrolovať podstatné ostatné podmienky. Pri výskume sa používa aj odoberanie častí alebo mechanizmov, aby sa posúdil ich prínos. Takéto skúmanie sa často označuje ako ablačná štúdia.

V školskom projekte nemusíme vykonať rozsiahly výskum. Môžeme porovnať základný model s jednou konkrétnou úpravou a presne zaznamenať podmienky. Ak sú výsledky premenlivé, nevyhlásime malé zlepšenie za pevný záver bez ďalšieho podkladu.

Zároveň sledujeme cenu zmeny. Dodatočná vrstva môže zvýšiť spotrebu pamäte a čas spracovania. Zlepšenie malej časti príkladov nemusí v danom použití prevážiť tieto náklady.

Takýto spôsob práce vedie od obdivovania architektúry k posudzovaniu dôkazov. Vieme pomenovať, čo sme zmenili, čo sme namerali a čo zostáva neisté. To je užitočnejšia kompetencia než zapamätanie zoznamu názvov populárnych sietí.

Malý výpočet počtu parametrov

Jednotka s tromi vstupmi má v jednoduchom plne prepojenom usporiadaní tri váhy a jeden posun. To sú štyri učiteľné hodnoty. Ak rovnaký typ vrstvy obsahuje päť samostatných jednotiek, ide o dvadsať parametrov tejto vrstvy.

Ďalšia vrstva dostáva päť výstupov a obsahuje dve jednotky. Každá má päť váh a jeden posun, spolu dvanásť parametrov. Obe uvedené vrstvy teda majú tridsaťdva parametrov. Nepripočítavame samotné vstupné čísla: sú dátami, nie učenými váhami.

Tento príklad platí pre opísané spojenia. Pri zdieľaní parametrov alebo inom usporiadaní by výpočet vyzeral inak. Účelom je pochopiť, prečo záleží na počte vstupov, jednotiek aj spojení.

Počet parametrov ešte nehovorí, či sieť vyrieši úlohu. Potrebujeme vhodné údaje, nelinearity, tréning a overenie. Presný jednoduchý výpočet tak zároveň pomáha odhaliť hranice jedného často používaného čísla.

Keď jednoduchší model zostáva vhodnou voľbou

Predstavme si súbor s niekoľkými jasne definovanými meraniami. Cieľom je odhadnúť spotrebu materiálu podľa rozmerov výrobku. Vstupy sú tabuľkové a vzťah môže byť pomerne jednoduchý. Začať veľkou hlbokou sieťou nie je automaticky najlepší experiment.

Najprv môžeme vytvoriť základné pravidlo alebo jednoduchý štatistický model. Získame porovnanie, podľa ktorého posúdime ďalšie riešenia. Ak zložitejšia sieť nezlepšuje relevantné výsledky, jej vyššie nároky potrebujú iné opodstatnenie.

Jednoduchší model môže byť ľahšie kontrolovateľný. Vieme preskúmať, ako reaguje na zmenu konkrétneho rozmeru. Ani jednoduchý výpočet však nemusí byť správny mimo rozsahu použitých údajov. Zrozumiteľnosť nie je zárukou platnosti.

Naopak, pri fotografii máme veľa vzájomne súvisiacich hodnôt a potrebujeme zachytiť zložitejšie vzory. Naučené reprezentácie tu môžu prinášať výraznú výhodu. Preto sa výber opiera o charakter vstupu a úlohy, nie o univerzálny rebríček metód.

V pedagogickom vysvetlení je dobré ukázať oba prípady. Študent má chápať, prečo určitá metóda pomáha, a vedieť pomenovať situáciu, kde môže stačiť iný postup. Samotné slovo deep learning nie je argumentom pre nasadenie.

Kontrola modelového experimentu s rukopisom

Trieda pripraví projekt rozpoznávania číslic. Každý účastník napíše viacero ukážok a tie sa odfotografujú. Prvým rozhodnutím je rozdelenie dát. Ak sa rukopis toho istého človeka nachádza vo všetkých častiach súboru, test nemusí dostatočne overiť nových pisateľov.

Zamýšľané použitie preto určuje vhodné rozdelenie. Ak chceme pracovať s neznámymi ľuďmi, časť pisateľov môžeme ponechať pre záverečné overenie. Tak posudzujeme generalizáciu na rukopis, ktorý tréning neobsahoval. Výsledok však stále platí pre podmienky tohto experimentu.

Ďalšia otázka je kvalita fotografie. Ak jednu skupinu snímame za výrazne iného svetla, môže sa objaviť nežiaduca súvislosť. Zaznamenáme prípravu a skontrolujeme, či sa nepodstatné rozdiely nezamieňajú s kategóriou číslice.

Pri tréningu zaznamenávame priebeh aj zvolenú verziu. Nevyberáme iba najkrajšiu ukážku úspechu. V hodnotení ukážeme chyby, najčastejšie zámeny a počet prípadov, z ktorého záver vychádza. Jediná správne rozpoznaná fotografia by nemala predstavovať celý výsledok.

Nakoniec skúmame náročnejší vstup: naklonený znak alebo nejasný výrez. Nie je potrebné trvať na tom, aby sieť vždy určila jednu číslicu. Systém môže nejasný prípad odovzdať človeku alebo požiadať o lepšiu snímku.

Taký projekt má hodnotu aj pri skromnom výkone. Učí pripraviť dáta, formulovať podmienky a interpretovať dôkazy. Cieľom vzdelávania nie je predstierať profesionálny rozpoznávač, ale správne rozumieť tomu, čo experiment overil.

Ako rozlíšiť pozorovanie od vysvetlenia

Ak jednotka silno reaguje pri určitých obrázkoch, pozorujeme súvislosť. Ak ju nazveme detektorom konkrétneho predmetu, pridávame interpretáciu. Tá môže byť užitočná, ale potrebuje ďalšie skúmanie. Reakciu môže vyvolávať aj spoločná textúra alebo kontext.

Podobne farebná mapa zvýraznených oblastí nemusí sama dokazovať úplný mechanizmus rozhodovania. Je výstupom konkrétneho analytického postupu. Máme vedieť, čo meria a aké má obmedzenia, skôr než ju predstavíme ako vysvetlenie.

V modelovom rozbore porovnáme viac prípadov a meníme vybranú vlastnosť. Zakrytie pozadia môže pomôcť preveriť hypotézu o jeho vplyve. Aj zásah však mení vstup a môže vytvoriť novú neprirodzenú situáciu.

Opatrná interpretácia preto pomenúva pozorovanie aj mieru istoty. „Po zmene pozadia výkon klesol“ je priamo overiteľný výsledok. „Model pozná predmet rovnako ako človek“ by bol podstatne širší a týmto experimentom nepodložený záver.

Kedy máme dostatok podkladov na záver

Po experimente oddeľte tri informácie: čo model zvládol, za akých podmienok a ktoré situácie sa netestovali. Aj vysoké skóre potrebuje tento kontext. Ak fotografie vznikli pri rovnakom osvetlení, výsledok nepreukazuje rovnaký výkon pri každom svetle.

Záver má zodpovedať rozsahu dôkazov. Môžeme uviesť, že sieť rozlišovala vybrané číslice v pripravenom súbore. Nemáme bez ďalšieho testu tvrdiť, že spoľahlivo číta každý rukopis. Toto pravidlo pomáha zachovať odbornú presnosť a zároveň ponúknuť čitateľovi jasnú informáciu o praktickom význame výsledku.

Úloha: nájdite skratku, ktorú model nemal používať

Sieť rozlišuje dva druhy výrobkov. Všetky fotografie prvého druhu vznikli na bielom stole a druhého na čiernom. Na nových snímkach z iného stola výsledky výrazne klesnú. Aké vysvetlenie treba preveriť?

Model mohol využívať pozadie namiesto podstatných vlastností výrobku. Overte rovnaký výrobok na rôznych pozadiach a rôzne výrobky na rovnakom pozadí. Taký experiment pomáha rozlíšiť očakávaný mechanizmus od pohodlnej skratky.

Dobrý výsledok na pôvodných fotografiách preto nestačí. Neurónová sieť sa učí výpočtové vzťahy, ktoré jej dáta ponúkajú. Je úlohou tvorcu overiť, či sú vhodné pre zamýšľané použitie. Zaznamenajte podmienky.

Pojmy v slovníku

hlboké učenie (deep learning)

Zhrnutie kapitoly

Neurónová sieť je výpočtový model, nie zmenšený ľudský mozog. Jej parametre sa upravujú pri tréningu; viac vrstiev samo osebe nezaručuje správny výsledok.

Praktické odpovede

Často kladené otázky

Čo je hlavná myšlienka kapitoly „Neurónové siete a deep learning“?

Neurónová sieť je výpočtový model, nie zmenšený ľudský mozog. Jej parametre sa upravujú pri tréningu; viac vrstiev samo osebe nezaručuje správny výsledok.

Potrebujem na pochopenie programovanie?

Nie. Kapitola vysvetľuje princípy na modelových situáciách. Sledujte vstup, úlohu, výsledok a spôsob kontroly; matematické detaily nie sú podmienkou.

Ako si overím, že téme rozumiem?

Vyberte si iný príklad než v texte a vlastnými slovami vysvetlite postup. Pomenujte informácie, ktoré systém dostáva, jeho obmedzenia a človeka, ktorý skontroluje výsledok.

Dočítali ste lekciu.

Najlepšie porozumenie vzniká, keď si zhrniete tri hlavné myšlienky vlastnými slovami.