Architektura neuronové sítě použitá v příkladu je dopředná neuronová síť se třemi vrstvami: vstupní vrstva, skrytá vrstva a výstupní vrstva. Vstupní vrstva se skládá ze 784 jednotek, což odpovídá počtu pixelů ve vstupním obrázku. Každá jednotka ve vstupní vrstvě představuje hodnotu intenzity pixelu v obrázku.
Skrytá vrstva se skládá ze 128 jednotek, které jsou plně propojeny se vstupní vrstvou. Každá jednotka ve skryté vrstvě vypočítá vážený součet vstupů ze vstupní vrstvy a použije aktivační funkci k vytvoření výstupu. V tomto příkladu je aktivační funkcí použitou ve skryté vrstvě funkce rektifikovaných lineárních jednotek (ReLU). Funkce ReLU je definována jako f(x) = max(0, x), kde x je vážený součet vstupů do jednotky. Funkce ReLU zavádí do sítě nelinearitu a umožňuje jí učit se složité vzorce a vztahy v datech.
Výstupní vrstva se skládá z 10 jednotek, z nichž každá představuje jednu z možných tříd v klasifikačním problému. Jednotky ve výstupní vrstvě jsou také plně propojeny s jednotkami ve skryté vrstvě. Podobně jako u skryté vrstvy, každá jednotka ve výstupní vrstvě vypočítává vážený součet vstupů ze skryté vrstvy a aplikuje aktivační funkci. V tomto příkladu je aktivační funkcí použitou ve výstupní vrstvě funkce softmax. Funkce softmax převádí vážený součet vstupů na rozdělení pravděpodobnosti po třídách, kde součet pravděpodobností je roven 1. Jednotka s nejvyšší pravděpodobností představuje predikovanou třídu vstupního obrazu.
Abychom to shrnuli, architektura neuronové sítě použitá v příkladu se skládá ze vstupní vrstvy se 784 jednotkami, skryté vrstvy se 128 jednotkami pomocí aktivační funkce ReLU a výstupní vrstvy s 10 jednotkami pomocí aktivační funkce softmax.
Další nedávné otázky a odpovědi týkající se Budování neuronové sítě k provedení klasifikace:
- Je nutné používat funkci asynchronního učení pro modely strojového učení běžící v TensorFlow.js?
- Jak je model kompilován a trénován v TensorFlow.js a jaká je role funkce kategorické ztráty křížové entropie?
- Jaký význam má rychlost učení a počet epoch v procesu strojového učení?
- Jak jsou v TensorFlow.js rozdělena tréninková data na tréninkové a testovací sady?
- Jaký je účel TensorFlow.js při budování neuronové sítě pro klasifikační úkoly?