Points clés à retenir
Cet article montre comment l’optimisation bayésienne constitue le moyen le plus efficace d’explorer les hyperparamètres pour améliorer les performances de modèle. L’optimisation des hyperparamètres dans le Deep Learning peut être effectuée de nombreuses façons : recherche manuelle, recherche par grille, recherche aléatoire et optimisation bayésienne.
Attention ! Cet article est destiné à :
- Des personnes disposant d’une compréhension de base du fonctionnement des algorithmes de Deep Learning, ainsi que des techniques telles que la régularisation
- Des personnes disposant d’une compréhension de base de Python et TensorFlow
L’objectif de cet article n’est pas de vous fournir une compréhension approfondie de l’optimisation bayésienne, mais plutôt de vous en donner une compréhension de base afin que vous puissiez l’appliquer sans difficulté à l’optimisation des hyperparamètres dans les modèles de Deep learning. Aussi, nous avons essayé d’éviter autant que possible les références aux mathématiques non relatives au Deep Learning lorsque nous expliquons les principes généraux de l’optimisation bayésienne, pour autant, veuillez prendre note que certaines notions mathématiques peuvent apparaître pour étayer les explications.
Introduction
L’optimisation des hyperparamètres fait référence au problème de l’exploration de la valeur optimale d’un hyperparamètre, une valeur devant être définie à l’avance pour réaliser l’apprentissage. Dans ce contexte, la valeur optimale d’un hyperparamètre fait référence à la valeur de l’hyperparamètre conduisant aux meilleures performances généralisées du modèle d’apprentissage entraîné.
Par exemple, lors de l’entraînement d’un modèle de Deep learning, le taux d’apprentissage, la taille du mini-lot, le coefficient de régularisation L2, etc. sont des hyperparamètres typiques. Bien entendu, ces hyperparamètres sont strictement liés à l’algorithme d’apprentissage ou à la régularisation, et dans certains cas, les facteurs qui déterminent la structure d’un modèle de Deep learning (p. ex., nombre de couches, taille du filtre de convolution, etc.) peuvent également être considérés comme des hyperparamètres et ajoutés comme objets d’exploration.
Recherche manuelle
Si vous avez déjà entraîné un modèle de Deep Learning, vous avez sans aucun doute fait l’expérience de nombreux essais et erreurs dans la détermination des valeurs de ces hyperparamètres clés. Par exemple, lorsque nous terminons une implémentation du modèle AlexNet, nous commençons généralement par reprendre les hyperparamètres introduits dans l’article original d’AlexNet et les appliquons à l’apprentissage. Cependant, dans la plupart des situations, l’ensemble de données utilisé dans l’article AlexNet original et l’ensemble de données que vous souhaitez utiliser sont différents, de sorte que les valeurs d’hyperparamètre introduites dans l’article original constitue rarement la solution parfaite au problème que vous essayez de résoudre.
Face à une telle situation, vous vous appuierez généralement sur votre intuition ou sur des connaissances pratiques pour sélectionner les valeurs d’hyperparamètres candidates à essayer ensuite, effectuer un apprentissage avec celles-ci et enregistrer les résultats de performance mesurés par rapport à l’ensemble de validation. Après plusieurs répétitions de ce processus, vous choisirez probablement les valeurs d’hyperparamètre ayant le mieux fonctionné par rapport à l’ensemble de validation parmi toutes les tentatives effectuées jusqu’à ce point, afin d’entraîner le modèle de Deep learning pour la soumission finale. Cette méthode d’exploration pour des valeurs d’hyperparamètre optimales est appelée recherche manuelle.
Bien que la recherche manuelle soit la méthode la plus intuitive d’optimisation des hyperparamètres, elle présente certains problèmes. Le premier est que le processus de recherche de l’hyperparamètre « optimal » est quelque peu basé sur la chance. Par exemple, décrivons le processus de recherche manuelle pour trouver le taux d’apprentissage optimal pour un modèle de Deep learning. Il est fort probable qu’il existe une limite de temps pour ce processus, et vous serez probablement très impatient, pensant comme suit :
Je dois faire fonctionner rapidement ce modèle de Deep learning fonctionne rapidement, et mon professeur ou mon patron me met la pression, et je n’ai pas le temps… Je vais avoir des ennuis :’(
Imaginons que vous ayez un temps limité pour entraîner un modèle de Deep learning et mesurer ses performances en appliquant 9 valeurs de taux d’apprentissage différentes dans l’ordre suivant : 0,01, 0,05, 0,03, 0,02, 0,025, 0,0225, 0,0275, 0,015, 0,04, et le résultat est le meilleur résultatdans la figure ci-dessus, vous choisissez donc 0,0025
comme valeur finale du taux d’apprentissage. Ce processus d’exploration constituait probablement une application minutieuse de votre propre intuition à chaque session d’apprentissage, et il est très difficile pour quiconque de nier que les résultats d’un tel processus minutieux sont les meilleurs résultats possibles.
Mais que se passerait-il si « la fonction de performance de généralisation (inconnue) en fonction du taux d’apprentissage » ressemblait en fait à la deuxième image ci-dessus ? Bien que 0,0025 ne soit pas réellement la valeur optimale du taux d’apprentissage (les valeurs optimales se situent entre 0,003 et 0,0035), nous pouvons supposer que votre impatience et votre biais concernant le processus d’exploration manuelle existant ont conduit à des résultats décevants. Nous avons peut-être involontairement signalé une erreur que vous avez peut-être commise par le passé, mais ce n’est pas entièrement de votre faute. L’inconvénient d’une recherche manuelle basée sur la subjectivité et l’intuition est qu’il est relativement difficile de garantir que les valeurs d’hyperparamètre optimales que vous trouvez sont « réellement » optimales, ainsi qu’illustré dans l’exemple ci-dessus.
Le deuxième problème de la recherche manuelle est qu’elle devient plus compliquée lorsque vous souhaitez explorer plusieurs types d’hyperparamètres à la fois. Le meilleur exemple est la relation entre le taux d’apprentissage et le coefficient de régularisation L2.
L(W)=1N∑i=1NLi(f(xi,W),yi)+λ⋅R(W)
Le deuxième terme de la fonction de perte ci-dessus est le terme de régularisation L2, où, lorsque l’on change la valeur de λ, le coefficient de régularisation L2 (dans l’espace des paramètres W du modèle de Deep learning), la forme des fonctions de perte L(W) change également. Pour cette raison, nous pouvons supposer que la valeur du taux d’apprentissage optimal pour une performance optimale changera aussi naturellement.
Étant donné que certains de ces hyperparamètres s’influencent mutuellement, il devient très difficile d’appliquer l’intuition existante à chaque hyperparamètre lorsqu’on en explore plusieurs à la fois.
Recherche par grille vs. Recherche aléatoire
Par rapport à la recherche manuelle, la recherche par grille et la recherche aléatoire sont des moyens relativement systématiques d’effectuer une optimisation des hyperparamètres.
La recherche par grille sélectionne les valeurs d’hyperparamètre candidates à intervalles réguliers dans une plage spécifique à explorer, enregistre les performances mesurées pour chacune d’entre elles, et sélectionne ensuite la valeur d’hyperparamètre qui a montré les meilleures performances. Bien que cette méthode requiert encore une intervention humaine pour décider du nombre d’intervalles à rechercher, de la longueur à définir, etc., elle présente l’avantage d’une exploration plus uniforme et plus vaste par rapport à la recherche manuelle. Cependant, l’inconvénient de cette méthode est que le temps d’exploration global augmente de façon exponentielle à mesure que le nombre d’hyperparamètres cibles de l’exploration augmente.
D’autre part, la recherche aléatoire est globalement similaire à la recherche par grille, mais elle diffère en ce qu’elle utilise l’échantillonnage aléatoire pour sélectionner les valeurs d’hyperparamètre candidates dans l’intervalle exploré. La recherche aléatoire est connue pour trouver des valeurs d’hyperparamètre optimales plus rapidement que la recherche par grille, car elle réduit considérablement le nombre de répétitions inutiles tout en étant capable d’explorer de manière probabiliste les valeurs se situant entre les grilles désignées.
(Résultat de l’exécution de la fonction random.random de Python 10 fois par intervalles
[0.01,0.05 | ; random.seed=0)
Néanmoins, il peut être difficile de se défaire de l’impression que même une recherche aléatoire « semble encore un peu une exploration inutile ». De fait, dans la recherche par grille et la recherche aléatoire, le processus de sélection des valeurs d’hyperparamètre candidates à essayer ensuite ne reflète aucune connaissance préalable de la performance des valeurs d’hyperparamètre lors des recherches précédentes. Dans la recherche manuelle, en revanche, les connaissances antérieures sont implicitement appliquées à chaque tour.
[Bergstra et Bengio (2012)]
L’optimisation bayésienne est une méthodologie vous permettant d’effectuer systématiquement l’ensemble du processus d’exploration tout en reflétant suffisamment de connaissances préalables pour étudier efficacement de nouvelles valeurs d’hyperparamètre à chaque fois.
Optimisation bayésienne
En substance, l’optimisation bayésienne vise à trouver la solution optimale
x étant donné une fonction objectif inconnue f qui maximise la fonction
f(x) étant donné une valeur d’entrée x∗. Nous supposons généralement que nous ne connaissons pas explicitement l’expression de la fonction objectif (c.-à-d. fonction boîte noire) et que beaucoup de temps est requis pour calculer une valeur de fonction f(x). Dans cette situation, l’objectif principal est de trouver rapidement et efficacement la solution optimale qui maximise f(x), x∗ en examinant séquentiellement les valeurs de fonction pour le moins de valeurs d’entrée candidates possible.
L’optimisation bayésienne comporte deux éléments essentiels. Tout d’abord, un modèle de substitution produit une estimation probabiliste de la forme d’une fonction objectif inconnue en fonction de la valeur d’entrée et des points de valeur de fonction (x1,f(x1)),…,(xt,f(xt)) qui ont été étudiés jusque-là. La fonction d’acquisition recommande ensuite les candidats d’entrée xt+1, « les plus susceptibles d’être utiles pour trouver l’entrée optimale x∗ », sur la base de l’estimation probabiliste actuelle de la fonction objectif.
Modèle de substitution
Le modèle qui produit une estimation probabiliste de la forme approximative de la fonction objectif inconnue, basée sur la valeur d’entrée et les points de valeur de fonction (x1,f(x1)),…,(xt,f(xt)) examinés jusqu’à présent, est appelé modèle de substitution. Le modèle probabiliste le plus populaire utilisé comme modèle de substitution est le Processus gaussien (PG).
Processus gaussiens
Contrairement aux modèles de probabilité ordinaires (qui expriment des distributions de probabilité sur une variable donnée), les PG représentent des distributions de probabilité sur un ensemble de fonctions, et sont caractérisées par le fait que la distribution conjointe entre leurs composants suit une distribution gaussienne. Un PG utilise une fonction moyenne μ et une fonction de covariance k pour exprimer la distribution de probabilité sur les fonctions.
f(x)∼GP(μ(x),k(x,x′)).
Pour bien comprendre et utiliser un PG, vous devez avoir une compréhension de base des probabilités bayésiennes et être capable de comprendre des formules algébriques stochastiques/linéaires complexes. Cet article n’entrera pas dans les détails, mais se concentrera sur les caractéristiques de fonctionnement des PG et sur la manière dont ils peuvent être utilisés pour l’optimisation des hyperparamètres.
Étant donné les points de valeur de la fonction d’entrée étudiés jusqu’à présent (x1,f(x1)),…,(xt,f(xt)), PG produit une estimation probabiliste de la fonction objectif comme indiqué dans la figure ci-dessous.
(Ligne pointillée noire : fonction objectif réelle, ligne pleine noire : fonction moyenne estimée, ombrage bleu : écart-type estimé, points noirs : valeur d’entrée et points de valeur de fonction étudiés à ce jour, ligne pleine verte en bas : fonction d’acquisition) [Brochu et al. (2010)]
Dans la figure ci-dessus, si nous considérons l’axe horizontal comme la valeur d’entrée
x et l’axe vertical étant la valeur de fonction f(x), la ligne pleine noire est estimée sur la base des points (x1,f(x1)),…,(xt,f(xt)) examinés jusque-là pour montrer la « moyenne » x à chaque emplacement μμ(x), et la ligne ombrée en bleu correspond à l’« écart type » à chaque emplacement σσ(x). Pour μ μ(x), la forme est déterminée en passant nécessairement à travers les points (x1,f(x1)),…,(xt,f(xt)) qui ont été étudiés jusqu’à présent, avec σ(x) plus petit pour les emplacements plus proches des points étudiés et σ σ(x) plus grand pour les emplacements plus éloignés. L’implication naturelle de cela est que plus x est éloigné du point étudié, plus l’« incertitude » de la valeur moyenne estimée pour ce point est grande.
Dans la figure ci-dessus, lorsque t=2 du fait il n’y a que deux points de valeur d’entrée étudiés, nous pouvons observer que σ(x) est grand dans la plupart des zones qui sont au moins à une certaine distance de ces deux points. Entretemps, le nombre de points étudiés augmentant progressivement jusqu’à t=3 t=4, la taille des zones présentant de larges σ σ(x) diminue progressivement, et l’estimation de la fonction objectif réelle est progressivement compressée. Cela montre que, à mesure que le nombre de points étudiés augmente, l’incertitude quant à l’estimation de la fonction objectif diminue, et nous pouvons supposer qu’à mesure que cette tendance devient plus forte, la probabilité de trouver la valeur d’entrée X∗ maximisant le numérateur de la fonction objectif continuera d’augmenter.
Modèles de substitution autres que PG
En plus du PG, tout modèle qui peut couvrir l’incertitude dans l’estimation de la fonction objectif en fonction de la valeur d’entrée et des points de valeur de fonction étudiés jusqu’à présent peut être utilisé comme modèle de substitution. Les modèles de substitution couramment utilisés en plus des PG incluent les estimateurs de Parzen structurés en arbre (TPE) et les réseaux neuronaux profonds.
Dans le même contexte que les PG, même si vous n’avez pas une compréhension approfondie de ces modèles de substitution, si vous comprenez le contexte plus large de l’optimisation bayésienne, vous pouvez toujours effectuer l’optimisation bayésienne à l’aide des bibliothèques associées.
Fonction d’acquisition
Sur la base des estimations probabilistes du modèle de substitution de la fonction objectif à ce point, la fonction qui recommande les valeurs d’entrée candidates xt+1
est appelée la fonction d’acquisition. Il a été mentionné que la sélection de xt+1 est au final « la plus utile » pour trouver la valeur d’entrée optimale x∗ à la fonction objectif. Envisageons ce que nous entendons par « utile » dans ce contexte. À des fins d’illustration, nous avons repris la figure qui montre la situation à t=2 pendant le processus d’estimation de la fonction objectif à l’aide du PG.
Étant donné qu’il n’y a que des points (x,f(x)) qui ont été étudiés jusqu’à présent, il est plausible de prédire que la véritable valeur d’entrée optimale x∗ est plus susceptible d’être trouvée près du point avec la valeur de fonction plus grande (celle à droite sur la figure). Naturellement, une stratégie raisonnable à essayer ensuite serait de tester la zone autour du point avec la plus grande valeur de fonction parmi les points étudiés jusqu’à présent. C’est ce qu’on appelle officiellement l’« exploitation ».
Réfléchissons-y d’un point de vue différent cette fois-ci. Intuitivement, vous pouvez sentir que pour la zone qui se situe entre les deux points étudiés jusqu’à présent et qui présente un écart type important (=incertitude) Σ Σ(X), il sera très difficile de garantir que la valeur moyenne estimée de la fonction dans cette partie sera similaire à la valeur réelle de la fonction cible. De cette perspective, il est plausible de penser qu’il existe une possibilité que la valeur d’entrée optimale X∗ existe dans ce domaine incertain, et nous devrions l’explorer plus en détail, et c’est donc une stratégie raisonnable d’essayer à côté du point avec le plus grand écart-type par rapport à la fonction objectif estimée jusqu’à présent. C’est ce qu’on appelle officiellement l’« exploration ».
Bien que les stratégies d’exploration et d’exploitation soient des approches tout aussi importantes pour trouver efficacement la valeur d’entrée optimale x∗, le problème est que la nature des deux stratégies est un compromis. Ainsi, un ajustement approprié de l’intensité relative du compromis exploration/exploitation est essentiel pour identifier avec succès l’entrée optimale de la fonction objectif réelle.
Amélioration attendue (EI)
La fonction d’amélioration attendue (EI) est conçue pour inclure certains aspects des stratégies d’exploration et d’exploitation, et est le plus souvent utilisée comme fonction d’acquisition. Sur la base de la fonction objectif estimée à ce point, pour toute entrée candidate x, en tenant compte de la probabilité d’amélioration (PI) de la production d’une valeur de fonction f(x1),…,f(xt) supérieure à la sortie maximale f(x+)=maxif(xi) des points examinés jusque-là et de l’ampleur de la différence entre cette valeur de fonction et F(X+), l’EI produit un nombre qui représente l’« utilité » de cette valeur d’entrée x. Examinons ici la figure ci-dessous pour comprendre le concept de PI.
Dans la figure ci-dessus, la plus grande valeur de fonction f(x+) des points étudiés jusque-là survient au point situé à l’extrême droite. Ici, pour la valeur d’entrée candidate x3, qui est plus à droite, la distribution de probabilité de
f(x3) (le long de l’axe vertical) sur la base de l’estimation probabiliste peut être représenté comme une distribution gaussienne asymétrique, comme illustré sur la figure.
Par ailleurs, la zone de la distribution de probabilité de f(x3) qui correspond à des valeurs supérieures à f(x+) est ombrée en vert sur la figure. La taille plus grande de cette zone indique que f(x3) est plus susceptible d’être plus grand que f(x+), ce qui conduit à la conclusion que le fait de prendre x3 comme valeur d’entrée suivante est plus susceptible de produire une valeur de fonction plus grande que les points existants, et que pour trouver l’entrée optimale x∗ pour la fonction objectif, x3 est le candidat « le plus utile ».
La valeur PI calculée pour la valeur d’entrée x3 est ensuite pondérée pour la fonction f(x3), par la différence entre la moyenne μ μ(x3) et f
(x+),f(x3)−f(x+), pour enfin calculer la valeur EI pour x3. Il est important de trouver un point ayant une probabilité plus élevée d’obtenir une valeur de fonction plus importante que les points existants, mais si cette probabilité existe, il est également important de prendre en compte la taille réelle de cette valeur, et ce calcul est censé refléter cela.
À titre de référence, la formule pour EI lors de l’utilisation d’un PG peut être résumée et exprimée comme suit (après un long processus de dérivation). Dans la formule ci-dessous, les termes
Φ et ϕϕ désignent respectivement la fonction de distribution cumulée (CDF) et la fonction de distribution de probabilité (PDF) de la distribution normale standard, et ξis est un paramètre qui contrôle la force relative entre l’exploration et l’exploitation. Plus ξis est grand, plus l’exploration est forte, et plus il est petit, plus l’exploitation est forte.
Pour la situation à t=4 dans le processus d’estimation de la fonction objectif en utilisant le PG ci-dessus, le résultat du calcul de la valeur d’EI pour chaque valeur d’entrée x, EI(
x) à l’aide de la formule EI ci-dessus, s’affiche sous la forme d’une ligne verte continue au bas de la figure ci-dessous.
En effet, on peut observer simultanément dans le chiffre que la valeur d’EI est importante (stratégie d’exploitation) autour du point x+, qui a la plus grande valeur de fonction parmi les points étudiés jusqu’à présent, et que la valeur EI est également importante autour du point avec l’écart-type le plus important σσ(x) sur la fonction objectif estimée jusqu’à présent (stratégie d’exploration).
EI(x)=E[max(f(x)−f(x+),0)]={(μ(x)−f(x+)−ξ)Φ(Z)+σ(x)ϕ(Z) ifσ(x)>00ifσ(x)=0
Fonctions d’acquisition autres que EI
La probabilité d’amélioration (PI) est une fonction d’acquisition qui a été proposée plus tôt que EI, qui reflète uniquement la probabilité de dériver une valeur de fonction supérieure à la valeur de fonction maximale des points étudiés jusque-là parmi les considérations de l’EI. Parmi les autres fonctions d’acquisition couramment utilisées, on peut citer la borne de confiance supérieure (UCB) et la recherche entropique (ES).
Effectuer une optimisation bayésienne pour explorer les hyperparamètres dans les modèles de Deep Learning
Jusqu’à présent, nous avons abordé les éléments essentiels de l’optimisation bayésienne et leur fonctionnement. Maintenant, observons plus en détail un scénario dans lequel l’optimisation bayésienne est appliquée lors de l’exploration des hyperparamètres d’un modèle de Deep Learning. Par souci de commodité, seul le taux d’apprentissage est discuté ici comme hyperparamètre à explorer.
(Résultats des 3 premiers tours (n=3) sur l’intervalle [0,01,0,09], pour un total de 11 (N=11) points ;
haut : résultats de l’estimation stochastique par PG de la fonction objectif f(x), bas : résultats du calcul de la fonction EI pour l’estimation stochastique ;
en utilisant la bibliothèque d’optimisation bayésienne, random_seed=1)
- Définit la valeur d’entrée, la fonction objectif et d’autres paramètres.
- Valeur d’entrée x : valeur d’apprentissage Fonction objectif f(x)
- Résultats de performance (par ex., précision) sur un ensemble de validation pour un modèle de Deep learning appris en appliquant un taux d’apprentissage défini
- Intervalles cibles de la valeur d’entrée x explorés : (a,b)
- Nombre de points de valeur d’entrée et de valeur de fonction à étudier en premier : n
- Nombre maximum de points de valeur d’entrée et de valeur de fonction à rechercher jusqu’au dernier tour : N
- Dans l’intervalle cible d’exploration défini (a,b), les n
valeurs d’entrée initialement sélectionnées sont échantillonnées et sélectionnées de manière aléatoire. - Après avoir entraîné le modèle de Deep learning en définissant les valeurs de taux d’apprentissage pour chacune des n entrées sélectionnées x1,x2,…,xn, il faut calculer les résultats de performance du modèle appris à l’aide de l’ensemble de validation. Chacune de ces valeurs est considérée comme une valeur de fonction f(x1),f(x2),…,f(xn). Les n valeurs d’entrée sont échantillonnées et sélectionnées de manière aléatoire.
- L’estimation probabiliste est effectuée à l’aide du modèle de substitution sur la collecte des points de valeur d’entrée et de la valeur de fonction (x1,f(x1)),(x2,f(x2)),…,(xn,f(xn)).
- Jusqu’à ce que vous atteigniez un total de NN points de valeur d’entrée et de valeur de fonction inspectés, le processus ci-dessous est répété pour t=n,n + 1,…,N − 1.
- Sur la base des résultats de l’estimation probabiliste du modèle de substitution pour la collecte (x1,f(x1)),(x2,f(x2)),…,(xt,f(xt)) des points de valeur d’entrée et de fonction existants, calculez la valeur EI dans l’intervalle d’entrée (a,b) et sélectionnez le point avec la valeur la plus grande comme candidat de valeur d’entrée suivante xt+1.
- Après avoir entraîné le modèle de Deep learning avec la valeur d’entrée candidate xt +1 suivante comme valeur de taux d’apprentissage, utilisez l’ensemble de validation pour calculer le résultat de performance pour le modèle appris et considérez-le comme la valeur f(xt +1).
- Ajoutez les nouveaux points (xt+1, f(xt+1)) à la collection existante de points de valeur d’entrée et de valeur de fonction et effectuez une estimation probabiliste avec le modèle de substitution à nouveau sur la collection de points mise à jour.
Sur la base des résultats de la fonction objectif estimés de manière probabiliste sur un total de N points de valeur d’entrée et de valeur de fonction, sélectionnez la solution optimale maximisant la fonction moyenne μ μ(x),x∗. Plus tard, si vous effectuez un apprentissage sur un modèle de Deep learning en utilisant la valeur x∗ comme taux d’apprentissage, vous obtiendrez un modèle avec des performances de généralisation maximisées.
Conclusion
L’optimisation des hyperparamètres en deep learning fait référence au problème de l’exploration de la valeur optimale d’un hyperparamètre, une valeur qui doit être définie à l’avance pour effectuer l’apprentissage sur un modèle de Deep learning. Les hyperparamètres typiques pour l’entraînement des modèles de Deep learning comprennent le taux d’apprentissage, la taille de mini-lot, le coefficient de régularisation L2.
La méthode la plus simple et la plus intuitive pour l’optimisation des hyperparamètres est la recherche manuelle couramment utilisée, qui implique de sélectionner subjectivement les valeurs des hyperparamètres candidates à essayer à chaque tour, d’apprendre avec elles et d’enregistrer les résultats de performance mesurés par rapport à un ensemble de validation. Cette méthode présente un inconvénient dans la mesure où il est relativement difficile de trouver des valeurs d’hyperparamètre optimales en raison du biais implicite de l’expérimentateur dans le processus de recherche de l’hyperparamètre optimal. Bien que la recherche par grille et la recherche aléatoire puissent compenser les lacunes de la recherche manuelle, elles sont limitées dans la mesure où elles ne reflètent aucune connaissance antérieure acquise au cours de l’enquête sur les hyperparamètres.
L’optimisation bayésienne est une méthodologie d’optimisation des hyperparamètres pouvant rendre le processus d’exploration global plus systématique tout en reflétant suffisamment de connaissances antérieures lors de l’examen de nouvelles valeurs d’hyperparamètre à chaque fois. Un modèle de substitution, l’un des deux composants de l’optimisation bayésienne, fait une estimation probabiliste d’une fonction objectif inconnue basée sur la valeur d’entrée et les points de valeur de fonction examinés jusqu’à présent. Un exemple typique est le Processus gaussien (PG). Entretemps, la fonction d’acquisition recommande la prochaine valeur d’entrée candidate qui est la plus susceptible d’être utile pour trouver la valeur d’entrée optimale basée sur l’estimation probabiliste actuelle de la fonction objectif. Un exemple typique est l’amélioration attendue (EI).
Utiliser l’optimisation bayésienne pour l’optimisation des hyperparamètres des modèles de Deep learning en appliquant des hyperparamètres pour explorer les valeurs optimales comme valeur d’entrée de l’optimisation bayésienne et en utilisant les résultats de performance de l’ensemble de validation d’un modèle de Deep learning appris en appliquant des valeurs d’hyperparamètre spécifiques comme valeur de fonction de la fonction objectif.
*Dans la partie suivante, nous allons nous appuyer sur les connaissances acquises jusqu’à présent et passer en revue le processus d’exploration de la solution optimale d’une simple fonction exemple utilisant l’optimisation bayésienne, une bibliothèque Python pour l’optimisation bayésienne réelle, et ensuite explorer les hyperparamètres optimaux d’un modèle de Deep Learning réel.
Références
- Shahriari, Bobak, et al. « Taking the human out of the loop: A review of bayesian optimization » Proceedings of the IEEE 104.1 (2016): 148-175.
- Brochu, Eric, Vlad M. Cora, and Nando De Freitas. « A tutorial on Bayesian optimization of expensive cost functions, with application to active user modeling and hierarchical reinforcement learning » arXiv preprint arXiv:1012.2599 (2010).
- Bengio, Yoshua. « Practical recommendations for gradient-based training of deep architectures » Réseaux neuronaux : Tricks of the trade. Springer, Berlin, Heidelberg, 2012. 437-478.
- Goodfellow, Ian, et al. Deep Learning. Vol. 1. Cambridge: MIT press, 2016.
- Bergstra, James, and Yoshua Bengio. « Random search for hyper-parameter optimization » Journal of Machine Learning Research 13. Feb (2012): 281-305.
- Fernando Nogueira, bayesian-optimization: Une implémentation Python de l’optimisation globale avec des processus gaussiens.
- Recherche des optima, amélioration attendue pour l’optimisation bayésienne : Une dérivation.