Perché studiare l'ottimizzazione convessa per l'apprendimento automatico teorico?


27

Sto lavorando sull'apprendimento automatico teorico - sull'apprendimento di trasferimento, per essere precisi - per il mio dottorato di ricerca.

  • Per curiosità, perché dovrei seguire un corso sull'ottimizzazione convessa?

  • Quali sono i vantaggi dell'ottimizzazione convessa che posso utilizzare nella mia ricerca sull'apprendimento automatico teorico?


2
Non è chiaro se si oppone alla parte convessa, alla parte di ottimizzazione o ad entrambi.
Mehrdad,

Nota che la risposta che hai accettato è chiaramente sbagliata. Forse puoi dare di nuovo un'occhiata a questa domanda e scegliere una risposta che ha molto più senso.
xji,

Convex Optimization e Math Optimization è uno strumento per costruire modelli - questa tecnica viene utilizzata per costruire modelli / controllare / trovare parametri di fenomeni comprensibili fino a qualche incertezza.
bruziuz,

L'apprendimento automatico riguarda la costruzione di approssimazioni di funzioni come i metodi di conteggio, e per quanto ne sai una delle funzioni di selezione dei concetti che minimizzano approssimativamente la perdita (che è non convessa o anche peggio includono variabili di indicatore), quindi ML gioca bene con l'ottimizzazione non convessa.
bruziuz,

Cordiali saluti "L'ottimizzazione convessa non può essere utilizzata per l'apprendimento profondo - S.Boyd" - youtu.be/uF3htLwUHn0?t=2810
bruziuz

Risposte:


60

Gli algoritmi di machine learning utilizzano sempre l'ottimizzazione. Riduciamo al minimo la perdita, o l'errore o massimizziamo alcune funzioni di punteggio. La discesa gradiente è l'algoritmo di ottimizzazione "ciao mondo" coperto probabilmente da qualsiasi corso di apprendimento automatico. È ovvio nel caso della regressione o dei modelli di classificazione, ma anche con attività come il clustering stiamo cercando una soluzione che si adatti in modo ottimale ai nostri dati (ad es. K-mean minimizza la somma dei quadrati all'interno del cluster). Quindi, se vuoi capire come funzionano gli algoritmi di machine learning, aiuta a saperne di più sull'ottimizzazione. Inoltre, se hai bisogno di fare cose come l'ottimizzazione dell'iperparametro, allora stai anche usando direttamente l'ottimizzazione.

Si potrebbe sostenere che l'ottimizzazione convessa non dovrebbe essere così interessante per l'apprendimento automatico poiché invece di occuparsi delle funzioni convesse , spesso incontriamo superfici di perdita come quella qui sotto, che sono tutt'altro che convesse .

Esempio di paesaggio di perdita non convesso nella vita reale.

(fonte: https://www.cs.umd.edu/~tomg/projects/landscapes/ e arXiv: 1712.09913 )

Tuttavia, come menzionato in altre risposte, l'ottimizzazione convessa è più veloce, più semplice e meno intensiva dal punto di vista computazionale, quindi è spesso più facile "convalidare" un problema (renderlo amichevole per l'ottimizzazione convessa), quindi utilizzare l'ottimizzazione non convessa. Ad esempio, la pendenza del gradiente e algoritmi simili sono comunemente usati nell'apprendimento automatico, specialmente per le reti neurali, perché "funzionano", si ridimensionano e sono ampiamente implementati in diversi software, tuttavia non sono i migliori che possiamo ottenere e avere le loro insidie , come discusso dal discorso di Ali Rahimi al NIPS 2017 .

D'altra parte, gli algoritmi di ottimizzazione non convessa come gli algoritmi evolutivi sembrano guadagnare sempre più riconoscimento nella comunità ML, ad esempio la formazione di reti neurali mediante neuroevoluzione sembra essere un argomento di ricerca recente (vedi anche arXiv: 1712.07897 ).


5
questa risposta sembra non indirizzare "convesso"
Haitao Du

@ hxd1011 L'ho commentato.
Tim

Bella risposta! Affronta davvero quanto l'ottimizzazione critica sia per ML e come ML semplifichi usando approssimazioni convesse che funzionano con la discesa del gradiente.
ChuckCottrill,

Questa dovrebbe essere la risposta accettata.
Jan Kukacka,

11

Penso che ci siano due domande qui.

  • Perché studiare l'ottimizzazione
  • Perché ottimizzazione convessa

Penso che @Tim abbia una buona risposta sul perché l'ottimizzazione. Sono pienamente d'accordo e consiglierei a chiunque sia interessato all'apprendimento automatico di padroneggiare l'ottimizzazione continua. Perché il processo di ottimizzazione / trovare la soluzione migliore nel tempo, è il processo di apprendimento per un computer.

Voglio parlare di più sul perché siamo interessati alle funzioni convesse. Il motivo è semplice: le ottimizzazioni convesse sono "più facili da risolvere" e abbiamo molti algoritmi affidabili da risolvere.

Ma il mondo è convesso? No. Perché ossessionato dalla convessità? Controlla questa metafora

Un poliziotto vede un ubriaco che cerca qualcosa sotto un lampione e chiede cosa ha perso l'ubriaco. Dice di aver perso le chiavi ed entrambi guardano insieme sotto il lampione. Dopo qualche minuto il poliziotto chiede se è sicuro di averli persi qui, e l'ubriaco risponde, no, e che li ha persi nel parco. Il poliziotto chiede perché sta cercando qui, e l'ubriaco risponde "questo è dove la luce è".


2
Ma metaforicamente, ecco perché ottieni una torcia. La ricerca delle chiavi al buio è difficile o impossibile, quindi si adatta il problema a uno che si sa come risolvere. Se lavori su un problema con algoritmi non convessi e trovi una soluzione che costerà 3 milioni di dollari, e io lavoro un problema simile con l'ottimizzazione convessa e prendo la mia risposta e trovo una soluzione al problema non convesso che costa 2 milioni di dollari, ho trovato una risposta migliore.
prosfilaes,

Questa risposta è imperfetta su così tanti livelli. Confrontare l'analisi convessa con l' effetto lampione è semplicemente sbagliato . Vi consiglierei di fare riferimento al libro di testo introduttivo Convex Optimization di Boyd e Vandenberghe per saperne di più sull'argomento.
Digio,

2

La cosa più importante è che l'apprendimento automatico viene applicato ai problemi in cui non è disponibile una soluzione ottimale. Il meglio che puoi fare è trovare una buona approssimazione.

Al contrario, quando si riscontra un problema di ottimizzazione, esiste una soluzione ottimale, ma di solito non può essere trovata in tempi ragionevoli o con una potenza di elaborazione ragionevole.

Gli strumenti e gli algoritmi che usi sono fondamentalmente diversi. Quindi, mentre direi che non vi è alcun vantaggio immediato nel prendere una classe di ottimizzazione, è sempre bene sapere un po 'sui campi correlati. Se riesci a riconoscere un problema di ottimizzazione, saprai che non dovresti affrontarlo con algoritmi di machine learning ma con algoritmi di ottimizzazione. Solo questo vale molto direi.


33
Sì, nell'apprendimento automatico stiamo cercando le migliori approssimazioni. Ma ti sbagli dicendo che entrambe le cose sono "fondamentalmente diverse". Gli algoritmi ML utilizzano l'ottimizzazione per ridurre al minimo le funzioni di perdita e trovare i parametri ottimali dati i dati e l'obiettivo. Quando stai sintonizzando i tuoi iperparametri, stai cercando una combinazione ottimale di essi. In ognuno dei casi stai massimizzando o minimizzando qualcosa per raggiungere il tuo obiettivo, quindi stai usando un qualche tipo di ottimizzazione.
Tim

@Tim: Vero, avrei dovuto formularlo diversamente.
Toby,

17
se sei d'accordo, probabilmente dovresti riformularlo.
Tim

19
Questa risposta è palesemente sbagliata. Un numero significativo di problemi di apprendimento automatico si riduce a problemi di ottimizzazione.
Ripristina Monica il

2
L'affermazione secondo cui in "problemi di ottimizzazione di solito non è possibile trovare la soluzione ottimale" non è corretta. Soprattutto nel contesto dell'ottimizzazione convessa (che è ciò di cui l'OP sta chiedendo), la soluzione ottimale può essere facilmente trovata (ad esempio la discesa del gradiente con il tasso di apprendimento in decomposizione è garantita per convergere nell'ottimale di una funzione convessa). Il grosso problema è che molti problemi nell'apprendimento automatico non sono convessi .
Jan Kukacka,

2

Come diceva hxd1011, i problemi convessi sono più facili da risolvere, sia teoricamente che (tipicamente) nella pratica. Quindi, anche per problemi non convessi, molti algoritmi di ottimizzazione iniziano con il "passaggio 1. riducono il problema a uno convesso" (possibilmente all'interno di un ciclo while).

Una cosa simile accade con il rootfinding non lineare. Di solito la soluzione (ad es. Con il metodo di Newton) va "passo 1. Riduci a un problema lineare, perché sappiamo come risolverli".


1

Se i tuoi interessi risiedono nell'ottimizzazione (convessa) applicata all'apprendimento profondo (menzioni l'apprendimento di trasferimento, che è ampiamente utilizzato nella pratica con le reti neurali), ti incoraggio vivamente a prendere in considerazione la lettura del capitolo 8 (ottimizzazione per l'addestramento delle reti neurali profonde) di http : //www.deeplearningbook.org/

C'è una discussione sull'ottimizzazione convessa e sul perché non ha ancora avuto tanto successo quando sono state applicate reti neurali profonde. Certo, forse potresti fare ricerche in quest'area che cambierà l'attuale consenso!


0

Come ho sentito da Jerome H. Friedman, i metodi sviluppati in Machine Learning non appartengono infatti alla comunità di Machine Learning.

Dal mio punto di vista, l'apprendimento automatico è più simile a una raccolta di vari metodi provenienti da altri campi.

Dal punto di vista dell'apprendimento statistico le tre domande principali per la regressione e la classificazione sono:

  1. Qual è la famiglia di funzioni da cui si estrae l'approssimatore

  2. Quali sono i criteri per estrarre una funzione

  3. Qual è un metodo per trovare la migliore funzione


Operare in modo costruttivo su (1) - non è così ovvio come può essere utile l'uso dell'ottimizzazione matematica

Operare in modo costruttivo su (2) - è ovvio che l'obiettivo è l'obiettivo. E l'ottimizzazione matematica può essere d'aiuto.

Per operare in modo costruttivo su (3), è necessaria l'ottimizzazione matematica.


Esistono diverse parti dell'ottimizzazione matematica:

  1. Ottimizzazione convessa / Analisi convessa - area matematica molto interessante. La non-differenziazione non è un problema. E ci sono 50 generalizzazioni di funzioni convesse da cui più due utili in termini di applicazione sono quasiconvex e log-concavo.

Inoltre ci sono modi per gestire la "stocastica" in qualche modo, anche "Nessuno sa come risolvere l'ottimizzazione convessa stocastica"

  1. Ottimizzazione NonConvex - di solito le persone in questo senso significano qualcosa che è un obiettivo continuo, ma la curvatura può variare. Le persone su questo pianeta non sanno come risolverlo con precisione. E in effetti tutti i mehtod fanno leva in (1)

  2. Ottimizzazione combinatoria - è ancora più selvaggio di (2), ora per i parametri che trovi che non puoi nemmeno applicare l'operatore meno. Un esempio sono le "regioni" negli alberi decisionali. Quindi ci sono due modi per affrontarlo: a) Convocare il problema e usare i metodi da (1) b) Creare forza bruta. Non funziona con un numero enorme di parametri. c) Fai forza bruta ma con alcuni passi golosi. È qualcosa che fa CART.


Quindi almeno penso di convincerti che:

I) L'ottimizzazione convessa è fondamentale per la maggior parte dei problemi di ottimizzazione.

II) "01:15 L'ottimizzazione è in realtà un argomento più grande di ML o AI, ma in realtà è un argomento più grande." ( https://www.youtube.com/watch?v=uF3htLwUHn0&t=992s )


Questo è un breve riassunto degli standard di questo sito come una risposta: pensi di poterlo espandere? Altrimenti potrebbe essere più adatto come commento.
Silverfish,

Ok. Espanderò, ma in effetti è possibile scrivere un articolo sulla connessione con vari campi. In effetti, ho posto a Stephen P. Boyd una domanda relativa a cui la gente ha pensato in precedenza e quando - youtu.be/XV1E-Jnc4SU?t=242 . Ha detto che in questi giorni il mondo è stato fratturato.
bruziuz,

1
@Silverfish ho aggiornato, ora è un testo lungo anziché una frase.
bruziuz,
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.