neurali:error_backpropagation
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
neurali:error_backpropagation [2015/07/09 16:19] – profpro | neurali:error_backpropagation [2023/06/06 18:42] (current) – [Precondizionamento] profpro | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Error Backpropagation ====== | ||
+ | |||
+ | |||
+ | In sostanza: | ||
+ | |||
+ | Durante l' | ||
+ | |||
+ | * si calcola l' | ||
+ | * si fa risalire indietro questo errore (nel verso matematicamente inverso a quello dell' | ||
+ | |||
+ | |||
+ | * A volta bastano 10 epoche, cioè basta ripetere 10 volte l' | ||
+ | * Perché l' | ||
+ | |||
+ | ====Precondizionamento==== | ||
+ | |||
+ | Vediamo due modi di operare molto utili per progettare reti e per addestrarle | ||
+ | |||
+ | * **Early stop**: fermarsi precocemente, | ||
+ | * **weight decay**: si aggiunge un parametro (momentum?) per evitare che i pesi sinaptici tendano a crescere a dismisura. | ||
+ | * **precondizionamento** da fare prima dell' | ||
+ | |||
+ | ===Normalizzazione=== | ||
+ | |||
+ | * **Normalizzare** i dati di input e di output significa avere una gaussiana con media~0 e varianza~1. | ||
+ | * **Normalizzare** i pesi sinpatici vuol dire usare per i pesi una distribuzione di probabilità uniforme (non gaussiana) da -√1/K a +√1/K, con K= n. nodi entranti in ogni neurone. | ||
+ | * Molto meglio usare una funzione di attivazione **tanh** (non sigmoid). | ||
+ | * **Normalizzare** il learning rate vuol dire che si può partire con questi valori e diminuirli: | ||
+ | * con unsupervisioned learning λ=1 | ||
+ | * con supervisione learning λ=√1/N con N è il numero di dati forniti in input | ||
+ | |||