Qual è la ragione per cui Adam Optimizer è considerato robusto per il valore dei suoi iper parametri?


24

Stavo leggendo dell'ottimizzatore Adam per Deep Learning e mi sono imbattuto nella frase seguente nel nuovo libro Deep Learning di Bengio, Goodfellow e Courville:

Adam è generalmente considerato abbastanza robusto per la scelta dei parametri iper, sebbene il tasso di apprendimento a volte debba essere modificato rispetto al valore predefinito suggerito.

se questo è vero, è un grosso problema perché la ricerca di iperparametri può essere davvero importante (almeno nella mia esperienza) nelle prestazioni statistiche di un sistema di apprendimento profondo. Quindi, la mia domanda è: perché Adam Robust ha parametri così importanti? Specialmente e ?β1β2

Ho letto il documento di Adam e non fornisce alcuna spiegazione al motivo per cui funziona con questi parametri o perché è robusto. Lo giustificano altrove?

Inoltre, mentre leggo il documento, sembra che il numero di parametri hanno provato fosse molto piccolo, per solo 2 e per solo 3. Come può essere uno studio empirico approfondito se funziona solo con i parametri 2x3 ?β1β2


1
Invia un'e-mail agli autori del libro che hanno presentato la richiesta. Chiedi loro su cosa si basa il reclamo.
Mark L. Stone,

1
@ MarkL.Stone ha detto solo di averlo detto perché l'abstract l'ha detto. Difficilmente un argomento convincente. Forse la prossima volta invierò un'e-mail agli autori del documento attuale.
Charlie Parker,

7
E così l'autopromozione diventa realtà.
Mark L. Stone,

@ MarkL.Stone in sua difesa, avrebbe potuto essere troppo occupato per rispondere correttamente e ho contattato solo 1 dei 3 autori. Forse potrei contattare gli altri ma non sono sicuro che risponderanno dato che (almeno) uno è un professore. Con l'hype in DL scommetto che riceve 300 e-mail al giorno.
Charlie Parker,

7
Ora che il libro è uscito, gli autori di Adam hanno la conferma di quanto sia grande il loro algoritmo. Mi ricorda il terremoto della Bay Area del '89. La stazione radio di notizie ha reso noto il numero # di decessi per crollo dell'autostrada - ha affermato che stavano cercando conferma dall'ufficio del governatore. Quindi hanno telefonato al governatore e gli hanno chiesto se poteva confermare il numero di vittime. Ha detto che è quello che ha sentito. La stazione radio ha quindi riferito che ora avevano la conferma del governatore. Si scopre che il governatore voleva dire che lo aveva sentito, a quanto pare, su quella stazione radio. Quindi, conferma circolare.
Mark L. Stone,

Risposte:


7

Per quanto riguarda le prove relative all'affermazione, credo che le uniche prove a sostegno dell'affermazione possano essere trovate nella figura 4 del loro documento . Mostrano i risultati finali in un intervallo di valori diversi per , β 2 e α .β1β2α

Personalmente, non trovo convincenti le loro argomentazioni , in particolare perché non presentano risultati su una varietà di problemi. Detto questo, voglio sottolineare che ho ADAM utilizzato per una varietà di problemi, e la mia conclusione personale è che i valori di default di e β 2 non sembrano sorprendentemente affidabile, anche se una buona dose di giocherellare con α è richiesto.β1β2 α


5

β1β2

Ciò è in netto contrasto con la Discesa stocastica a gradiente di vaniglia di serie, in cui:

  • i tassi di apprendimento non sono per parametro, ma esiste un unico tasso di apprendimento globale, applicato senza mezzi termini, su tutti i parametri
    • (a proposito, questo è uno dei motivi per cui i dati sono spesso sbiancati, normalizzati, prima di essere inviati in reti, per cercare di mantenere il peso ideale per parametro simile in modo simile)
  • il tasso di apprendimento fornito è l'esatto tasso di apprendimento utilizzato e non si adatterà nel tempo

Adam non è l'unico ottimizzatore con tassi di apprendimento adattivo. Come afferma il documento Adam, è fortemente correlato ad Adagrad e Rmsprop, che sono anche estremamente insensibili agli iperparametri. Soprattutto, Rmsprop funziona abbastanza bene.

Ma Adam è il migliore in generale. Con pochissime eccezioni, Adam farà quello che vuoi :)

Ci sono alcuni casi abbastanza patologici in cui Adam non funzionerà, in particolare per alcune distribuzioni non stazionarie. In questi casi, Rmsprop è un'opzione di standby eccellente. Ma in generale, per la maggior parte dei casi non patologici, Adam funziona estremamente bene.


1
β1,β2

Sì, se vuoi dire, "c'è un'opportunità qui per approfondire il perché?", Beh ... forse.
Hugh Perkins,

2
questa non è una "domanda più profonda". Questo sembra uno dei punti più importanti del documento, no? Il punto è che fa le cose da solo, ma poi ci sono questi altri iperparametri che sembrano magicamente robusti. Questo è il problema che ho. Mi sembra che sia correlato al nocciolo del documento se non ho capito male il punto di Adamo.
Charlie Parker,

"Ci sono alcuni casi abbastanza patologici in cui Adam non funzionerà, in particolare per alcune distribuzioni non stazionarie." <- qualche riferimento qui?
mimoralea,

0

Osservando le formule ADAM, sembra un po 'sconcertante che dopo un numero molto elevato di iterazioni batch (diciamo ~ 400k) l'entità del gradiente, basato sull'errore originale, non giochi ~ alcun ruolo reale nella fase intrapresa che sembra aspirare a il parametro di configurazione della frequenza di apprendimento nel segno pertinente.
Forse ADAM controlla l'adattamento del peso meglio del semplice SGD durante le prime iterazioni / epoc, ma andando avanti l'aggiornamento sembra essere ridotto a qualcosa di un po 'ingenuo (?) Qualcuno può fornire qualche intuizione sul perché ciò è effettivamente desiderato e / o tende a funzionare bene?


In realtà sembra che l'ampiezza del gradiente basata sull'errore in sé non abbia un ruolo reale nemmeno dall'inizio. La domanda è: perché tale normalizzazione funziona bene e cosa implica riguardo all'intuizione GD che guida DL e altri modelli di apprendimento comuni?
Danny Rosen,
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.