Ce module est consacré à la recherche quasi-aléatoire.
Pourquoi utiliser la recherche quasi-aléatoire ?
La recherche quasi aléatoire (basée sur des séquences à faible écart) est notre préférence. plutôt que des outils d'optimisation par boîte noire plus sophistiqués lorsqu'ils sont utilisés dans le cadre d'un processus itératif. de réglage destiné à maximiser les insights sur le problème de réglage (appelée "phase d'exploration"). l'optimisation bayésienne et d'autres sont plus adaptés à la phase d'exploitation. La recherche quasi-aléatoire basée sur des séquences à faible écart et à décalage aléatoire peut peut être considérée comme une "recherche saccadée par quadrillage", car elle est uniforme, mais explore un espace de recherche donné et répartit les points de recherche de manière aléatoire que la recherche aléatoire.
Avantages de la recherche quasi-aléatoire par rapport à une recherche par boîte noire plus sophistiquée Outils d'optimisation (optimisation bayésienne, algorithmes évolutifs) incluent:
- L'échantillonnage de l'espace de recherche de manière non adaptative permet de modifier l'objectif de réglage dans une analyse post hoc sans réexécuter les tests. Par exemple, nous cherchons généralement à trouver le meilleur essai en termes de validation. d'erreur constatée à n'importe quel moment de l'entraînement. Cependant, les modèles non adaptatifs la nature quasi aléatoire de la recherche permet de trouver le meilleur essai en fonction de l'erreur de validation finale, de l'erreur d'entraînement ou d'une autre la métrique d'évaluation sans réexécuter de test.
- La recherche quasi aléatoire se comporte de manière cohérente et statistiquement reproductible de la même façon. Il est possible de reproduire une étude remontant à six mois, si la mise en œuvre de l'algorithme de recherche change, conserve les mêmes propriétés d'uniformité. Si vous utilisez des requêtes bayésiennes sophistiquées logiciel d'optimisation, la mise en œuvre peut changer à un rythme effréné entre les versions, ce qui rend la reproduction d'une recherche ancienne beaucoup plus difficile. Il n'est pas toujours possible de revenir à une ancienne implémentation (par exemple, si l'outil d'optimisation est exécuté en tant que service).
- Son exploration uniforme de l'espace de recherche permet de raisonner plus facilement sur les résultats et sur ce qu'ils pourraient suggérer à propos de l'espace de recherche. Par exemple, si le meilleur point du balayage d'une recherche quasi-aléatoire à la limite de l'espace de recherche, c'est une bonne réponse (mais pas infaillible). indique que les limites de l'espace de recherche doivent être modifiées. Cependant, un algorithme d'optimisation adaptatif par boîte noire ont peut-être négligé le milieu de l'espace de recherche en raison les premiers essais, même s'il s'avère qu'ils contiennent des points tout aussi intéressants, puisqu'il c'est précisément ce genre de non-uniformité qu'un bon algorithme d'optimisation doit employer pour accélérer la recherche.
- Exécuter différents nombres d'essais en parallèle ou de manière séquentielle ne produisent pas de résultats statistiquement différents lors de l'utilisation de (ou d'autres algorithmes de recherche non adaptatifs), contrairement aux algorithmes algorithmes.
- Des algorithmes de recherche plus sophistiqués ne permettent pas toujours les points correctement, surtout s'ils ne sont pas conçus avec un réseau de neurones le réglage des hyperparamètres.
- La recherche quasi-aléatoire est simple et fonctionne particulièrement bien avec de nombreux réglages s'exécutent en parallèle. De façon anecdotique1, il est très difficile pour un algorithme adaptatif de faire mieux la recherche quasi aléatoire dont le budget est deux fois supérieur, en particulier lorsque de nombreux essais doivent s'exécuter en parallèle. Dans ce cas, il y a très peu de chances les résultats des essais précédents lors du lancement d'un nouvel essai). Sans expertise en optimisation bayésienne ni en autres solutions avancées de boîte noire méthodes d'optimisation, vous n'obtiendrez peut-être pas les avantages qu'elles représentent, capable de fournir. Il est difficile de comparer les performances algorithmes d'optimisation par boîte noire dans un réglage réaliste du deep learning et conditions d'exploitation. Il s'agit d'un domaine très actif dans les recherches actuelles, des algorithmes plus sophistiqués ont leurs propres pièges pour d'utilisateurs inexpérimentés. Les experts utilisant ces méthodes peuvent obtenir de bons résultats, mais dans des conditions de parallélisme élevé, l'espace de recherche et le budget ont tendance sont d'autant plus importantes.
Cela dit, si vos ressources de calcul n'autorisent qu'un petit nombre plusieurs essais à exécuter en parallèle. L'optimisation bayésienne devient beaucoup plus attrayante des résultats plus difficiles à interpréter.
Où puis-je trouver une implémentation de la recherche quasi-aléatoire ?
Open-Source Vizier offre
une implémentation de logiques
recherche.
Définir algorithm="QUASI_RANDOM_SEARCH"
dans cette utilisation de Vizier
exemple.
Une autre implémentation existe dans ce balayage d'hyperparamètres
exemple.
Ces deux implémentations génèrent une séquence Halton pour une recherche donnée.
(destiné à implémenter une séquence de Halton décalée et brouillée comme
recommandé dans
Hyper-paramètres critiques: pas aléatoire, non
Pleurs.
Si un algorithme de recherche quasi-aléatoire basé sur une séquence à faible écart n'est pas il est possible de le remplacer par une recherche uniforme pseudo-aléatoire, bien que cela soit susceptible d'être un peu moins efficace. En 1 ou 2 dimensions, La recherche par quadrillage est également acceptable, mais pas dans des dimensions supérieures. (Voir Bergstra et Bengio, 2012).
Combien d'essais sont nécessaires pour obtenir de bons résultats avec une recherche quasi aléatoire ?
Il n'y a aucun moyen de déterminer le nombre d'essais nécessaires pour des résultats de recherche quasi-aléatoires en général, mais vous pouvez des exemples précis. Comme le montre la figure 3, le nombre d'essais d'une étude peut ont un impact important sur les résultats:
Figure 3:ResNet-50 réglé sur ImageNet avec 100 essais À l'aide de l'amorçage, différents montants de budget de réglage ont été simulés. Des diagrammes en boîte des meilleures performances pour chaque budget d'essai sont représentés.
Notez les points suivants concernant la figure 3:
- Les plages interquartiles lorsque six essais ont été échantillonnés sont beaucoup plus larges que lorsque 20 essais ont été échantillonnés.
- Même avec 20 essais, il existe une différence entre "particulièrement chanceux" et "malchanceux". sont probablement plus importantes que les variations habituelles entre les réentraînements de ce modèle sur différentes sources aléatoires, avec des hyperparamètres fixes, pour cette charge de travail, qui peut atteindre environ +/- 0,1 % un taux d'erreur de validation d'environ 23%.
-
Ben Recht et Kevin Jamieson a souligné à quel point La recherche aléatoire avec un budget x2 sert de référence (la Article sur l'hyperbande présente des arguments similaires), mais il est certainement possible de trouver et problèmes dans lesquels l'optimisation bayésienne de pointe techniques écrasent la recherche aléatoire qui dispose de deux fois plus de budget. Toutefois, dans notre Il est de plus en plus difficile de contourner la recherche aléatoire avec un budget deux fois supérieur de parallélisme élevé, car l'optimisation bayésienne n'a aucune possibilité observer les résultats d'essais précédents. ↩