Sono un neofita delle reti neurali e, per prendere confidenza con la materia, ho implementato un MLP feed-forward di base che attualmente mi sto allenando attraverso la back-propagation. Sono consapevole del fatto che ci sono modi più sofisticati e migliori per farlo, ma nel Introduction to Machine Learning suggeriscono che con uno o due trucchi, la discesa del gradiente di base può essere efficace per l'apprendimento dai dati del mondo reale. Uno dei trucchi è tasso di apprendimento adattativo.Quale fattore di moltiplicazione e aggiunta da utilizzare quando si esegue il tasso di apprendimento adattativo nelle reti neurali?
L'idea è di aumentare il tasso di apprendimento di un valore costante un quando l'errore diventa più piccolo, e diminuirlo di una frazione b del tasso di apprendimento quando l'errore diventa più grande. Quindi, in pratica il cambiamento tasso di apprendimento è determinata da:
+(a)
se stiamo imparando nella giusta direzione, e
-(b * <learning rate>)
se stiamo rovinando il nostro apprendimento. Tuttavia, nel libro sopra non ci sono consigli su come impostare questi parametri. Non mi aspetterei un suggerimento preciso dal momento che la sintonizzazione dei parametri è un argomento a parte, ma solo un suggerimento almeno sul loro ordine di grandezza. Qualche idea?
Grazie,
Tunnuz
Vorrei accettare questa risposta, ma questi sembrano numeri molto grandi considerando che sono utilizzati per espandere o ridurre il valore del tasso di apprendimento che dovrebbe essere in [0.0,1.0]. Sei sicuro di non avere un significato diverso in RPROP? – tunnuz
I valori indicati sono specifici per i fattori di aumento/diminuzione (utilizzati per correggere l'utente quando si inizia a scendere dal campo). Se si guarda attraverso il PDF (la ricerca non funziona per me, potrebbe essere una cosa LaTex - e l'ordine delle pagine sembra essere al contrario!) Penso che menzioni un tasso di apprendimento (epsilon e delta zero - a seconda dell'algoritmo). In una tabella gli dà un valore di 0.05. Indica inoltre altri potenziali algoritmi (BP, SuperSAB, QuickProp) e i risultati forniti quando vengono utilizzati altri valori/algoritmi. –
Vedere anche: http://stackoverflow.com/questions/2865057/resilient-backpropagation-neural-network-question-about-gradient –