Avantages de l'optimisation des essaims de particules par rapport à l'optimisation bayésienne pour le réglage des hyperparamètres?


18

Il existe d'importantes recherches contemporaines sur l'optimisation bayésienne (1) pour le réglage des hyperparamètres ML. La motivation principale ici est qu'un nombre minimal de points de données est nécessaire pour faire des choix éclairés sur les points qui valent la peine d'être essayés (les appels de fonction objectifs sont coûteux, donc en faire moins est mieux) parce que la formation d'un modèle prend du temps - certains modestement -les gros problèmes SVM sur lesquels j'ai travaillé peuvent prendre entre quelques minutes et plusieurs heures.

D'un autre côté, Optunity est une implémentation d'essaim de particules à traiter pour la même tâche. Je ne connais pas très bien la PSO, mais il semble qu'elle doit être moins efficace dans le sens où elle nécessite un plus grand nombre de points d'essai, et donc des évaluations fonctionnelles objectives, pour évaluer la surface hyperparamétrique.

Est-ce que je manque un détail clé qui rend PSO préféré à BO dans le contexte d'apprentissage automatique? Ou le choix entre les deux est-il toujours intrinsèquement contextuel pour la tâche de réglage des hyperparamètres?


(1) Shahriari et al, «Sortir l'humain de la boucle: une revue de l'optimisation bayésienne».


n'a pas besoin de dégradé. fonctionne avec discontinuité. moyennement efficace. gère plusieurs dimensions. gère bien le bruit. A la robustesse intégrée de l'estimateur.
EngrStudent

@EngrStudent Vous pouvez dire toutes ces choses sur BO, sauf que BO semble être plus efficace car il nécessite un plus petit nombre d'évaluations de fonctions, du moins dans mon calcul. Je ne parle pas de PSO en général, je pose des questions sur ses mérites par rapport à BO.
Sycorax dit Réintégrer Monica le

1
Pas suffisamment instruit sur le sujet pour en faire une réponse définitive, mais je pense que l'optimisation bayésienne devrait subir le même sort que les optimiseurs les plus efficaces avec des problèmes hautement multimodaux (voir: 95% des problèmes d'apprentissage automatique): le minimum local le plus proche sans "arpenter" l'espace global. Je pense que Particle Swarm aurait plus de chance de trouver des minimums non locaux.
Cliff AB

2
Toutes mes excuses pour mon arrivée tardive à la fête, je ne sais pas comment j'ai réussi à ignorer une question sur Optunity pendant si longtemps! :-)
Marc Claesen

1
@MarcClaesen Je dois admettre que j'espérais que vous trouveriez le temps de répondre à un moment donné. Tard ou pas, je pense que nous sommes tous heureux que vous soyez arrivés.
Sycorax dit Réintégrer Monica

Réponses:


25

En tant que développeur principal d'Optunity, j'ajouterai mes deux cents.

Nous avons effectué de nombreux tests comparatifs d'Optunity avec les solveurs bayésiens les plus populaires (par exemple, hyperopt, SMAC, bayesopt) sur des problèmes du monde réel, et les résultats indiquent que PSO n'est en fait pas moins efficace dans de nombreux cas pratiques. Dans notre benchmark, qui consiste à régler les classificateurs SVM sur divers ensembles de données, Optunity est en fait plus efficace que Hyperopt et SMAC, mais légèrement moins efficace que BayesOpt. J'adorerais partager les résultats ici, mais je vais attendre que Optunity soit enfin publié dans JMLR (en cours de révision depuis plus d'un an maintenant, alors ne retenez pas votre souffle ...).

Comme vous l'indiquez, l'augmentation de l'efficacité est un argument de vente couramment utilisé pour l'optimisation bayésienne, mais en pratique, elle ne tient que si les hypothèses des modèles de substitution sous-jacents sont valables, ce qui est loin d'être trivial. Dans nos expériences, le très simple solveur PSO d'Optunity est souvent en concurrence avec des approches bayésiennes complexes en termes de nombre d'évaluations de fonctions. Les solveurs bayésiens fonctionnent très bien lorsqu'ils sont dotés de bons a priori, mais avec un a priori non informatif, il n'y a pratiquement aucun avantage structurel par rapport aux méthodes métaheuristiques comme le PSO en termes d'efficacité.

Un grand argument de vente pour PSO est le fait que c'est parallèle de façon embarrassante. L'optimisation bayésienne est souvent difficile à paralléliser, en raison de sa nature intrinsèquement séquentielle (l'implémentation d'Hyperopt étant la seule vraie exception). Compte tenu des opportunités de distribution, qui deviennent la norme, Optunity prend rapidement les devants en termes d'horloge murale pour obtenir de bonnes solutions.

Une autre différence clé entre Optunity et la plupart des autres bibliothèques d'optimisation d'hyperparamètres dédiées est le public cible: Optunity a l'interface la plus simple et s'adresse aux experts non-machine learning, tandis que la plupart des autres bibliothèques nécessitent une certaine compréhension de l'optimisation bayésienne pour être utilisées efficacement (c'est-à-dire qu'elles sont à destination des spécialistes).

La raison pour laquelle nous avons créé la bibliothèque est que malgré le fait qu'il existe des méthodes d'optimisation d'hyperparamètres dédiées, elles ne sont pas adoptées dans la pratique. La plupart des gens ne sont toujours pas à l'écoute, le font manuellement, ou via des approches naïves comme la grille ou la recherche aléatoire. À notre avis, une des principales raisons à cela est le fait que les bibliothèques existantes avant de développer Optunity étaient trop difficiles à utiliser en termes d'installation, de documentation, d'API et souvent limitées à un seul environnement.


4
Une réponse aussi éclairée que possible! Je suis curieux: vous dites que le solveur PSO est compétitif avec les approches d'optimisation bayésienne. Est-ce à dire que l' exécution PSO en parallèle s'avère plus rapide que l' exécution séquentielle de Bayseian Optimization ? N'essayant pas d'être méchant, mais c'est une distinction importante à comprendre pour moi.
Cliff AB

2
Non, les deux fonctionnant séquentiellement. Dans nos expériences (tuning SVMs), l'efficacité de PSO et d'optimisation bayésienne est compétitive en termes de nombre d'évaluations de fonctions. Nous n'avons pas comparé l'efficacité en termes de temps d'horloge murale dans les paramètres distribués car ce serait un peu un coup bon marché car de nombreuses méthodes d'optimisation bayésiennes ne peuvent tout simplement pas faire cela.
Marc Claesen

C'est intéressant. Une idée de pourquoi? Surface hyperparamétrique instable?
Cliff AB

3
Je pense qu'il y a plusieurs raisons. D'une part, les surfaces hyperparamétriques ont beaucoup d'optima locaux (par exemple, en raison des effets d'échantillons finis, des plis de validation croisée, du caractère aléatoire inhérent à certaines approches d'apprentissage). Deuxièmement, l'optimisation bayésienne repose sur la création de fonctions objectives de substitution précises, ce qui n'est pas une tâche facile tant que la fonction objectif n'a pas été échantillonnée de nombreuses fois. L'optimisation bayésienne prend un certain temps avant que la convergence s'accélère (un détail souvent omis). À ce moment-là, les méthodes métaheuristiques comme PSO ont également atteint leur phase de recherche locale. PSO est très bon pour la recherche locale.
Marc Claesen

4
+1 pour une excellente réponse. J'ai construit mon propre logiciel BO, qui je dois admettre qu'il s'agit principalement d'un projet de vanité à ce stade, donc je comprends comment la procédure BO fonctionne en détail; Je suis heureux de pouvoir commencer à gratter la surface de ce qui se passe dans le monde du réglage hyperparamétrique. Votre remarque sur les approches naïves me touche vraiment, car l'un de mes anciens programmes de réglage naïf règle un modèle depuis une semaine sans fin en vue ... Merci pour votre contribution, et je suis sûr que j'aurai plus de questions une fois que j'ai digéré cela.
Sycorax dit Réintégrer Monica

0

La réponse dépend du problème et ne peut être donnée sans contexte supplémentaire. En règle générale, la réponse serait la suivante. L'optimisation bayésienne convient mieux aux problèmes de faible dimension avec un budget de calcul allant jusqu'à 10x-100x le nombre de variables. PSO peut être assez efficace pour des budgets beaucoup plus importants mais n'est pas à la pointe de la technologie dans son créneau.


Les commentaires ne sont pas pour une discussion approfondie; cette conversation a été déplacée vers le chat .
gung - Rétablir Monica
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.