Administratieve informatie
Titel | Afleiding en toepassing van backpropagatie |
Looptijd | 60 |
Module | B |
Type les | Tutorial |
Focus | Technisch — diep leren |
Onderwerp | Afleiden en implementeren van backpropagation |
Sleutelwoorden
Backpropagation,activatiefuncties, afwijking,
Leerdoelen
- Ontwikkelen van een begrip van gradiënt en leersnelheid
- Ontlenen backpropagation voor verborgen en buitenste lagen
- Implimenting Backpropagation ontkoppeld en aangesloten met behulp van verschillende activeringsfuncties
Verwachte voorbereiding
Leren van gebeurtenissen die moeten worden voltooid voordat
Verplicht voor studenten
- Berekeningsherziening (derivaten, gedeeltelijke derivaten, de ketenregel)
Optioneel voor studenten
Geen.
Referenties en achtergronden voor studenten
- John D Kelleher en Brain McNamee. (2018), Fundamentals of Machine Learning voor Predictive Data Analytics, MIT Press.
- Michael Nielsen. (2015), Neural Networks en Deep Learning, 1. Determinatiepers, San Francisco CA USA.
- Charu C. Aggarwal. (2018), Neural Networks en Deep Learning, 1. Springer
- Antonio Gulli, Sujit Pal. Diep leren met Keras, Packt, [ISBN: 9781787128422].
Aanbevolen voor docenten
Geen.
Lesmateriaal
Instructies voor docenten
- Deze tutorial zal studenten kennis laten maken met de fundamenten van het backpropagation learning-algoritme voor een kunstmatig neuraal netwerk. Deze tutorial zal bestaan uit het afleiden van het backpropagation-algoritme met behulp van pen en papier, vervolgens de toepassing van het backpropagation-algoritme voor drie verschillende verborgen laagactiveringsfuncties (Sigmoid, Tan H en ReLu), waarbij Python wordt gebruikt met alleen de Numpy-bibliotheek (voor matricesmanipulatie) en vervolgens KERAS. Dit zal voortbouwen op het fundamentele begrip van verschillende activeringsfuncties wanneer een neuraal netwerk leert en hoe de activeringsfuncties verschillen in computationele complexiteit en de toepassing van pen en papier, om vanaf nul te coderen met behulp van Numpy en vervolgens met behulp van een module op hoog niveau -> Keras.
- Opmerking: De topologie is hetzelfde als Lezing 1/Tutorial 1, maar de gewichten en inputs zijn verschillend, je kunt natuurlijk dezelfde gewichten gebruiken.
- De studenten krijgen vier problemen (de eerste is optioneel of als extra materiaal):
- Probleem 1: De afleiding van het backpropagation-algoritme (met behulp van de Sigmoid-functie voor de interne en buitenste activeringsfuncties en MSE als verliesfunctie), zullen studenten worden gevraagd om de backpropagation-formule af te leiden (20 minuten te voltooien).
- Probleem 2: Studenten passen drie activeringsfuncties toe voor een enkele gewichtsupdate (SGD-backpropagation), met pen en papier (20 minuten):
- Sigmoïde (Verborgen laag), Sigmoid (buitenste laag) en MSE
- Tan H (Verborgen laag), Sigmoïde (buitenste laag) en MSE
- ReLU (Verborgen laag), Sigmoid (buitenste laag) en MSE
- Probleem 3: Studenten zullen worden gevraagd (met begeleiding afhankelijk van de eerdere coderingservaring) om een neuraal netwerk vanaf nul te ontwikkelen met alleen de Numpy-module, en de gewichten en activeringsfuncties waarbij de optie om uit een verborgen laagactiveringsfunctie te kiezen wordt verstrekt om de gewichten bij te werken met SGD (20 minuten te voltooien).
- Probleem 4: Studenten zullen worden gevraagd (met begeleiding afhankelijk van de eerdere coderingservaring) om een neuraal netwerk te ontwikkelen met behulp van de Tensorflow 2.X-module met de inbuild Keras-module, en de gewichten en activeringsfuncties, en vervolgens met behulp van willekeurige gewichten om een of meerdere gewichtsupdates te voltooien. Alsjeblieft niet omdat Keras een licht ander MSE-verlies gebruikt, het verlies vermindert sneller in het voorbeeld van Keras.
- Keras MSE = verlies = vierkant(y_true — y_pred)
- Tutorial MSE = verlies = (vierkant(y_true — y_pred))*0.5
- De subdoelen voor deze drie Problemen, is om studenten om het backpropagation algoritme te begrijpen, toe te passen, zodat voor hypermeter tuning, de studenten in staat zullen zijn om hyperparameter effecten beter te begrijpen.
Omtrek
Duur (Min) | Omschrijving |
---|---|
20 (optioneel) | Probleem 1: afleiding van de backpropagatieformule met behulp van de Sigmoid-functie voor de activeringsfuncties binnen en buiten en MSE als verliesfunctie (optioneel) |
20 | Probleem 2: Studenten passen drie activeringsfuncties toe voor een enkele gewichtsupdate (SGD-backpropagation), met pen en papier (20 minuten): |
20 | Probleem 3: Studenten zullen vanaf nul een neuraal netwerk ontwikkelen met alleen de Numpy-module, waar de gebruiker kan kiezen uit een van de drie verborgen laagactiveringsfuncties waar de code backpropagation kan voorvormen |
10 | Probleem 4: Studenten zullen gebruik maken van de Tensorflow 2.X module met de inbuild Keras module, preform backpropagation met behulp van SGD. |
10 | Samenvatting van het forward pass-proces |
Erkenningen
Het Human-Centered AI Masters-programma werd mede gefinancierd door de Connecting Europe Facility van de Europese Unie in het kader van de subsidie CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068.