Taille de lot et normalisation par lot

Introduction au Deep Learning avec Keras

Miguel Esteban

Data Scientist & Founder

Introduction au Deep Learning avec Keras

Introduction au Deep Learning avec Keras

Mini-lots

Avantages

  • Apprentissage plus rapide (plus de mises à jour des poids dans le même temps)
  • Moins de RAM requise, possible d'entraîner sur d'énormes jeux de données
  • Le bruit peut aider à atteindre une erreur plus faible en évitant les minima locaux

Inconvénients

  • Davantage d'itérations à exécuter
  • À ajuster : il faut trouver une bonne taille de lot
Introduction au Deep Learning avec Keras

1 Stack Exchange
Introduction au Deep Learning avec Keras

Taille de lot dans Keras

# Entraîner un modèle déjà construit et compilé
model.fit(X_train, y_train, epochs=100, batch_size=128)
                                        ^^^^^^^^^^^^^^

Introduction au Deep Learning avec Keras

Introduction au Deep Learning avec Keras

Introduction au Deep Learning avec Keras

Introduction au Deep Learning avec Keras

Atouts de la normalisation par lot

  • Améliore le flux du gradient
  • Autorise des taux d'apprentissage plus élevés
  • Réduit la dépendance à l'initialisation des poids
  • Joue un rôle involontaire de régularisation
  • Limite le décalage covariant interne
Introduction au Deep Learning avec Keras

Normalisation par lot dans Keras

# Importer BatchNormalization depuis keras.layers
from tensorflow.keras.layers import BatchNormalization

# Instancier un modèle Sequential model = Sequential()
# Ajouter une couche d'entrée model.add(Dense(3, input_shape=(2,), activation = 'relu'))
# Ajouter une normalisation par lot pour les sorties de la couche ci-dessus model.add(BatchNormalization())
# Ajouter une couche de sortie model.add(Dense(1, activation='sigmoid'))
Introduction au Deep Learning avec Keras

Passons à la pratique !

Introduction au Deep Learning avec Keras

Preparing Video For Download...