Rozmiar wsadu i normalizacja wsadowa

Wprowadzenie do uczenia głębokiego z Keras

Miguel Esteban

Data Scientist & Founder

Wprowadzenie do uczenia głębokiego z Keras

Wprowadzenie do uczenia głębokiego z Keras

Mini-wsady

Zalety

  • Szybsze uczenie sieci (więcej aktualizacji wag w tym samym czasie)
  • Mniejsze zużycie pamięci RAM, możliwość uczenia na dużych zbiorach danych
  • Szum może pomóc sieci osiągnąć niższy błąd, wydostając się z minimów lokalnych

Wady

  • Konieczność wykonania większej liczby iteracji
  • Wymaga dostrojenia — należy dobrać odpowiedni rozmiar wsadu
Wprowadzenie do uczenia głębokiego z Keras

1 Stack Exchange
Wprowadzenie do uczenia głębokiego z Keras

Rozmiar wsadu w Keras

# Fitting an already built and compiled model
model.fit(X_train, y_train, epochs=100, batch_size=128)
                                        ^^^^^^^^^^^^^^

Wprowadzenie do uczenia głębokiego z Keras

Wprowadzenie do uczenia głębokiego z Keras

Wprowadzenie do uczenia głębokiego z Keras

Wprowadzenie do uczenia głębokiego z Keras

Zalety normalizacji wsadowej

  • Poprawia przepływ gradientu
  • Umożliwia stosowanie wyższych współczynników uczenia
  • Zmniejsza zależność od inicjalizacji wag
  • Działa jako nieplanowana forma regularyzacji
  • Ogranicza wewnętrzne przesunięcie kowariancji
Wprowadzenie do uczenia głębokiego z Keras

Normalizacja wsadowa w Keras

# Import BatchNormalization from keras layers
from tensorflow.keras.layers import BatchNormalization

# Instantiate a Sequential model model = Sequential()
# Add an input layer model.add(Dense(3, input_shape=(2,), activation = 'relu'))
# Add batch normalization for the outputs of the layer above model.add(BatchNormalization())
# Add an output layer model.add(Dense(1, activation='sigmoid'))
Wprowadzenie do uczenia głębokiego z Keras

Let's practice!

Wprowadzenie do uczenia głębokiego z Keras

Preparing Video For Download...