1
Inleiding tot AI, machinaal leren en diep leren
- De geschiedenis, basisconcepten en toepassingen van Kunstmatige Intelligentie staan ver af van de fantasieën die rond dit veld hangen.
- Collectieve intelligentie: het samenvoegen van kennis gedeeld door een groot aantal virtuele agenten.
- Genetische algoritmen: een populatie virtuele agenten ontwikkelen door selectie.
- Gemeenschappelijk machinaal leren: definitie.
- Soorten taken: Leren onder toezicht, Leren zonder toezicht, Leren met versterking.
- Soorten acties: classificatie, regressie, clustering, dichtheidsschatting, dimensionaliteitsreductie.
- Voorbeelden van Machine Learning-algoritmen: lineaire regressie, Naive Bayes, Random Tree.
- Machine Learning versus Deep Learning: waarom ML nog steeds de stand van de techniek is (Random Forests & XGBoosts)?
2
Fundamentele concepten van een neuraal netwerk
- Herinnering aan basiswiskunde.
- Het neurale netwerk: architectuur, activeringsfuncties en weging van eerdere activeringen...
- Een neuraal netwerk leren: kostenfuncties, back-propagation, stochastische gradiëntdaling...
- Een neuraal netwerk modelleren: invoer- en uitvoergegevens modelleren volgens het type probleem.
- Een functie begrijpen met behulp van een neuraal netwerk. Een verdeling begrijpen met behulp van een neuraal netwerk.
- Data Augmentation: hoe breng u een dataset in balans?
- De resultaten van een neuraal netwerk generaliseren.
- Initialisatie en regularisatie van een neuraal netwerk: L1/L2 Regularisatie, Batch Normalisatie.
- Optimalisatie- en convergentiealgoritmen.
Demonstratie
Benadering van een functie en een verdeling door een neuraal netwerk.
3
Algemene tools voor Machine Learning en Deep Learning
- Tools voor gegevensbeheer: Apache Spark, Apache Hadoop.
- Veelgebruikte Machine Learning tools: Numpy, Scipy, Sci-kit.
- DL raamwerken op hoog niveau: PyTorch, Keras, Lasagne.
- DL-raamwerken op laag niveau: Theano, Torch, Caffe, Tensorflow.
Demonstratie
Toepassingen en beperkingen van de gepresenteerde tools.
4
Convolutionele neurale netwerken (CNN)
- Presentatie van CNN's: fundamentele principes en toepassingen.
- Basiswerking van een CNN: convolutionele laag, gebruik van een kernel, padding en stride, enz.
- Geavanceerde CNN-architecturen voor beeldclassificatie: LeNet, VGG-netwerken, netwerk in netwerk, enz.
- Gebruik van een aandachtsmodel.
- Toepassing op een algemeen classificatiescenario (tekst of afbeelding).
- CNN's voor generatie: super-resolutie, segmentatie per pixel.
- Belangrijkste strategieën voor het augmenteren van Feature Maps om een afbeelding te genereren.
Casestudy
Innovaties van elke CNN architectuur en hun meer globale toepassingen (1x1 convolutie of restverbindingen).
5
Terugkerende neurale netwerken (RNN)
- Presentatie van RNN's: fundamentele principes en toepassingen.
- Basiswerking van het RNN: verborgen activering, back propagation door de tijd, ontvouwen versie.
- Ontwikkelingen in de richting van GRU (Gated Recurrent Units) en LSTM (Long Short Term Memory).
- Convergentieproblemen en verdwijnende gradiënten.
- Soorten klassieke architecturen: voorspelling van een tijdreeks, classificatie, enz.
- RNN Encoder Decoder architectuur. Gebruik van een aandachtsmodel.
- NLP-toepassingen: woord-/karaktercodering, vertaling.
- Videotoepassingen: voorspelling van het volgende gegenereerde beeld in een videosequentie.
Demonstratie
Verschillende toestanden en ontwikkelingen veroorzaakt door de Gated Recurrent Units en Long Short Term Memory architecturen.
6
Generatiemodellen: VAE en GAN
- Presentatie van de Variational AutoEncoder (VAE) en Generative Adversarial Networks (GAN) generatiemodellen.
- Auto-encoder: dimensionaliteitsreductie en beperkte generatie.
- Variationele AutoEncoder: generatiemodel en benadering van gegevensdistributie.
- Definitie en gebruik van latente ruimte. Reparameterisatie truc.
- Grondbeginselen van Generatieve Adversariële Netwerken.
- Convergentie van een GAN en ondervonden moeilijkheden.
- Verbeterde convergentie: Wasserstein GAN, BeGAN. Afstand tot de aarde.
- Toepassingen voor het genereren van afbeeldingen of foto's, tekstgeneratie, superresolutie.
Demonstratie
Toepassingen van generatiemodellen en gebruik van latente ruimte.
7
Diep leren van versterking
- Versterkend leren.
- Gebruik van een neuraal netwerk om de toestandsfunctie te begrijpen.
- Diep Q-leren: ervaring naspelen en toepassen op de besturing van videogames.
- Optimalisatie van leerbeleid. On-beleid en off-beleid. Actor-kritische architectuur. A3C.
- Toepassingen: besturing van een eenvoudig videospel of digitaal systeem.
Demonstratie
Besturing van een agent in een omgeving gedefinieerd door een toestand en mogelijke acties.