Choix d'une taille de mini-lot appropriée pour la descente de gradient stochastique (SGD)

13

Existe-t-il une littérature qui examine le choix de la taille du mini-lot lors de la descente de gradient stochastique? D'après mon expérience, cela semble être un choix empirique, généralement trouvé via la validation croisée ou en utilisant différentes règles empiriques.

Est-ce une bonne idée d'augmenter lentement la taille du mini-lot à mesure que l'erreur de validation diminue? Quels effets cela aurait-il sur l'erreur de généralisation? Suis-je mieux d'utiliser un mini-lot extrêmement petit et de mettre à jour mon modèle des centaines de milliers de fois? Serais-je mieux avec un nombre équilibré quelque part entre extrêmement petit et lot?
Dois-je mettre à l'échelle la taille de mon mini-lot avec la taille de l'ensemble de données ou le nombre attendu d'entités dans l'ensemble de données?

J'ai évidemment beaucoup de questions sur la mise en œuvre de programmes d'apprentissage de mini-lots. Malheureusement, la plupart des articles que j'ai lus ne précisent pas vraiment comment ils ont choisi cet hyperparamètre. J'ai eu un certain succès d'auteurs tels que Yann LeCun, en particulier de la collection de papiers Tricks of the Trade. Cependant, je n'ai toujours pas vu ces questions entièrement traitées. Quelqu'un a-t-il des recommandations pour des articles ou des conseils sur les critères que je peux utiliser pour déterminer les bonnes tailles de mini-lots lorsque vous essayez d'apprendre des fonctionnalités?

Jason_L_Bens
la source
Je ne semble pas avoir beaucoup de succès sur ce sujet. Existe-t-il un meilleur site d'échange de pile pour poser des questions d'apprentissage automatique ou d'apprentissage approfondi comme celle-ci?
Jason_L_Bens
Pour info
Memming

Réponses:

6

La théorie de l'efficacité de SGD a été élaborée sur des exemples de mises à jour uniques (c.-à-d. Taille de mini-lot 1), donc l'utilisation de plus grands mini-lots n'est pas théoriquement nécessaire. Il présente deux avantages pratiques:

Premièrement , si le calcul peut être vectorisé, vous pourriez être en mesure de calculer des gradients pour un petit mini-lot> 1 presque aussi rapidement, conduisant à des augmentations de vitesse importantes lors de l'entraînement.

Dans ce cas, la taille optimale du mini-lot est fonction du matériel et de l'implémentation particuliers avec lesquels vous travaillez, il est donc préférable d'expérimenter pour trouver le bon endroit.

Deuxièmement , le calcul du gradient sur une taille de mini-lot> 1 conduira à des gradients plus précis et à des étapes plus optimales. Mais cet avantage arrivera et se stabilisera rapidement une fois la taille du mini-lot augmentée au-delà de 1, vous pouvez donc vous concentrer principalement sur le premier objectif.

David Kelley
la source