Bayesian Optimization
L’optimisation bayésienne s’appuie sur les évaluations passées et des modèles probabilistes pour trouver des paramètres performants pour les charges de travail de ML coûteuses, avec des ressources de calcul limitées.
L’optimisation bayésienne est une méthode permettant de trouver des réglages performants pour une fonction dont l’évaluation est coûteuse, en tirant parti des évaluations précédentes. Elle construit un modèle probabiliste de l’influence des entrées sur les résultats, puis utilise ce modèle pour choisir la prochaine expérience. En apprentissage automatique, elle permet ainsi de trouver de bonnes configurations d’entraînement dans le cadre d’un budget de calcul limité.
Ses fondements comprennent la méthode de recherche séquentielle de Harold Kushner, datant de 1964, et la formulation bayésienne de la recherche d’extremum de 1975 de Jonas Mockus. Aujourd’hui, c’est une technique centrale pour le réglage des hyperparamètres et l’apprentissage automatique automatisé.
Fonctionnement de l’optimisation bayésienne#
La fonction objectif mesure la qualité d’une configuration candidate. Pour l’entraînement d’un modèle, l’évaluation consiste à effectuer l’entraînement avec les hyperparamètres sélectionnés, puis à mesurer les performances sur les données de validation. Les paramètres ajustables comprennent le taux d’apprentissage, la taille du lot et l’intensité de la régularisation.
Un modèle de substitution est une approximation de la fonction objectif dont le calcul est moins coûteux. Un choix courant est le processus gaussien : une distribution de probabilité sur les fonctions possibles qui prédit à la fois un résultat et son incertitude. La mise à jour bayésienne combine les hypothèses a priori et les évaluations observées pour produire une distribution a posteriori. Une fonction d’acquisition utilise cette distribution pour sélectionner une autre candidate ; le résultat mesuré est réinjecté dans le modèle de substitution jusqu’à épuisement du budget d’évaluation.
Il s’agit d’une approche d’optimisation fondée sur l’apprentissage automatique : le modèle de substitution apprend à partir des couples configuration-résultat. Sa quantification de l’incertitude aide à déterminer quelles mesures supplémentaires sont utiles.
Fonctions d’acquisition et exploration#
La sélection des candidates établit un compromis entre l’exploitation, qui privilégie les réglages dont les performances prédites sont bonnes, et l’exploration, qui examine les régions incertaines. Les fonctions d’acquisition courantes expriment ce compromis de différentes façons :
- Amélioration attendue (EI) : évalue l’amélioration attendue d’une candidate par rapport à un résultat de référence.
- Probabilité d’amélioration (PI) : évalue la probabilité de dépasser un résultat de référence d’une marge donnée.
- Borne de confiance supérieure (UCB) : pour une maximisation, combine la moyenne prédite et une prime d’incertitude, accordant ainsi une priorité supplémentaire aux candidates incertaines.
Ces stratégies d’acquisition sont peu coûteuses à évaluer par rapport à l’entraînement d’un modèle ou à la réalisation d’une expérience physique. Leur optimisation oriente la prochaine évaluation coûteuse.
Applications en apprentissage automatique et en vision par ordinateur#
L’optimisation bayésienne est particulièrement utile lorsque chaque évaluation prend beaucoup de temps et que la recherche porte sur un nombre raisonnable de variables influentes. Parmi les applications bien établies figurent la conception technique, les expériences sur les matériaux et le réglage de contrôleurs pour l’apprentissage par renforcement.
En vision par ordinateur, elle sélectionne les paramètres d’entraînement des réseaux neuronaux convolutifs. Jasper Snoek, Hugo Larochelle et Ryan P. Adams ont démontré cette application dans leur algorithme pratique d’optimisation bayésienne de 2012, tout en réglant des machines à vecteurs de support structurées et des modèles de sujets.
Ultralytics YOLO propose la recherche bayésienne via son intégration Ray Tune : définir use_ray=True et search_alg="bayesopt" sélectionne l’optimisation bayésienne pour les hyperparamètres d’entraînement. Pour la détection d’objets avec YOLO26, la recherche maximise la métrique par défaut de la tâche, la précision moyenne.
Méthodes connexes et Optuna#
La recherche par grille évalue un ensemble prédéfini de combinaisons, tandis que la recherche aléatoire échantillonne les configurations de façon indépendante. L’optimisation bayésienne utilise les résultats précédents pour orienter les choix suivants. La descente de gradient met à jour les paramètres à l’aide de dérivées ; l’optimisation bayésienne traite les fonctions objectif en boîte noire coûteuses au moyen d’évaluations et d’un modèle de substitution.
Les algorithmes d’échantillonnage d’Optuna comprennent l’optimisation bayésienne par processus gaussien, l’échantillonnage aléatoire et l’estimateur de Parzen à structure arborescente (TPE). TPE modélise les distributions de paramètres associées aux résultats meilleurs et moins bons, puis privilégie les candidates dont le rapport entre ces densités est plus élevé. Optuna est le framework d’optimisation ; l’échantillonneur sélectionné détermine sa stratégie de recherche.
Un exemple en Python#
Installe bayesian-optimization avec pip install bayesian-optimization. Cet exemple reprend la fonction objectif et les limites de l’exemple d’introduction à l’optimisation du package :
from bayes_opt import BayesianOptimization
def objective(x, y):
"""Return the objective value to maximize."""
return -(x**2) - (y - 1) ** 2 + 1
optimizer = BayesianOptimization(
f=objective,
pbounds={"x": (2, 4), "y": (-3, 3)},
random_state=1,
verbose=0,
)
optimizer.maximize(init_points=2, n_iter=15)
best = optimizer.max
print(f"Best objective: {best['target']:.4f}")La sortie indique la meilleure valeur mesurée de la fonction objectif après deux évaluations aléatoires et quinze évaluations guidées par la fonction d’acquisition. Dans ces limites, le maximum exact est -3 pour x=2, y=1.










