Existe-t-il une technique basée sur la descente de gradient pour rechercher le minimum absolu (maximum) d'une fonction dans un espace multidimensionnel?

11

Je connais l'algorithme de descente de gradient qui peut trouver le minimum local (maximum) d'une fonction donnée.

Y a-t-il une modification de la descente du gradient qui permet de trouver le minimum absolu (maximum), où la fonction a plusieurs extrema locaux?

Existe-t-il des techniques générales, comment améliorer un algorithme qui peut trouver l'extremum local, pour trouver l'extremum absolu?

romain
la source
Vous voudrez peut-être vérifier la validation croisée ou les questions et réponses de l'IA liées à partir de la FAQ .
Kaveh
Je pense que c'est l'un des inconvénients de la descente de gradient - il peut rester coincé dans les extrema locaux. D'autres techniques comme le recuit simulé peuvent être moins sensibles à cela, mais ne peuvent toujours pas donner de garanties, d'après ce que je comprends.
Joe
1
Je ne sais pas ce que «l'espace multidimensionnel» a à voir avec cela. même une fonction à R peut avoir plusieurs extrema locaux avec lesquels la recherche de gradient aura des problèmes.
Suresh Venkat
Je suis presque sûr qu'il existe un théorème selon lequel si la fonction est continue et échantillonnée à suffisamment de points, vous pouvez garantir que la descente en gradient trouvera le minimum global à partir d'un certain point. c'est-à-dire quelque chose dans le sens de l'algorithme de Powell. la littérature est si vaste qu'un théorème comme celui-ci est probablement publié quelque part, mais n'en a jamais entendu parler. cela prouve également que l'optimisation locale peut approcher les optimums mondiaux avec un échantillonnage suffisant, à mesure que l'échantillonnage augmente.
vzn
quelque peu apparenté voir aussi les commentaires ici qui soutiennent fortement que le NN global ou les approches de type méthode numérique / heuristique ne sont pas des "algorithmes d'approximation"
vzn

Réponses:

17

Je suppose que vous parlez de minimisation sans contrainte. Votre question doit préciser si vous envisagez une structure de problème spécifique. Sinon, la réponse est non.

Je dois d'abord dissiper un mythe. La méthode classique de descente en gradient (également appelée méthode de descente la plus raide ) n'est même pas garantie de trouver un minimiseur local. Il s'arrête lorsqu'il a trouvé un point critique de premier ordre, c'est-à-dire un point où le gradient disparaît. Selon la fonction particulière minimisée et le point de départ, vous pouvez très bien vous retrouver à un point de selle ou même à un maximiseur global!

Considérons par exemple et le point initial . La direction de descente la plus abrupte est . Une étape de la méthode avec recherche de ligne exacte vous laisse à où le gradient disparaît. Hélas, c'est un point de selle. Vous vous en rendriez compte en examinant les conditions d'optimalité de second ordre. Mais imaginez maintenant que la fonction est . Ici, est toujours un point de selle, mais numériquement, les conditions de second ordre peuvent ne pas vous le dire. En général, supposons que vous déterminez que la Hesse a une valeur propre égale àf(x,y)=x2y2(x0,y0):=(1,0)f(1,0)=(2,0)(0,0)f(x,y)=x21016y22 f ( x * , y * ) - dix - seize + dix - seize(0,0)2f(x,y)1016. Comment le lisez-vous? S'agit-il d'une courbure négative ou d'une erreur numérique? Que diriez-vous de ?+1016

Considérons maintenant une fonction telle que

f(x)={1if x0cos(x)if 0<x<π1if xπ.

Cette fonction est parfaitement fluide, mais si votre point initial est , l'algorithme s'arrête à un maximiseur global. Et en vérifiant les conditions d'optimalité du second ordre, vous ne le sauriez pas! Le problème ici est que certains minimiseurs locaux sont des maximiseurs globaux!x0=2

Désormais, pratiquement toutes les méthodes d'optimisation basées sur le gradient en souffrent par leur conception. Votre question concerne vraiment l'optimisation globale . Encore une fois, la réponse est non, il n'y a pas de recettes générales pour modifier une méthode afin de garantir qu'un minimiseur global est identifié. Demandez-vous simplement: si l'algorithme renvoie une valeur et dit qu'il s'agit d'un minimiseur global, comment vérifieriez-vous que c'est vrai?

Il existe des classes de méthodes dans l'optimisation globale. Certains introduisent la randomisation. Certains utilisent des stratégies à départs multiples. Certains exploitent la structure du problème, mais ce sont des cas particuliers. Prenez un livre sur l'optimisation globale. Vous l'apprécierez.

Dominique
la source
@Roman: Très bienvenu.
Dominique
3

Il n'y a probablement pas de réponse unique à votre question. Mais vous voudrez peut-être étudier les algorithmes de recuit simulé ou d'autres approches qui s'appuient sur les méthodes de la chaîne de Markov Monte Carlo (MCMC). Celles-ci peuvent également être combinées avec des méthodes locales comme la descente de gradient.

mrig
la source
1

il existe de nombreuses références sur "l'optimisation globale des réseaux de neurones". les techniques sont similaires au recuit simulé [voir autre réponse]. l'idée de base est de redémarrer la descente du gradient du réseau à partir de nombreux points de départ de poids différents, échantillonnés de manière aléatoire ou systématique. chaque résultat de la descente de gradient est alors comme un "échantillon". plus il y a d'échantillons, plus il est probable que l'un des échantillons soit l'optimum global, surtout si la fonction cible est "bien comportée" dans le sens de continu, différenciable, etc.

refs en ligne

[1] Optimisation globale des poids des réseaux de neurones par Hamm et al

[2] Une approche d'optimisation globale de la formation des réseaux de neurones Voglis / Lagaris

[3] Calibration des réseaux de neurones artificiels par Global Optimization Pinter

[4] Optimisation globale des réseaux de neurones à l'aide d'une approche hybride déterministe Beliakov

[5] Optimisation globale pour la formation des réseaux de neurones Shang / Wah

vzn
la source
1

En général, il est difficile sur le plan informatique d'optimiser les fonctions non convexes multivariées. La dureté se décline en différentes saveurs (cryptographiques, NP-hard). Une façon de voir cela est que les modèles de mélange (tels que le mélange de Guassiens ou de HMM) sont difficiles à apprendre, mais seraient faciles (*) s'il était possible de maximiser efficacement la probabilité. Pour les résultats sur la dureté de l'apprentissage des HMM, voir http://alex.smola.org/journalclub/AbeWar92.pdf http://link.springer.com/chapter/10.1007%2F3-540-45678-3_36 http: // www.math.ru.nl/~terwijn/publications/icgiFinal.pdf

(*) modulo les conditions habituelles de non-génération et identifiabilité

Aryeh
la source
0

je dois être en désaccord avec Dominique. il a été démontré par hajek au milieu des années 1980 que le recuit d'un problème non convexe dans certaines conditions strictes est garanti d'atteindre le minimum global: http://dx.doi.org/10.1287/moor.13.2.311

Aaron Brick
la source
2
Au vu des résultats de dureté mentionnés ci-dessus, ces conditions doivent en effet être assez strictes!
Aryeh