Régularisation des réseaux de neurones

Modélisation d'images avec Keras

Ariel Rokem

Senior Data Scientist, University of Washington

Abandon (Dropout)

À chaque étape d'apprentissage :

  • Sélectionner un sous-ensemble d'unités
  • L'ignorer à la propagation avant
  • Et aussi lors de la rétropropagation de l'erreur
Modélisation d'images avec Keras

Abandon (Dropout)

Modélisation d'images avec Keras

Dropout dans 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'))
Modélisation d'images avec Keras

Normalisation par lot

  • Recaler les sorties
Modélisation d'images avec Keras

Normalisation par lot dans 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'))
Modélisation d'images avec Keras

Attention si vous les combinez !

La dysharmonie entre le dropout et la normalisation par lot

Modélisation d'images avec Keras

Passons à la pratique !

Modélisation d'images avec Keras

Preparing Video For Download...