21. diel - Neurónové siete – Model a tréning

V minulej lekcii, Neurónové siete – Dense vrstva a optimalizátory , sme prebrali dennú vrstvu a optimizéry, témy potrebné na vytvorenie našej prvej neurónovej siete.

V tejto lekcii tutoriálu Neurónovej siete - Pokročilé si nadefinujeme triedu Model. Trieda bude reprezentovať samotný model a bude obsahovať vrstvy v atribúte layers. Okrem toho bude mať aj štandardné metódy, ktoré sme už videli predtým v logistickej regresii. Zameriame sa tiež viac na kódovanie a skúmanie výstupov.

Model

Predikcia sa vykonáva vrstvu po vrstve. Jej kód môže vyzerať takto:

inputs = mnist_dataset
for layer in self.layers:
    inputs = layer(inputs)

Pre backpropagation bude algoritmus obdobný. Výstupy vrstiev, ktoré sú zároveň vstupom do ďalšej vrstvy, si zapamätáme v premennej outputs. Využijeme ich potom vo fáze backpropagation. Najprv spočítame gradient loss funkcie a odovzdáme ho metóde gradient() poslednej vrstvy. Gradient sa bude šíriť vrstvami z poslednej do prvej, kým nebudeme mať gradienty váh. Pretože náš kód gradienty váh akumuluje (volanie np.add vo všetkých triedach v minulej lekcii), najprv ich musíme vynulovať. Kód vyzerá takto:


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiovej sekcie.

Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš s Prevádzkovými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Prístup k jednotlivým lekciám podľa spôsobu obstarania.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V tomto tutoriále Pythonu pre pokročilých si získané informácie zapracujeme do triedy Model a pozrieme sa na možné výstupy.
Článok pre vás napísal Patrik Valkovič
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity