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
Minul 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émiové sekcie.
Kúpiť tento kurz
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íš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- 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.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.