neurali:gradient_descent
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
neurali:gradient_descent [2015/07/09 16:04] – profpro | neurali:gradient_descent [2020/06/08 22:20] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======Gradient descent====== | ||
+ | È un algoritmo, ma non è strettamente legato alle reti neurali | ||
+ | |||
+ | https:// | ||
+ | |||
+ | * N è il numero di layer | ||
+ | * l è indice di un generico layer (1..N) | ||
+ | * Ml è il numero di neuroni su un layer l | ||
+ | * j è indice di un generico neurone sul layer l (1..Ml) | ||
+ | |||
+ | * x è un vettore con indice i (1..Ml) | ||
+ | * w è un vettore con indice i e j (i collegamenti tra due layer sono Ml·Ml) | ||
+ | |||
+ | |||
+ | - Si crea una nuova rete neurale fornendo dei pesi random (vedi nota sotto [[neurali: | ||
+ | - Si fornisce un esempio di input (x) e di output atteso (yo) | ||
+ | - Si calcola l' | ||
+ | - Si calcola una funzione di errore: e = yo - y | ||
+ | - Poiché il valore attuale di un peso w[n+1] **dipende dal valore del peso al passo precedente w[n]** | ||
+ | - Si applica una formula che modifica il valore attuale dei pesi in base all' | ||
+ | |||
+ | NOTA: w[n+1] vuol dire che si sta svolgendo un passo n dell' | ||
+ | |||
+ | La formula è stata ottenuta calcolando l' | ||
+ | |||
+ | **Un' | ||
+ | - al vecchio peso, | ||
+ | - all' | ||
+ | - ad un coefficiente etaxx | ||
+ | |||
+ | Si otterrà una dipendenza dalla derivata della funzione di attivazione sigmaxx (deve essere facile da derivare) | ||
+ | |||
+ | Si ottiene una **dipendenza dell' | ||
+ | |||
+ | ====Parametro di step size==== | ||
+ | |||
+ | [[neurali: | ||
+ | |||
+ | etaxx viene chiamato " | ||
+ | |||
+ | ====nota sui pesi iniziali==== | ||
+ | |||
+ | Se si inizializzassero tutti i pesi di tutti i layer a zero, il precedente algoritmo di ottimizzazione potrebbe produrre la soluzione in cui tutti i neuroni di tutti i layer hanno tutti gli stessi pesi. | ||
+ | |||
+ | Per questo motivo la rete viene sempre inizializzata con **pesi random**. |
neurali/gradient_descent.txt · Last modified: 2023/06/06 18:40 by profpro