Je cherche un document qui pourrait aider à donner des directives sur la façon de choisir les hyperparamètres d’une architecture profonde, comme des encodeurs automatiques superposés ou des réseaux de valeurs profondes. Il y a beaucoup d'hyperparamètres et je suis très confus sur la façon de les choisir. De plus, l'utilisation de la validation croisée n'est pas une option, car la formation prend beaucoup de temps!
38
Réponses:
Il existe essentiellement quatre méthodes:
la source
Une grande variété de méthodes existe. Elles peuvent être largement partitionnées en méthodes de recherche aléatoires / non dirigées (comme la recherche par grille ou la recherche aléatoire) et en méthodes directes. Sachez cependant qu'ils nécessitent tous de tester une quantité considérable de paramètres d'hyperparamètre, à moins que vous n'ayez de la chance (des centaines au moins, cela dépend du nombre de paramètres).
Dans la classe des méthodes directes, plusieurs approches distinctes peuvent être identifiées:
Vous voudrez peut-être examiner Optunity , un paquet Python offrant une variété de solveurs pour le réglage hyperparamètre (tout ce que j'ai mentionné à l'exception de EGO et de Kriging, pour le moment). Optunity sera bientôt disponible pour MATLAB et R. Disclaimer: Je suis le développeur principal de ce paquet.
D'après mon expérience personnelle, les méthodes évolutives sont très puissantes pour ces types de problèmes.
la source
Cherchez pas plus loin! Yoshua Bengio a publié l'un de mes papiers appliqués préférés, celui que je recommande à tous les nouveaux ingénieurs en apprentissage automatique qui commencent à utiliser des réseaux neuronaux: recommandations pratiques pour la formation d'architectures profondes par gradient. Pour connaître son point de vue sur le virage hyperparamètre: taux d’apprentissage, calendrier des taux d’apprentissage, arrêt précoce, taille des minibatchs, nombre de couches masquées, etc., voir la section 3.
la source