Regularizarea rețelelor neuronale

Modelarea imaginilor cu Keras

Ariel Rokem

Senior Data Scientist, University of Washington

Dropout

La fiecare pas de antrenare:

  • Se selectează un subset de unități
  • Este ignorat în pasul înainte
  • Și în retropropagarea erorii
Modelarea imaginilor cu Keras

Dropout

Modelarea imaginilor cu Keras

Dropout în Keras

from keras.models import Sequential
from keras.layers import Dense, Conv2D, Flatten, Dropout

model = Sequential() model.add(Conv2D(5, kernel_size=3, activation='relu', input_shape=(img_rows, img_cols, 1)))
model.add(Dropout(0.25))
model.add(Conv2D(15, kernel_size=3, activation='relu')) model.add(Flatten()) model.add(Dense(3, activation='softmax'))
Modelarea imaginilor cu Keras

Normalizarea pe loturi

  • Reescalarea ieșirilor
Modelarea imaginilor cu Keras

Normalizarea pe loturi în Keras

from keras.models import Sequential
from keras.layers import Dense, Conv2D, Flatten, BatchNormalization 


model = Sequential() model.add(Conv2D(5, kernel_size=3, activation='relu', input_shape=(img_rows, img_cols, 1)))
model.add(BatchNormalization())
model.add(Conv2D(15, kernel_size=3, activation='relu')) model.add(Flatten()) model.add(Dense(3, activation='softmax'))
Modelarea imaginilor cu Keras

Atenție la utilizarea lor împreună!

Incompatibilitatea dintre dropout și normalizarea pe loturi

Modelarea imaginilor cu Keras

Să exersăm!

Modelarea imaginilor cu Keras

Preparing Video For Download...