Administratieve informatie
Titel | Voorwaartse vermeerdering |
Looptijd | 60 |
Module | B |
Type les | Lezing |
Focus | Technisch — diep leren |
Onderwerp | Voorwaartse pas |
Sleutelwoorden
Voorwaartse pas, verlies,
Leerdoelen
- Begrijp het proces van een forward pass
- Begrijpen hoe je een forward pass voorspelling te berekenen, evenals verlies unplugged
- Ontwikkel een forward pass zonder modules in Python (anders dan Numpy)
- Ontwikkel een forward pass met Keras
Verwachte voorbereiding
Leren van gebeurtenissen die moeten worden voltooid voordat
Geen.
Verplicht voor studenten
Geen.
Optioneel voor studenten
- Vermenigvuldiging van matrices
- Aan de slag met Numpy
- Kennis van lineaire en logistieke regressie (uit periode A Machine Learning): Lezing: Lineaire regressie, GLR’s, GAD’s)
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 lezing zal studenten kennis laten maken met de fundamenten van voorwaartse verspreiding voor een kunstmatig neuraal netwerk. Dit zal studenten kennis laten maken met de topologie (gewichten, synapsen, activeringsfuncties en verliesfuncties). Studenten kunnen dan een voorwaartse pas doen met behulp van pen en papier, met Python met alleen de Numpy-bibliotheek (voor matricesmanipulatie) en vervolgens KERAS gebruiken als onderdeel van de tutorial die aan deze LE is gekoppeld. Dit zal een fundamenteel begrip opbouwen van welke activeringsfuncties van toepassing zijn op specifieke probleemcontexten en hoe de activeringsfuncties verschillen in computationele complexiteit. In de lezing worden de buitenste laagactiveringsfunctie en de bijbehorende verliesfuncties onderzocht voor gebruiksgevallen zoals binomiale classificatie, regressie en classificatie met meerdere klassen.
- Overzicht van een neuraal netwerk
- Definitie van termen/componenten
- Gewichten en activeringsfuncties
- Verliesfuncties, welke voor welke probleemcontext
- Matrices gebruiken om een voorwaartse pas uit te voeren
Opmerking:
- Gebruik van Sigmoid in de buitenste laag en MSE als verliesfunctie.
- Met tandbeperkingen werd gekozen voor een enkelvoudige benadering/topologie/probleemcontext. Typisch zou men beginnen met regressie voor een voorwaartse pas (met MSE als de verliesfunctie), en voor het afleiden van backpropagation (dus met een lineaire activeringsfunctie in de outputlaag, waar dit de complexiteit van de afleiding van de backpropagation-functie vermindert), dan zou men meestal overgaan naar een binaire classificatiefunctie, met sigmoid in de outputlaag en een binaire cross-entropy verliesfunctie. Met tijdsbeperkingen zal deze reeks lezingen drie verschillende voorbeeldverborgen activeringsfuncties gebruiken, maar zal een regressieprobleemcontext worden gebruikt. Om de complexiteit van een sigmoïde activeringsfunctie in de outputlaag toe te voegen, het regressieprobleem dat wordt gebruikt in de twee eerste lezingen van deze set, is het probleemvoorbeeld gebaseerd op een genormaliseerde doelwaarde (0-1 gebaseerd op een procentuele probleem 0-100 %), dus sigmoïde wordt gebruikt als activeringsfunctie in de outputlaag. Deze aanpak stelt studenten in staat om gemakkelijk te migreren tussen regressie en binaire classificatieproblemen, door simpelweg alleen de verliesfunctie te wijzigen als een binair classificatieprobleem, of als een niet-genormaliseerd regressieprobleem wordt gebruikt, de student eenvoudig de buitenste laagactiveringsfunctie verwijdert.
- Kerncomponenten zijn de toepassing van, met behulp van een high level bibliotheek, in dit geval KERAS via de TensorFlow 2.X bibliotheek.
- Pen en papier zijn optioneel en worden alleen gebruikt om de voorwaartse pas en backpropagation afleiding en toepassing weer te geven (met behulp van de voorbeelden uit de collegedia’s).
- Python-code zonder gebruik van bibliotheken op hoog niveau, wordt gebruikt om te laten zien hoe eenvoudig een neuraal net is (met behulp van de voorbeelden uit de dia’s van de lezing). Dit maakt ook discussie mogelijk over snelle numerieke/matrices vermenigvuldiging en introduceert waarom we GPU’s/TPU’s als optioneel element gebruiken.
- Keras en TensorFlow 2.X worden gebruikt en zullen worden gebruikt voor alle toekomstige voorbeelden.
Omtrek
Duur (Min) | Omschrijving |
---|---|
10 | Definitie van neurale netwerkcomponenten |
15 | Gewichten en Activeringsfuncties (Sigmoid, TanH en ReLu) |
15 | Verliesfuncties (regressie, binomiale classificatie en activering van meerdere klassen) |
15 | Matrices gebruiken voor een voorwaartse pas |
5 | Samenvatting op de voorwaartse pas |
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.