Backpropagatie in de praktijk

Introductie tot Deep Learning in Python

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

Backpropagatie

ch2_4_v2.002.png

Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.003.png

Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.004.png

Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.010.png

Introductie tot Deep Learning in Python

Hellingen berekenen voor elk gewicht

  • Gradiënt voor een gewicht is het product van:
    1. Nodewaarde die het gewicht in gaat
    2. Helling van de activatiefunctie van de doelnode
    3. Helling van de verliesfunctie t.o.v. de outputnode
Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.016.png

Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.017.png

Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.018.png

Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.019.png

Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.020.png

Introductie tot Deep Learning in Python

Backpropagatie

ch2_4_v2.021.png

Introductie tot Deep Learning in Python

Backpropagatie: samenvatting

  • Start met een willekeurige set gewichten
  • Gebruik forward propagation om een voorspelling te maken
  • Gebruik backpropagation om de helling van de verliesfunctie t.o.v. elk gewicht te berekenen
  • Vermenigvuldig die helling met de learning rate en trek af van de huidige gewichten
  • Herhaal die cyclus tot we een vlak deel bereiken
Introductie tot Deep Learning in Python

Stochastic gradient descent

  • Vaak bereken je hellingen op slechts een subset van de data (een batch)
  • Gebruik voor de volgende update een andere batch
  • Begin opnieuw zodra alle data is gebruikt
  • Elke keer door de trainingsdata heet een epoch
  • Hellingen per batch: stochastic gradient descent
Introductie tot Deep Learning in Python

Laten we oefenen!

Introductie tot Deep Learning in Python

Preparing Video For Download...