Velikost dávky a dávková normalizace

Úvod do hlubokého učení s Keras

Miguel Esteban

Data Scientist & Founder

Úvod do hlubokého učení s Keras

Úvod do hlubokého učení s Keras

Mini-dávky

Výhody

  • Sítě se trénují rychleji (více aktualizací vah za stejný čas)
  • Nižší nároky na RAM, možnost trénovat na velkých datasetech
  • Šum může pomoci dosáhnout nižší chyby a uniknout lokálním minimům

Nevýhody

  • Je třeba provést více iterací
  • Vyžaduje ladění – je nutné najít vhodnou velikost dávky
Úvod do hlubokého učení s Keras

1 Stack Exchange
Úvod do hlubokého učení s Keras

Velikost dávky v Keras

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

Úvod do hlubokého učení s Keras

Úvod do hlubokého učení s Keras

Úvod do hlubokého učení s Keras

Úvod do hlubokého učení s Keras

Výhody dávkové normalizace

  • Zlepšuje tok gradientu
  • Umožňuje vyšší rychlost učení
  • Snižuje závislost na inicializaci vah
  • Působí jako neúmyslná forma regularizace
  • Omezuje interní kovariantní posun
Úvod do hlubokého učení s Keras

Dávková normalizace v 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'))
Úvod do hlubokého učení s Keras

Pojďme procvičovat!

Úvod do hlubokého učení s Keras

Preparing Video For Download...