È noto che alcuni problemi di ottimizzazione sono equivalenti al time-stepping?


19

Dato uno stato desiderato y0 e un parametro di regolarizzazione βR , considerare il problema di trovare uno stato y e un controllo u per minimizzare un funzionale

12yy02+β2u2
soggetto al vincolo
Ay=u.
dove per semplicità possiamo pensare ay,y0,uRneARn×n.

Formando il Lagrangiano, cercando punti stazionari ed eliminando il controllo u otteniamo le condizioni del primo ordine

ATλ=y0yAy=1βλ
Premoltiplicando per A nella prima equazione e AT nella seconda, possiamo scrivere le equazioni normali
(I+βAAT)λ=βAy0(I+βATA)y=y0
Possiamo interpretarli come singoli passaggi di approssimazioni di Eulero arretrate alle equazioni differenziali
λb=AATλ+Ay0,λ(0)=0yb=ATAy,y(0)=y0
con pseudotimestep β .

La mia domanda: questa connessione è ben nota? È discusso in trattamenti standard di timestrap o ottimizzazione? (Per me, sembra fornire una sorta di connessione intuitiva tra di loro.)

L'idea sembra abbastanza semplice da essere ben nota, ma né la ricerca in letteratura né il parlare con le persone mi hanno dato una buona fonte di cui si discute. Il più vicino che ho trovato è un articolo di O. Scherzer e J. Weichert (J. Math Imaging Vision 12 (2000) pp. 43-63) che afferma la connessione nella prima frase dell'abstract (!) Ma non fornire riferimenti o esplorare la connessione in qualsiasi profondità.

Idealmente sto cercando un riferimento che non solo dichiari la connessione ma esplori anche alcune conseguenze (ad esempio, si potrebbe immaginare di precondizionare un problema di ottimizzazione con un passo avanti di Eulero a buon mercato).


1
In linea di massima (e come probabilmente già sapete), gli approcci pseudo-temporali sono metodi ben noti per risolvere equazioni algebriche (come il sistema KKT che descrivete), lanciando il problema come trovare lo stato stazionario di un insieme di ODE in cui la variabile del tempo è davvero uno pseudo-tempo. Tuttavia, non sono a conoscenza di alcuna connessione specifica relativa a un'istanza specifica delle condizioni KKT a un singolo passaggio di Eulero all'indietro.
Geoff Oxberry,

Per inciso, devi solo risolvere uno dei due ODE, poiché puoi usare una delle condizioni necessarie del primo ordine per calcolare, ad esempio, da . λyλ
Christian Clason,

Risposte:


17

Come menzionato da Jed Brown, la connessione tra la discesa del gradiente nell'ottimizzazione non lineare e il time stepping dei sistemi dinamici viene riscoperta con una certa frequenza (comprensibilmente, poiché è una connessione molto soddisfacente alla mente matematica poiché collega due campi apparentemente diversi). Tuttavia, raramente risulta essere una connessione utile , soprattutto nel contesto che descrivi.

In problemi inversi, le persone sono interessate a risolvere il (mal posto) equazione operatore con non nella gamma di . (Il tuo problema di controllo ottimale può essere visto come un'istanza di esso con e .) Diverse strategie di regolarizzazione (come Tikhonov o Landweber) possono essere interpretate come un singolo pseudo-tempo passaggio di una certa classe. L'idea è quindi di utilizzare l'interpretazione del parametro di regolarizzazione come lunghezza di un passo per ottenere alcune regole di scelta (adattativa, a posteriori) per il parametro - un problema fondamentale in problemi inversi - e possibilmente per fare più passaggi pseudo-tempo per avvicinare la vera soluzione non regolamentata (in modo simile ay δ F F = A - 1F(u)=yδyδFF=A1yδ=y0continuazione numerica ). Questo a volte viene chiamato regolarizzazione continua e di solito viene discusso nel contesto dei metodi di impostazione dei livelli; vedere, ad esempio, il capitolo 6.1 di Kaltenbacher, Scherzer, Neubauer: Metodi di regolarizzazione iterativa per problemi non lineari mal posti (de Gruyter, 2008).

Un secondo contesto in cui questa idea ripetutamente è l'ottimizzazione non lineare: se si osserva un passaggio di discesa gradiente per , allora si può interpretare questo come un avanti passo Eulero per il sistema dinamico Come ha sottolineato Jed Brown, questo a prima vista produce solo l'osservazione non molto sorprendente che questo metodo converge, a condizione che i passi pseudo-tempo siano abbastanza piccoli. La parte interessante arriva quando guardi il sistema dinamico e ti chiedi quali proprietà la soluzione continua del cosiddetto flusso di gradientex k + 1 = x k - γ kf ( x k ) , ˙ xminxf(x)

xk+1=xkγkf(xk),
γ k
x˙(t)=f(x(t)),x(0)=x0.
γkx(t)ha (o dovrebbe avere), indipendentemente dalla discesa del gradiente, e se ciò potrebbe non portare a metodi più appropriati di time stepping (e quindi ottimizzazione) rispetto allo standard Euler. Alcuni esempi dalla parte superiore della mia testa:
  1. Esiste uno spazio funzionale naturale in cui vive il flusso del gradiente? In tal caso, il gradiente dovrebbe essere preso dallo stesso spazio (cioè, la discretizzazione dovrebbe essere conforme). Ciò porta, ad esempio, a calcolare le rappresentazioni di Riesz del gradiente rispetto ai diversi prodotti interni (a volte chiamati gradienti di Sobolev ) e, in pratica, a iterazioni precondizionate che convergono molto più velocemente.

  2. Forse dovrebbe appartenere non a uno spazio vettoriale, ma a una varietà (ad es. Matrici definite positive simmetriche), oppure il flusso del gradiente dovrebbe conservare una certa norma di . In questo caso, potresti provare ad applicare schemi di time-stepping che preservano la struttura (ad esempio, comportando un pull-back rispetto a un gruppo di Lie appropriato o un integratore geometrico).xx

  3. Se non è differenziabile ma convesso, il passo di Eulero in avanti corrisponde a un metodo di discesa di grado inferiore che può essere molto lento a causa delle restrizioni sulla dimensione del passo. D'altra parte, un passaggio implicito di Eulero corrisponde a un metodo del punto prossimale , per il quale non si applicano tali restrizioni (e che sono quindi diventate molto popolari, ad esempio, nell'elaborazione delle immagini).f

  4. Allo stesso modo, tali metodi possono essere significativamente accelerati mediante passaggi di estrapolazione. Un modo per motivarli è osservare che i metodi standard del primo ordine soffrono di dover fare molti piccoli passi vicino ai minimizzatori, perché le direzioni del gradiente "oscillano" (pensate all'illustrazione standard per cui i gradienti coniugati superano la discesa più ripida). Per rimediare a ciò, si può "smorzare" l'iterazione non risolvendo un sistema dinamico del primo ordine, ma un sistema smorzato del secondo ordine : per opportunamente scelto . Con la corretta discretizzazione, ciò porta a un'iterazione (nota come metodo della palla pesante di Polyak ) della forma

    a1x¨(t)+a2x˙(t)=f(x(t))
    a1,a2
    xk+1=xkγkf(xk)+αk(xkxk1)
    (con seconda di ). Idee simili esistono per i metodi dei punti prossimali, vedi, ad esempio, il documento http://arxiv.org/pdf/1403.3522.pdf di Dirk Lorenz e Thomas Pock.a 1 , a 2γk,αka1,a2

(Dovrei aggiungere che per quanto ne so, nella maggior parte di questi casi l'interpretazione come sistema dinamico non era strettamente necessaria per la derivazione o la prova di convergenza dell'algoritmo; si potrebbe sostenere che idee come "implicito vs. esplicito" o derivati ​​di Lie sono in realtà più fondamentali dei sistemi dinamici o dei metodi di discesa del gradiente. Tuttavia, non fa mai male avere un altro punto di vista da cui guardare un problema.)


EDIT: Mi sono appena imbattuto in un eccellente esempio del secondo contesto, in cui l'interpretazione ODE viene utilizzata per dedurre le proprietà del metodo extragradiente di Nesterov e suggerire miglioramenti: http://arxiv.org/pdf/1503.01243.pdf (Nota che questo è anche un esempio del punto di Jed Brown, in cui gli autori riscoprono essenzialmente il punto 4 sopra senza apparentemente essere a conoscenza dell'algoritmo di Polyak.)

EDIT 2: E come indicazione di quanto lontano puoi portarlo, vedi pagina 5 di http://arxiv.org/pdf/1509.03616v1.pdf .


Accetto questa risposta perché il secondo paragrafo risponde più direttamente alla domanda che stavo cercando di porre, ma mi è piaciuta anche la risposta di Jed Brown.
Andrew T. Barker,

13

Mentre non ho visto la formulazione esatta che hai scritto qui, continuo a vedere discorsi in cui le persone "riscoprono" una connessione all'integrazione di un sistema transitorio e procedono a scrivere un algoritmo che è algebricamente-equilavent a una forma o un altro di una discesa gradiente esistente o un metodo simile a Newton, e non riescono a citare qualcun altro. Penso che non sia molto utile perché la conclusione è fondamentalmente che "fintanto che prendi abbastanza piccoli passi, il metodo alla fine converge al minimo locale". Bene, il 2014 segna il 45 ° anniversario del lavoro di Philip Wolfe che mostra come farlo in linea di principio. Esiste anche una buona teoria per ottenere la convergenza q-quadratica o q-superlineare dalla continuazione pseudotrasparente e metodi correlati come Levenberg-Marquardt.

Se desideri un'istanza di questa riscoperta usando una formulazione simile a Newton per risolvere equazioni algebriche (cioè, continuazione pseudotransitoria classica) da un matematico con più di 600 articoli (quindi forse dimostrerà cose che trovi interessanti), guarda il " Metodo dei sistemi dinamici "di AG Ramm [1].

Se l'intuizione acquisita considerando un sistema transitorio portasse a algoritmi pratici che fossero più veloci o più affidabili, penso che vedremmo articoli molto citati sull'argomento. Penso che non sia un mistero che Nocedal e Wright abbiano oltre 13000 citazioni mentre il libro di Ramm ne ha circa 80 (per lo più citazioni di sé).

[1] Posso consigliarti di non informare il Prof. Ramm che il suo DSM è algebricamente equivalente a qualcosa che è stato in innumerevoli pacchetti di ingegneria per decenni o potresti farti urlare fuori dalla stanza. #gradstudentmemories


3
Potrebbe essere più interessante vederti dirglielo adesso, Jed!
Bill Barth,

0

Se i metodi ODE possono contribuire all'ottimizzazione, c'è un problema di esempio davvero semplice da mostrare?
Un uomo di paglia: c'è un risolutore ODE che fa un lavoro ragionevole su o come Christian Clason suggerisce per dire la funzione Rosenbrock, in 2D o 10d? Se è sciocco, qualcuno ha un uomo di paglia migliore? (Nota "ragionevole", non "competitivo con gli ottimizzatori all'avanguardia". Immagino che uno abbia bisogno di ridurre le dimensioni / tolleranza del gradino e forse un risolutore rigido.)
x˙=f(x)
fx¨=βx˙αf(x)  
f

In pratica, i passaggi "troppo grandi" sono molto più problematici di "troppo piccoli" - le oscillazioni sono disordinate.
Avrei pensato ingenuamente che la teoria del controllo potesse aiutare. Ricette numeriche p. 915 descrive il
controllo adattivo delle misure PI per ODE, ma non so se questo sia usato in pratica.


Sembra che tu stia inserendo una nuova domanda come risposta ... Le domande tangenzialmente correlate dovrebbero essere pubblicate in domande o commenti separati alle risposte fornite.
Paul

@Paul, ha senso per niente? In tal caso, potresti suggerire un titolo per una nuova domanda?
denis,

Sono confuso ... Potrei sbagliarmi, ma sembra che la tua risposta non sia proprio la domanda del PO. Qual è esattamente il messaggio che stai cercando di trasmettere e come si collega alla domanda originale?
Paul

@Paul, scusa non sono chiaro. La domanda, a quanto ho capito, richiede una relazione tra un particolare problema di ottimizzazione e i solutori ODE temporizzati. Christian Clason sottolinea la relazione diretta tra la discesa del gradiente e un particolare solutore ODE (forward-Euler). Commento, cos'è una semplice funzione di test f () che mostra un risolutore ODE che si sposta verso un minimo di f ()?
Denis,
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.