Esiste una tecnica basata sulla discesa del gradiente per la ricerca del minimo assoluto (massimo) di una funzione nello spazio multidimensionale?


11

Conosco l'algoritmo di discesa gradiente che può trovare il minimo locale (massimo) di una determinata funzione.

C'è qualche modifica della discesa del gradiente che consente di trovare il minimo assoluto (massimo), dove la funzione ha diversi estremi locali?

Esistono tecniche generali, come migliorare un algoritmo in grado di trovare un estremo locale, per trovare un estremo assoluto?


Potresti voler controllare Cross Validated o le domande e risposte AI collegate dalle FAQ .
Kaveh,

Penso che sia uno degli svantaggi della discesa del gradiente: può rimanere bloccato negli estremi locali. Altre tecniche come la ricottura simulata potrebbero essere meno suscettibili a questo, ma non posso ancora fornire garanzie, da quello che ho capito.
Joe,

1
Non sono sicuro di cosa abbia a che fare lo "spazio multidimensionale". anche una funzione per R può avere estremi locali multipli con cui la ricerca del gradiente avrà problemi.
Suresh Venkat,

Sono abbastanza sicuro che ci sia un teorema lungo le linee che se la funzione è continua e campionata in punti sufficienti, puoi garantire che la discesa del gradiente troverà il minimo globale a partire da un certo punto. vale a dire qualcosa sulla falsariga dell'algoritmo di Powell. la letteratura è così vasta che un teorema come questo è probabilmente pubblicato da qualche parte, ma non ne ha mai sentito parlare. dimostra anche che l'ottimizzazione locale può avvicinarsi agli ottimum globali con un campionamento sufficiente, man mano che aumenta il campionamento.
vzn,

in qualche modo correlati si vedano anche i commenti qui che sostengono fermamente che gli approcci NN globali o metodi numerici / tipo euristico non sono "algoritmi di approssimazione"
vzn

Risposte:


17

Presumo che tu stia parlando di minimizzazione senza limiti. La tua domanda dovrebbe specificare se stai prendendo in considerazione una struttura specifica del problema. Altrimenti, la risposta è no.

Per prima cosa dovrei sfatare un mito. Il classico metodo di discesa a gradiente (chiamato anche metodo di discesa più ripido ) non è nemmeno garantito per trovare un minimizzatore locale. Si ferma quando ha trovato un punto critico del primo ordine, cioè uno in cui il gradiente svanisce. A seconda della funzione particolare che viene minimizzata e del punto di partenza, potresti benissimo finire in un punto di sella o anche in un massimizzatore globale!

Consideriamo ad esempio e il punto iniziale ( x 0 , y 0 ) : = ( 1 , 0 ) . La direzione di discesa più ripida è - f ( 1 , 0 ) = ( - 2 , 0 ) . Un passaggio del metodo con la ricerca esatta della riga ti lascia a ( 0 , 0 )f(x,y)=x2y2(x0,y0):=(1,0)f(1,0)=(2,0)(0,0)dove svanisce il gradiente. Ahimè, è un punto di sella. Lo capiresti esaminando le condizioni di ottimalità del secondo ordine. Ma ora immagina che la funzione sia . Qui, ( 0 , 0 ) è ancora un punto di sella, ma numericamente, le condizioni del secondo ordine potrebbero non dirti. In generale, supponiamo che si determini che l'Assia 2 f ( x , y ) ha un autovalore pari a - 10 -f(x,y)=x21016y2(0,0)2f(x,y) . Come lo leggi? È una curvatura negativa o un errore numerico? Che ne dici di+ 10 - 16 ?1016+1016

Considera ora una funzione come

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

x0=2

Ora praticamente tutti i metodi di ottimizzazione basati sul gradiente ne soffrono a causa della progettazione. La tua domanda riguarda davvero l'ottimizzazione globale . Ancora una volta, la risposta è no, non ci sono ricette generali per modificare un metodo in modo da garantire che venga identificato un minimizer globale. Chiediti: se l'algoritmo restituisce un valore e dice che è un minimizer globale, come verifichi che sia vero?

Esistono classi di metodi nell'ottimizzazione globale. Alcuni introducono randomizzazione. Alcuni usano strategie multi-start. Alcuni sfruttano la struttura del problema, ma quelli sono per casi speciali. Raccogli un libro sull'ottimizzazione globale. Ti piacerà.


@Roman: molto gradito.
Dominique,

3

Probabilmente non esiste una risposta valida per tutti alla tua domanda. Ma potresti voler esaminare algoritmi di ricottura simulati o altri approcci che si basano sui metodi Monte Carlo (MCMC) della catena Markov. Questi possono anche essere combinati con metodi locali come la discesa gradiente.


1

ci sono molti riferimenti su "ottimizzazione globale delle reti neurali". le tecniche sono simili alla ricottura simulata [vedi altra risposta]. l'idea di base è quella di riavviare la discesa del gradiente di rete partendo da molti punti di partenza di peso diversi, campionati in modo casuale o sistematico. ogni risultato della discesa del gradiente è quindi come un "campione". più campioni vengono prelevati, maggiore è la probabilità che uno dei campioni sia l'ottimale globale, soprattutto se la funzione target è "ben educata" nel senso di continuo, differenziabile, eccetera.

riferimenti online

[1] Ottimizzazione globale dei pesi delle reti neurali di Hamm et al

[2] Un approccio di ottimizzazione globale alla formazione della rete neurale Voglis / Lagaris

[3] Calibrazione di reti neurali artificiali mediante Global Optimization Pinter

[4] Ottimizzazione globale delle reti neurali mediante un approccio ibrido deterministico Beliakov

[5] Ottimizzazione globale per la formazione della rete neurale Shang / Wah


1

In generale, è computazionalmente difficile ottimizzare le funzioni non convesse multivariate. La durezza è disponibile in diversi gusti (crittografico, NP-duro). Un modo di vedere ciò è che i modelli di miscele (come miscele di guassiani o HMM) sono difficili da imparare, ma sarebbero facili (*) se fosse possibile massimizzare in modo efficiente la probabilità. Per risultati sulla durezza dell'apprendimento degli HMM, vedere 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 le solite condizioni di non degenerazione e identificabilità


0

devo essere in disaccordo con Dominique. è stato dimostrato da hajek a metà degli anni '80 che la ricottura di un problema non convesso in determinate condizioni rigorose è garantita per raggiungere il minimo globale: http://dx.doi.org/10.1287/moor.13.2.311


2
Alla luce dei risultati di durezza sopra menzionati, tali condizioni devono essere piuttosto severe!
Aryeh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.