Normalizacja wsadowa w znajomym modelu
Pamiętasz zbiór danych digits, na którym trenowałeś model w pierwszym ćwiczeniu tego rozdziału?
To problem klasyfikacji wieloklasowej, który rozwiązałeś przy użyciu softmax i 10 neuronów w warstwie wyjściowej.
Teraz zbudujesz nowy, głębszy model składający się z 3 ukrytych warstw po 50 neuronów każda, z normalizacją wsadową między warstwami.
Parametr kernel_initializer służy do inicjalizacji wag w podobny sposób.
To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego z Keras
Instrukcje do ćwiczenia
- Zaimportuj
BatchNormalizationz warstwtensorflow.keras. - Zbuduj model głębokiej sieci neuronowej – użyj 50 neuronów w każdej warstwie ukrytej i dodaj normalizację wsadową między warstwami.
- Skompiluj model, używając stochastycznego gradientu prostego,
sgd, jako optymalizatora.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import batch normalization from keras layers
from tensorflow.____.____ import ____
# Build your deep network
batchnorm_model = ____
batchnorm_model.add(Dense(____, input_shape=(64,), activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(____, activation='relu', kernel_initializer='normal'))
batchnorm_model.add(____)
batchnorm_model.add(Dense(10, activation='softmax', kernel_initializer='normal'))
# Compile your model with sgd
batchnorm_model.compile(optimizer=____, loss='categorical_crossentropy', metrics=['accuracy'])