I primi due algoritmi che menzioni (Nelder-Mead e Simulated Annealing) sono generalmente considerati praticamente obsoleti nei circoli di ottimizzazione, in quanto esistono alternative molto migliori che sono sia più affidabili che meno costose. Gli algoritmi genetici coprono un'ampia gamma e alcuni di questi possono essere ragionevoli.
Tuttavia, nella più ampia classe di algoritmi di ottimizzazione senza derivati (DFO), ce ne sono molti che sono significativamente migliori di questi "classici", in quanto questa è stata un'area di ricerca attiva negli ultimi decenni. Quindi, alcuni di questi approcci più recenti potrebbero essere ragionevoli per l'apprendimento profondo?
Un documento relativamente recente che confronta lo stato dell'arte è il seguente:
Rios, LM e Sahinidis, NV (2013) Ottimizzazione senza derivati: una revisione degli algoritmi e un confronto delle implementazioni software. Journal of Global Optimization.
Questo è un bel documento che ha molte interessanti intuizioni sulle tecniche recenti. Ad esempio, i risultati mostrano chiaramente che i migliori ottimizzatori locali sono tutti "basati su modelli", utilizzando diverse forme di programmazione quadratica sequenziale (SQP).
Tuttavia, come indicato nel loro abstract "Troviamo che la capacità di tutti questi risolutori di ottenere buone soluzioni diminuisce con l'aumentare della dimensione del problema". Per dare un'idea dei numeri, per tutti i problemi ai solutori è stato dato un budget di 2500 valutazioni delle funzioni e le dimensioni del problema erano un massimo di ~ 300 parametri da ottimizzare. Oltre ai parametri O [10], pochissimi di questi ottimizzatori hanno funzionato molto bene, e anche i migliori hanno mostrato un notevole decadimento delle prestazioni all'aumentare della dimensione del problema.
Quindi, per problemi di dimensione molto elevata, gli algoritmi DFO non sono competitivi con quelli basati su derivati. Per dare una prospettiva, l' ottimizzazione basata su PDE (equazione differenziale parziale) è un'altra area con problemi dimensionali molto elevati (ad esempio diversi parametri per ogni cella di una grande griglia di elementi finiti 3D). In questo ambito, il " metodo aggiunto " è uno dei metodi più utilizzati. Questo è anche un ottimizzatore di discesa gradiente basato sulla differenziazione automatica di un codice di modello forward.
Il più vicino a un ottimizzatore DFO ad alta dimensione è forse l' Ensemble Kalman Filter , utilizzato per assimilare i dati in complesse simulazioni PDE, ad esempio modelli meteorologici. È interessante notare che questo è essenzialmente un approccio SQP, ma con un'interpretazione bayesiana-gaussiana (quindi il modello quadratico è definito positivo, cioè senza punti di sella). Ma non credo che il numero di parametri o osservazioni in queste applicazioni sia paragonabile a quello che si vede nell'apprendimento profondo.
Nota a margine (minimi locali): dal poco che ho letto sull'apprendimento profondo, penso che il consenso sia che sono i punti di sella piuttosto che i minimi locali, che sono più problematici per gli spazi di parametri NN ad alta dimensione.
Ad esempio, la recente recensione su Nature afferma che "I recenti risultati teorici ed empirici suggeriscono fortemente che i minimi locali non sono un problema serio in generale. Al contrario, il paesaggio è pieno di un gran numero combinatorio di punti di sella in cui il gradiente è zero, e il le curve di superficie verso l'alto nella maggior parte delle dimensioni e le curve verso il basso nel resto. "
Una preoccupazione correlata riguarda l'ottimizzazione locale e globale (ad esempio, questa domanda sottolineata nei commenti). Anche se non faccio un apprendimento approfondito, nella mia esperienza il sovradimensionamento è sicuramente una preoccupazione valida. A mio avviso, i metodi di ottimizzazione globale sono più adatti a problemi di progettazione tecnica che non dipendono fortemente da dati "naturali". Nei problemi di assimilazione dei dati, eventuali minimi globali attuali potrebbero facilmente cambiare con l'aggiunta di nuovi dati (avvertenza: la mia esperienza è concentrata nei problemi di geoscienza, in cui i dati sono generalmente "scarsi" rispetto alla capacità del modello).
Una prospettiva interessante è forse
O. Bousquet & L. Bottou (2008) I compromessi dell'apprendimento su larga scala. NIPS.
che fornisce argomenti semi-teorici sul perché e quando l'ottimizzazione approssimativa può essere preferibile nella pratica.
Nota finale (meta-ottimizzazione): mentre le tecniche basate sul gradiente sembrano essere dominanti per le reti di addestramento, potrebbe esserci un ruolo per il DFO nelle attività di meta-ottimizzazione associate.
Un esempio potrebbe essere la sintonizzazione di iperparametri. (È interessante notare che gli ottimizzatori DFO basati su modelli di successo di Rios & Sahinidis potrebbero essere visti come essenzialmente risolvendo una sequenza di problemi di progettazione di esperimenti / superficie di risposta .)
Un altro esempio potrebbe essere la progettazione di architetture, in termini di impostazione dei livelli (ad esempio numero, tipo, sequenza, nodi / livello). In questo contesto di ottimizzazione discreta, gli algoritmi in stile genetico possono essere più appropriati. Si noti che qui sto pensando al caso in cui la connettività è determinata in modo implicito da questi fattori (ad esempio livelli completamente connessi, livelli convoluzionali, ecc.). In altre parole, la connettività è esplicitamente ottimizzata per meta. (La forza della connessione cadrebbe sotto allenamento, dove ad esempio la scarsità potrebbe essere promossa dalla regolarizzazione di e / o dalle attivazioni ReLU ... queste scelte potrebbero essere comunque meta-ottimizzate.)O[N2]notL1