Lekce 21 - Neuronové sítě – Model a trénink
V minulé lekci, Neuronové sítě – Dense vrstva a optimalizátory, jsme probrali dense vrstvu a optimizéry, témata potřebná pro vytvoření naší první neuronové sítě.
V této lekci tutoriálu Neuronové sítě - Pokročilé si
nadefinujeme třídu Model
. Třída bude reprezentovat samotný
model a bude obsahovat vrstvy v atributu layers
.
Kromě toho bude mít i standardní metody, které jsme už viděli dříve v
logistické regresi. Zaměříme se také více na kódování a zkoumání
výstupů.
Model
Predikce se provádí vrstvu po vrstvě. Její kód může vypadat takto:
inputs = mnist_dataset for layer in self.layers: inputs = layer(inputs)
Pro backpropagation bude algoritmus obdobný. Výstupy
vrstev, které jsou zároveň vstupem do další vrstvy, si zapamatujeme v
proměnné outputs
. Využijeme je pak ve fázi backpropagation.
Nejprve spočítáme gradient loss funkce a předáme jej metodě
gradient()
poslední vrstvy. Gradient se bude šířit vrstvami z
poslední do první, dokud nebudeme mít gradienty vah. Protože náš kód
gradienty vah akumuluje (volání np.add
ve všech třídách v
minulé lekci), nejprve je musíme vynulovat. Kód vypadá takto:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tomto tutoriálu Pythonu pro pokročilé si získané informace zapracujeme do třídy Model a podíváme se na možné výstupy.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.