Cursusaanbod
Deel 1 – Begrippen rondom diepe learning en DNN
Introductie tot AI, machine learning en diepe learning
- Geschiedenis, basisbegrippen en gangbare toepassingen van kunstmatige intelligentie, los van de fantasieën die met dit domein gepaard gaan
- Collectieve intelligentie: kennis die door veel virtuele agenten wordt gedeeld, aggregeren
- Genetische algoritmen: een populatie van virtuele agenten laten evolueren door selectie
- Gewone leerende machines: definitie.
- Typen taken: supervised learning, unsupervised learning, reinforcement learning
- Typen acties: classificatie, regressie, clustering, dichtheidschatting, dimensionaliteitsreductie
- Voorbeelden van machine learning-algoritmen: lineaire regressie, Naive Bayes, Random Tree
- Machine learning VS diepe learning: problemen waarvoor machine learning tegenwoordig nog steeds de stand van de techniek is (Random Forests & XGBoosts)
Basisbegrippen van een neurale netwerk (Toepassing: multilaags perceptron)
- Herinnering aan de wiskundige basis.
- Definitie van een netwerk van neuronen: klassieke architectuur, activering en
- wegen van eerdere activeringen, diepte van een netwerk
- Definitie van het leren van een netwerk van neuronen: kostfuncties, back-propagation, Stochastic gradient descent, maximum likelihood.
- Modellering van een neurale netwerk: modellering van invoer- en uitgaandata op basis van het type probleem (regressie, classificatie ...). De vloek van dimensionaliteit.
- Verschil tussen multi-feature data en signaal. Keuze van een kostfunctie op basis van de data.
- Approximatie van een functie door een netwerk van neuronen: presentatie en voorbeelden
- Approximatie van een verdeling door een netwerk van neuronen: presentatie en voorbeelden
- Data Augmentation: hoe een dataset te balanceren
- Generalisatie van de resultaten van een netwerk van neuronen.
- Initialisatie en regularisatie van een neurale netwerk: L1 / L2 regularisatie, Batch Normalization
- Optimalisatie- en convergentiealgoritmen
Standaard ML / DL Tools
Er is een eenvoudige presentatie gepland met voordelen, nadelen, positie in het ecosysteem en gebruik.
- Data management tools: Apache Spark, Apache Hadoop Tools
- Machine Learning: Numpy, Scipy, Sci-kit
- DL high level frameworks: PyTorch, Keras, Lasagne
- Low level DL frameworks: Theano, Torch, Caffe, Tensorflow
Convolutionele Neurale Netwerken (CNN).
- Presentatie van CNN's: fundamentele principes en toepassingen
- Basiswerking van een CNN: convolutionele laag, gebruik van een kernel,
- Padding & stride, generatie van feature maps, pooling layers. Uitbreidingen 1D, 2D en 3D.
- Presentatie van de verschillende CNN-architecturen die de stand van de techniek in classificatie brachten
- Beelden: LeNet, VGG Netwerken, Network in Network, Inception, Resnet. Presentatie van de innovaties die door elke architectuur werden geïntroduceerd en hun bredere toepassingen (Convolution 1x1 of residu-verbindingen)
- Gebruik van een attention model.
- Toepassing op een gangbaar classificatieprobleem (tekst of beeld)
- CNN's voor generatie: super-resolutie, pixel-voor-pixel segmentatie. Presentatie van
- Hoofdstategieën voor het vergroten van feature maps voor beelddatabase.
Recurrente Neurale Netwerken (RNN).
- Presentatie van RNN's: fundamentele principes en toepassingen.
- Basiswerking van de RNN: verborgen activering, back propagation through time, Uitgerold versie.
- Evoluties naar Gated Recurrent Units (GRUs) en LSTM (Long Short Term Memory).
- Presentatie van de verschillende staten en de evoluties die door deze architecturen werden gebracht
- Convergentie- en verdwijnende gradient problemen
- Klassieke architecturen: Predictie van een tijdsreeks, classificatie ...
- RNN Encoder Decoder type architectuur. Gebruik van een attention model.
- NLP toepassingen: woord / karakter codering, vertaling.
- Video Toepassingen: predictie van het volgende gegenereerde beeld van een video-sequentie.
Generatiemodelen: Variational AutoEncoder (VAE) en Generative Adversarial Networks (GAN).
- Presentatie van de generatiemodelen, link met de CNN's
- Auto-encoder: reductie van dimensionaliteit en beperkte generatie
- Variational Auto-encoder: generatiemodel en approximering van de verdeling van een gegeven. Definitie en gebruik van latent space. Reparameterization trick. Toepassingen en waargenomen Limites
- Generative Adversarial Networks: Fundamentals.
- Dubbel Netwerk Architectuur (Generator en discriminator) met alternerend leren, beschikbare kostfuncties.
- Convergentie van een GAN en tegengekomen moeilijkheden.
- Verbeterde convergentie: Wasserstein GAN, Began. Earth Moving Distance.
- Toepassingen voor de generatie van beelden of foto's, tekstgeneratie, super-resolutie.
Diepe Reinforcement Learning.
- Presentatie van reinforcement learning: besturing van een agent in een gedefinieerde omgeving
- Door een staat en mogelijke acties
- Gebruik van een neurale netwerk om de staatsfunctie te approximeren
- Deep Q Learning: experience replay, en toepassing op de besturing van een videospel.
- Optimalisatie van learnings policy. On-policy && off-policy. Actor critic architectuur. A3C.
- Toepassingen: besturing van een enkel videospel of een digitaal systeem.
Deel 2 – Theano voor diepe learning
Theano Basis
- Introductie
- Installatie en Configuratie
TheanoFunctions
- inputs, outputs, updates, givens
Training en Optimalisatie van een neurale netwerk met Theano
- Neurale Netwerk Modellering
- Logistieke Regressie
- Training van een netwerk
- Berekening en Classificatie
- Optimalisatie
- Log Loss
Testen van het model
Deel 3 – DNN met gebruik van Tensorflow
TensorFlow Basis
- Creatie, Initialisatie, Opslag en Herstellen van TensorFlow variabelen
- Voeren, Lezen en Voorladen van TensorFlow Data
- Hoe de TensorFlow infrastructuur te gebruiken om modellen op schaal te trainen
- Modellen visualiseren en evalueren met TensorBoard
TensorFlow Mechanieken
- Data voorbereiden
- Downloaden
- Inputs en Placeholders
-
Bouwen van de Grafieken
- Inference
- Loss
- Training
-
Het Model Trainen
- The Graph
- The Session
- Train Loop
-
Het Model Evalueren
- Build the Eval Graph
- Eval Output
De Perceptron
- Activeringsfuncties
- Het perceptron leer-algoritme
- Binaire classificatie met de perceptron
- Documentclassificatie met de perceptron
- Beperkingen van de perceptron
Van de Perceptron naar Support Vector Machines
- Kernels en de kernel trick
- Maximale margin classificatie en support vectors
Kunstmatige Neurale Netwerken
- Niet-lineaire decision boundaries
- Feedforward and feedback artificial neural networks
- Multilaags perceptrons
- Minimiseren van de kostfunctie
- Forward propagation
- Back propagation
- Verbeteren van de manier waarop neurale netwerken leren
Convolutionele Neurale Netwerken
- Doelen
- Model Architectuur
- Principes
- Code Organisatie
- Het Model Starten en Trainen
- Een Model Evalueren
Basis introducties moeten worden gegeven voor de onderstaande modules (Korte Introductie wordt geboden op basis van tijdsgrens):
Tensorflow - Geavanceerd Gebruik
- Threading and Queues
- Distributed TensorFlow
- Writing Documentation and Sharing your Model
- Customizing Data Readers
- Manipulating TensorFlow Model Files
TensorFlow Serving
- Introductie
- Basic Serving Tutorial
- Advanced Serving Tutorial
- Serving Inception Model Tutorial
Vereisten
Achtergrond in fysica, wiskunde en programmeren. Betrokkenheid bij activiteiten op het gebied van beeldverwerking.
Deelnemers moeten beschikken over een voorafgaand inzicht in concepten van machine learning en ervaring hebben met Python-programmeren en bijbehorende bibliotheken.
Getuigenissen (2)
De aanpassing van de exos aan onze context en het meenemen van onze vraag
Amel Guetat - EURO-INFORMATION DEVELOPPEMENTS
Cursus - Fraud Detection with Python and TensorFlow
Automatisch vertaald
De training was goed georganiseerd en uitgewerkt, waardoor ik er een gestructureerde kennis van heb opgedaan en een goed overzicht krijg van de onderwerpen die we hebben besproken.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Cursus - Deep Learning with TensorFlow 2
Automatisch vertaald