traingdx
Discesa del gradiente con momento e retropropagazione della velocità di apprendimento adattivo
Descrizione
net.trainFcn = 'traingdx' visualizza la proprietà della rete trainFcn.
[ addestra la rete con trainedNet,tr] = train(net,...)traingdx.
traingdx è una funzione di addestramento della rete che aggiorna i valori di peso e bias in base al momento di discesa del gradiente e alla velocità di apprendimento adattivo.
L’addestramento avviene secondo i parametri di addestramento traingdx, mostrati qui con i relativi valori predefiniti:
net.trainParam.epochs— Numero massimo di epoche per l’addestramento. Il valore predefinito è 1000.net.trainParam.goal— Obiettivo di performance. Il valore predefinito è 0.net.trainParam.lr— Velocità di apprendimento. Il valore predefinito è 0,01.net.trainParam.lr_inc— Rapporto per aumentare la velocità di apprendimento. Il valore predefinito è 1,05.net.trainParam.lr_dec— Rapporto per diminuire la velocità di apprendimento. Il valore predefinito è 0,7.net.trainParam.max_fail— Errori di convalida massimi. Il valore predefinito è6.net.trainParam.max_perf_inc— Aumento massimo della performance. Il valore predefinito è1.04.net.trainParam.mc— Costante di momento. Il valore predefinito è0.9.net.trainParam.min_grad— Gradiente di performance massimo. Il valore predefinito è1e-5.net.trainParam.show— Epoche tra visualizzazioni (NaNper nessuna visualizzazione). Il valore predefinito è 25.net.trainParam.showCommandLine— Generazione di output della riga di comando. Il valore predefinito èfalse.net.trainParam.showWindow— Visualizzazione dell’interfaccia grafica di addestramento. Il valore predefinito ètrue.net.trainParam.time— Tempo massimo di addestramento in secondi. Il valore predefinito èinf.
Argomenti di input
Argomenti di output
Ulteriori informazioni
Algoritmi
La funzione traingdx combina la velocità di apprendimento adattivo con l'addestramento con momento. Viene invocato allo stesso modo di traingda, ad eccezione del fatto che presenta il coefficiente di momento mc come ulteriore parametro di addestramento.
traingdx può addestrare qualsiasi rete, a condizione che le funzioni di peso, input netto e trasferimento abbiano funzioni derivate.
La retropropagazione viene utilizzata per calcolare le derivate della performance perf rispetto alle variabili di peso e bias X. Ciascuna variabile viene regolata in base alla discesa del gradiente con momento,
dX = mc*dXprev + lr*mc*dperf/dX
dove dXprev è la modifica precedente di peso o di bias.
Per ciascuna epoca, se la performance diminuisce verso l'obiettivo, la velocità di apprendimento viene incrementata del fattore lr_inc. Se la performance aumenta più del fattore max_perf_inc, la velocità di apprendimento viene regolata del fattore lr_dec e la modifica che ha aumentato la performance non viene applicata.
L’addestramento si interrompe quando si verifica una delle condizioni seguenti:
Viene raggiunto il numero massimo di
epochs(ripetizioni).Viene superata la quantità massima di
time.La performance è minimizzata al
goal.Il gradiente di performance massimo scende al di sotto di
min_grad.La performance di convalida (errore di convalida) è aumentata di oltre
max_failvolte dall’ultima riduzione (usando la convalida).
Cronologia versioni
Introduzione prima di R2006a