Y a-t-il une différence entre le batch et le mini-batch dans le deep learning?


Réponse 1:

Le traitement par lots est utilisé dans l'algorithme de descente de gradient.

Les trois principales saveurs de la descente en gradient sont les lots, les stochastiques et les mini-lots.

La descente de gradient par lots calcule l'erreur pour chaque exemple dans le jeu de données d'apprentissage, mais ne met à jour le modèle qu'une fois que tous les exemples d'apprentissage ont été évalués. Il en résulte la plus petite erreur, mais le calcul est très coûteux.

La descente de gradient stochastique calcule l'erreur et met à jour le modèle pour chaque exemple du jeu de données d'apprentissage. Cela donne une plus grande erreur, mais le calcul est très facile. SGD est parfois utilisé dans des systèmes qui doivent être mis à jour en temps réel.

Le compromis entre ces deux algorithmes est Mini-Batch, où vous utilisez une petite partie des données en tant que lot, typique d'une puissance de deux échantillons, par exemple 256, 512. La descente de gradient en mini-lot est recommandée pour la plupart des applications, en particulier dans l'apprentissage en profondeur.

Il y a un bel article sur Internet, décrivant ces méthodes en détail: Une introduction douce à la descente de gradient en mini-lot et comment configurer la taille du lot - Maîtrise de l'apprentissage automatique