L'optimisation bayésienne : une explication interactive

Modèle de substitution, fonction d'acquisition, exploration vs exploitation — avec une animation et des simulations pour construire l'intuition.

Pour recruteurs (lecture rapide)

L'optimisation bayésienne (OB) trouve le maximum d'une fonction coûteuse à évaluer, sans gradient ni expression analytique. Je l'utilise comme outil de modélisation et de décision pour :

  • Réglage d'hyperparamètres : explorer l'espace d'un réseau profond en peu d'évaluations, là où une grille exploserait.
  • Quantification d'incertitude : un processus gaussien fournit une loi prédictive complète, pas un point isolé — crucial pour les alertes de gel \(\Pr(T_c < 3°\mathrm{C})\).
  • Compromis exploration / exploitation : formalisé proprement par la fonction d'acquisition.
  • Lien avec le krigeage et le filtre de Kalman : la vraisemblance marginale d'un PG est ce qu'optimise implicitement Kalman.
Processus gaussiens Fonctions d'acquisition Quantification d'incertitude BoTorch

L'optimisation bayésienne en animation

Avant la théorie, une vue d'ensemble en mouvement : la régression par processus gaussien (la bande d'incertitude qui se resserre sur les données), puis la boucle de décision avec l'Expected Improvement, et enfin l'arbitrage exploration/exploitation via UCB.

Animation produite avec Manim — les trois piliers de l'OB en une minute.

Pourquoi l'optimisation bayésienne ?

Imaginez l'entraînement d'un grand réseau de neurones sur serveur HPC. Chaque configuration d'hyperparamètres exige un réentraînement complet : deux heures de calcul. Vous disposez d'un budget de cinquante évaluations. Comment choisir lesquelles faire ?

La descente de gradient suppose qu'on connaît \(f\) et \(\nabla f\) — ici on ne connaît ni l'un ni l'autre. La recherche par grille gaspille le budget en couverture aveugle. L'OB répond à une question simple : comment décider intelligemment où évaluer ensuite, à partir de tout ce qu'on a déjà observé ?

L'idée centrale : remplacer la fonction coûteuse par un substitut probabiliste, bon marché à interroger, qui renvoie non seulement une prédiction mais aussi une incertitude. On exploite cette incertitude pour cibler les prochaines évaluations. C'est un one-step lookahead : à chaque tour, on fait le coup qui maximise le gain attendu en un mouvement — une politique myope, mais robuste et peu coûteuse en pratique.

Le substitut : processus gaussiens

Le substitut est presque toujours un processus gaussien (PG) : une distribution sur des fonctions, entièrement déterminée par une moyenne \(\mu(\cdot)\) et une covariance \(k(\cdot,\cdot)\).

Définition
\[ y(\cdot) \sim \mathcal{GP}\big(\mu(\cdot),\, k(\cdot,\cdot)\big) \]

Propriété clé : tout sous-ensemble fini de points suit une loi gaussienne multivariée. Après observation de données bruitées \((\mathbf{x},\mathbf{y})\) avec \(\varepsilon \sim \mathcal{N}(0,\sigma_n^2)\), on prédit en tout point de test :

Moyenne prédictive
Lissage des observations
\[ \bar{\mathbf{f}}_* = K(\mathbf{x}_*,\mathbf{x})\big[K(\mathbf{x},\mathbf{x}) + \sigma_n^2 I\big]^{-1}\mathbf{y} \]
Covariance prédictive
Incertitude restante
\[ \Sigma_* = K(\mathbf{x}_*,\mathbf{x}_*) - K(\mathbf{x}_*,\mathbf{x})\big[K(\mathbf{x},\mathbf{x}) + \sigma_n^2 I\big]^{-1}K(\mathbf{x},\mathbf{x}_*) \]

L'ajout de \(\sigma_n^2\) sur la diagonale fait que la moyenne lisse les observations au lieu de les traverser, et la variance reste strictement positive partout. Le PG fournit ainsi à la fois une prédiction et son incertitude — c'est précisément ce qui en fait le substitut idéal.

Vraisemblance marginale : on règle les hyperparamètres du noyau en maximisant \(\log p(\mathbf{y}\mid\mathbf{x}) = -\tfrac{1}{2}\mathbf{y}^\top(K+\sigma_n^2 I)^{-1}\mathbf{y} - \tfrac{1}{2}\log|K+\sigma_n^2 I| - \tfrac{n}{2}\log 2\pi\). Le premier terme mesure l'ajustement, le second pénalise la complexité — un rasoir d'Occam intégré. C'est aussi exactement ce qu'optimise implicitement le filtre de Kalman dans forecast::Arima.

Les noyaux (fonctions de covariance)

La moyenne étant souvent nulle, c'est le noyau qui caractérise le PG. Il doit être symétrique et semi-défini positif. Deux familles dominent.

Exponentiel quadratique (SE)

\[ k_{\text{SE}}(r) = \sigma_f^2 \exp\!\left(-\frac{r^2}{2\ell^2}\right) \]

Infiniment dérivable → trajectoires très lisses. La longueur d'échelle \(\ell\) contrôle la portée de la corrélation.

Classe de Matérn

\[ k_{3/2}(r) = \sigma_f^2\left(1 + \tfrac{\sqrt{3}\,r}{\ell}\right)\exp\!\left(-\tfrac{\sqrt{3}\,r}{\ell}\right) \]

Le paramètre \(\nu\) règle la régularité. \(\nu = 3/2\) ou \(5/2\) donne des trajectoires moins lisses, souvent plus réalistes. Quand \(\nu \to \infty\), on retrouve le SE.

La boucle Ajuster – Choisir – Évaluer

L'OB est un processus séquentiel : à chaque tour, elle ajuste le substitut, choisit le point le plus prometteur, l'évalue, puis recommence.

① Ajuster

Réajuster le PG \(g \approx f\) sur les données

② Choisir

\(x_{n+1} = \arg\max_x \alpha_n(x)\)

③ Évaluer

Calculer \(f(x_{n+1})\), ajouter aux données

La maximisation de \(\alpha_n\) (boucle interne) doit être bien moins coûteuse qu'une évaluation de \(f\).

Fonctions d'acquisition

La fonction d'acquisition \(\alpha_n(x)\) capture le bénéfice d'évaluer en \(x\). On note \(\mu_n(x)\), \(\sigma_n(x)\) la moyenne et l'écart-type prédictifs, et \(y_n^*\) le meilleur résultat observé. Trois grandes familles existent.

① Amélioration
Expected Improvement
\[ \alpha^{\text{EI}}_n = (\mu_n - y_n^*)\Phi(z) + \sigma_n\,\phi(z) \]

\(z = (\mu_n - y_n^*)/\sigma_n\). 1ᵉʳ terme = exploitation, 2ᵉ = exploration. Inclut aussi PI et le knowledge gradient.

② Bandit
Upper Confidence Bound
\[ \alpha^{\text{UCB}}_n = \mu_n(x) + \beta\,\sigma_n(x) \]

\(\beta\) règle le compromis : faible → exploitation, grand → exploration. Aussi : Thompson sampling.

③ Information
Entropy Search
\[ \alpha^{\text{ES}}_n = \mathrm{MI}(x^*, y_x \mid \mathcal{D}_n) \]

Réduit l'incertitude sur l'optimum lui-même (ES, PES, MES). Plus coûteux, souvent plus efficace.

FamilleAcquisitionsIdée directrice
AméliorationPI, EI, knowledge gradientMaximiser le gain attendu
BanditUCB, Thompson samplingArbitrer exploration / exploitation
InformationES, PES, MESRéduire l'incertitude sur l'optimum

Simulation : UCB en action

Glissez \(\beta\) et le nombre d'observations. Le carré jaune marque le point que UCB choisirait ensuite : observez comment un \(\beta\) élevé pousse vers les zones incertaines (exploration), un \(\beta\) faible vers les pics de la moyenne (exploitation).

UCB 1D — moyenne, bande à 2σ, et prochain point

2.0
5
Bande ± 2σ Moyenne Fonction vraie Observations Prochain point (argmax UCB)

Simulation : comparer PI, EI et UCB

Même substitut, mêmes observations, trois acquisitions différentes. Avancez dans la boucle et comparez où chaque stratégie voudrait évaluer (carré jaune).

Trois fonctions d'acquisition, côte à côte

2

Carré jaune = argmax de chaque acquisition (prochain point évalué).

Applications

Réglage d'hyperparamètres

Régler un TCN ou un WaveNet sur HPC, où chaque configuration exige un réentraînement complet, correspond exactement au cas d'usage canonique de l'OB. En cinquante évaluations bien placées, on couvre l'espace bien mieux qu'une grille de centaines de points.

Argument méthodologique : dans mon benchmark de prévision de \(T_c\), un résultat de parcimonie (XGBoost et SARIMAX devançant le deep learning) pourrait être attribué à un sous-réglage des modèles profonds. Régler tous les modèles avec un budget d'OB identique et documenté écarte cette objection et renforce la conclusion.

Quantification d'incertitude pour le risque de gel

Un PG fournit une loi prédictive complète. Pour une alerte de gel, la bonne grandeur n'est pas seulement \(\hat{T}_c < 3°\mathrm{C}\), mais la probabilité \(\Pr(T_c < 3°\mathrm{C})\), qui se lit sur la bande prédictive. L'alerte se déclenche dès que la borne inférieure franchit le seuil — en avance sur la moyenne.

Lien avec le krigeage et le filtre de Kalman

La régression par PG est le krigeage de la statistique spatiale. Et la vraisemblance marginale du PG est précisément la quantité qu'optimise implicitement le filtre de Kalman — un pont direct avec mon article sur le filtre de Kalman.

Limites et extensions

DéfiExtension / solution
Inversion \(O(n^3)\) (lente si \(n>1000\))Sparse GPs, inférence variationnelle (points inducteurs)
Hyperparamètres du noyau inconnusMaximum de vraisemblance, ou prior + MCMC
Grande dimension (\(>20\))Trust-region BO, plongements aléatoires, BO local
ContraintesConstrained BO (PG sur la contrainte)
Plusieurs objectifsMulti-objective BO → front de Pareto (hypervolume)
Budget très serréHyperband, successive halving (early stopping)
Implémentation : BoTorch (PyTorch) est la référence ; GPyTorch pour des PG scalables, GPJax en JAX. Références : Rasmussen & Williams (2006), Frazier (2018), Shahriari et al. (2016).