Régularisation des réseaux de neurones

Modélisation d'images avec Keras

Ariel Rokem

Senior Data Scientist, University of Washington

Dropout

À chaque étape d'apprentissage :

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

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

Batch normalization

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

Batch Normalization 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 à leur usage conjoint !

La dissonance entre dropout et batch normalization

Modélisation d'images avec Keras

Passons à la pratique !

Modélisation d'images avec Keras

Preparing Video For Download...