Backpropagation nella pratica

Introduzione al Deep Learning in Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Backpropagation

ch2_4_v2.002.png

Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.003.png

Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.004.png

Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.010.png

Introduzione al Deep Learning in Python

Calcolare le pendenze associate a un peso qualsiasi

  • Il gradiente di un peso è il prodotto di:
    1. Valore del nodo che alimenta quel peso
    2. Pendenza della funzione di attivazione del nodo di destinazione
    3. Pendenza della loss rispetto al nodo di output
Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.016.png

Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.017.png

Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.018.png

Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.019.png

Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.020.png

Introduzione al Deep Learning in Python

Backpropagation

ch2_4_v2.021.png

Introduzione al Deep Learning in Python

Backpropagation: Riepilogo

  • Parti da pesi casuali
  • Usa la forward propagation per fare una previsione
  • Usa la backward propagation per calcolare la pendenza della loss rispetto a ogni peso
  • Moltiplica la pendenza per il learning rate e sottraila ai pesi attuali
  • Ripeti il ciclo finché arrivi a una zona piatta
Introduzione al Deep Learning in Python

Stochastic gradient descent

  • Si calcolano spesso le pendenze su un sottoinsieme dei dati (un batch)
  • Usa un batch diverso per l’aggiornamento successivo
  • Ricomincia dall’inizio quando tutti i dati sono usati
  • Ogni passaggio su tutti i dati di training è un’epoca (epoch)
  • Se calcoli le pendenze un batch alla volta: stochastic gradient descent
Introduzione al Deep Learning in Python

Passiamo alla pratica!

Introduzione al Deep Learning in Python

Preparing Video For Download...