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=A−1yδ=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 - γ k ∇ f ( x k ) , ˙ xminxf(x)
xk+1=xk−γk∇f(xk),
γ kx˙(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:
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.
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
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
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,a2xk+1=xk−γk∇f(xk)+αk(xk−xk−1)
(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 .