Regularização em redes neurais

Modelagem de imagens com Keras

Ariel Rokem

Senior Data Scientist, University of Washington

Dropout

Em cada passo de aprendizado:

  • Selecione um subconjunto das unidades
  • Ignore no forward pass
  • E na retropropagação do erro
Modelagem de imagens com Keras

Dropout

Modelagem de imagens com Keras

Dropout no 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'))
Modelagem de imagens com Keras

Normalização em lote

  • Reescalonar as saídas
Modelagem de imagens com Keras

Batch Normalization no 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'))
Modelagem de imagens com Keras

Cuidado ao usar juntos!

A desarmonia entre dropout e batch normalization

Modelagem de imagens com Keras

Vamos praticar!

Modelagem de imagens com Keras

Preparing Video For Download...