Taille de lot et normalisation par lot

Introduction à Deep Learning avec Keras

Miguel Esteban

Data Scientist & Founder

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Mini-lots

Avantages

  • Réseaux entraînés plus vite (plus de mises à jour de poids dans le même temps)
  • Moins de RAM requise, possible d'entraîner d'énormes ensembles de données
  • Le bruit aide à atteindre une erreur plus basse, en évitant des minima locaux

Inconvénients

  • Davantage d'itérations à exécuter
  • Doit être ajustée : trouver une bonne taille de lot
Introduction à Deep Learning avec Keras

1 Stack Exchange
Introduction à Deep Learning avec Keras

Taille de lot dans Keras

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

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Introduction à Deep Learning avec Keras

Avantages de la normalisation par lot

  • Améliore le flux du gradient
  • Permet des taux d'apprentissage plus élevés
  • Réduit la dépendance à l'initialisation des poids
  • Joue un rôle implicite de régularisation
  • Limite le décalage covariant interne
Introduction à 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 la normalisation par lot sur les sorties de la couche ci-dessus model.add(BatchNormalization())
# Ajouter une couche de sortie model.add(Dense(1, activation='sigmoid'))
Introduction à Deep Learning avec Keras

Passons à la pratique !

Introduction à Deep Learning avec Keras

Preparing Video For Download...