wAIpoint
English

Addestramento e backpropagation

Livello: Intermedio

Cos'è

Addestrare significa regolare i pesi di una rete perché le sue risposte si avvicinino a quelle corrette. La backpropagation è il metodo che calcola, per ogni peso, quanto ha contribuito all'errore, facendo scorrere l'errore all'indietro attraverso gli strati.

A cosa serve

È il modo in cui si addestrano quasi tutte le reti neurali moderne, dai piccoli classificatori ai grandi modelli del linguaggio. Capirla spiega perché servono molti esempi e molta potenza di calcolo, e cosa significano parole come learning rate ed epoca.

Come si fa

Il processo, passo per passo. Librerie e strumenti cambiano; questi passi restano.

  1. Scegli una loss: un numero che dice quanto la rete sbaglia su un esempio.
  2. Passo in avanti (forward): fai passare gli esempi nella rete e calcola la loss.
  3. Passo all'indietro (backward): la backpropagation calcola il gradiente, cioè per ogni peso la direzione che farebbe scendere la loss.
  4. Aggiornamento: un ottimizzatore (per esempio SGD o Adam) sposta ogni peso di un piccolo passo, la cui dimensione è il learning rate.
  5. Ripeti sull'intero dataset molte volte (epoche), guardando la loss su dati che la rete non ha usato per allenarsi.
  6. In pratica librerie come PyTorch calcolano il passo all'indietro per te: tu definisci il modello e la loss.

Cronologia

  1. 1986Imparare rappresentazioni propagando all'indietro gli errori (Rumelhart, Hinton, Williams). fonte
  2. 2014Adam: un metodo di ottimizzazione stocastica (Kingma e Ba). fonte

Fonti