User Tools

Site Tools


neurali:error_backpropagation

Error Backpropagation

In sostanza:

Durante l'addestramento supervisioned learning rule, basato su error backpropagation, si parte sempre dai dati di input e dati di output desiderati. Potrebbe sembrare che manchi l'informazione necessaria a riempire i pesi delle sinapsi dei neuroni hidden, invece basta applicare l'agoritmo di erro backpropagation

  • si calcola l'output effettivo e l'errore prodotto rispetto ai dati desiderati
  • si fa risalire indietro questo errore (nel verso matematicamente inverso a quello dell'output) per calcolare come devono essere modificati i pesi sinaptici
  • A volta bastano 10 epoche, cioè basta ripetere 10 volte l'addestramento con i dati. Altre volte sono necessarie 100 epoche, anche per la stessa rete, perché?
  • Perché l'addestramento di una rete parte sempre con pesi sinaptici random..

Precondizionamento

Vediamo due modi di operare molto utili per progettare reti e per addestrarle

  • Early stop: fermarsi precocemente, per evitare overfitting. Come faccio a sapere quando? Devo avere da parte un po' di dati anche per fare un test di validità del funzionamento di quello che ho ottenuto
  • weight decay: si aggiunge un parametro (momentum?) per evitare che i pesi sinaptici tendano a crescere a dismisura.
  • precondizionamento da fare prima dell'addestramento per normalizzare i dati , i pesi sinaptici, il learning rate.

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
neurali/error_backpropagation.txt · Last modified: 2023/06/06 18:42 by profpro