Regularyzacja i Optymalizacja

Fundament: Dane MNIST

Aby zademonstrować efekty regularyzacji (czyli ochrony przed "wkuwaniem na pamięć"), korzystamy z klasycznego zbioru obrazków 28x28 pikseli reprezentujących cyfry (MNIST). Przygotowujemy spłaszczone tablice `(784,)` na potrzeby wielowarstwowego perceptronu ucząc maszynę ich rozpoznawania.

1. Batch Normalization
(Stabilizacja na bieżąco)

Nawet z pięknie znormalizowanymi danymi na początku, z każdą warstwą gęstą skale powracają do szaleństwa. Ustawiamy wartswy BatchNormalization pomiędzy rdzeniami. Standaryzuje ono średnią i odchylenie każdej aktywacji ukrytej.

2. L2 Regularization & Dropout
(Celowe zapominanie przeciw Przeuczeniu)

Najgorszym przyjacielem deep learningu jest Overfitting: sytuacja doskonałego opanowania przez sieć zbioru z notatnika przy jednoczesnym zerowym zdolnościom użycia tego w "praktyce" i "w prawdziwym świecie". Aby uchronić sieć, krzywdzimy ją regularyzacją osłabiając jej fotograficzną pewność siebie.

Działanie Mechanizmu Dropout (30%)

Węzły przekreślone na czerwono nie biorą udziału w tej iteracji Forward Pass i propagacji wstecznej. Z każdym updatem zestaw zgasłych losuje się na nowo.

3. Early Stopping (Callbacks)
(Bo czas to pieniądz, a epoki palą sprzęt)

Nigdy nie wiemy jaka powinna być epoka graniczna dla wyciągnięcia optymalnego ułamka logiki. Na ogół odpalamy tysiące epoek - ale dzięki asystentom z Callbacks kod sam strzeże straty i odpuszcza, gdy nauka cośnie i zacznie się wyginać w stronę przerażającego overfittingu.

4. Keras Tuner
(Automatyczny kowolucyjny detektyw Hiperparametrów)

Ręczne wpisywanie różnych LR, Dropoutu, liczebności i gęstości węzłów we for-zagnieżdżeniach to archaiczność. Narzędzie Keras Tuner losowo przeszukuje siatkę ustalonej przestrzeni kosmicznej potężnie szpikując różne wariacje same, generując tabele i szukając złotego środka dla twojego projektu ML!

⚙️ Symulator Overfittingu i Early Stopping

Sprawdź jak regularyzacja L2 i Dropout dławi przedwczesne Przeuczenie. Zwróć uwagę jak i kiedy strażnik Early Stopping zainterweniuje przy wzroście Val_Loss! (Przełączaj suwak dławienia by uświadczyć korzyści lub destrukcji).

Brak RegularyzacjiAgresywna (Underfit)
>_ Callback Listener
-- Callbacks aktywne. Czekam... --

Quiz końcowy