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 (NaN
per 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_fail
volte dall’ultima riduzione (usando la convalida).
Cronologia versioni
Introduzione prima di R2006a