Course Outline
Deel 1 – Deep Learning en DNN-concepten
Inleiding AI, Machine Learning en diep leren
- Geschiedenis, basisconcepten en gebruikelijke toepassingen van kunstmatige intelligentie behoren tot de fantasieën die door dit domein worden gedragen. Collectieve intelligentie: het verzamelen van kennis die door veel virtuele agenten wordt gedeeld. Genetische algoritmen: om een populatie van virtuele agenten te ontwikkelen door selectie. Gebruikelijke leermachine: definitie. Soorten taken: begeleid leren, onbewaakt leren, versterkend leren Soorten acties: classificatie, regressie, clustering, dichtheidsschatting, vermindering van dimensionaliteit Voorbeelden van Machine Learning-algoritmen: lineaire regressie, naïeve Bayes, willekeurige boom Machine learning VS Deep Learning: problemen op welke Machine Learning vandaag de dag de stand van de techniek blijft (Random Forests & XGBoosts)
Basisconcepten van een neuraal netwerk (toepassing: meerlaagse perceptron)
- Herinnering aan wiskundige grondslagen. Definitie van een netwerk van neuronen: klassieke architectuur, activering en weging van eerdere activeringen, diepte van een netwerk Definitie van het leren van een netwerk van neuronen: functies van kosten, back-propagatie, stochastische gradiëntafdaling, maximale waarschijnlijkheid. Modellering van een neuraal netwerk: modellering van invoer- en uitvoergegevens volgens het type probleem (regressie, classificatie ...). Vloek van de dimensionaliteit. Onderscheid tussen gegevens met meerdere functies en signaal. Keuze van een kostenfunctie op basis van de gegevens. Benadering van een functie door een netwerk van neuronen: presentatie en voorbeelden Benadering van een verdeling door een netwerk van neuronen: presentatie en voorbeelden Datavergroting: hoe een dataset in evenwicht te brengen Generalisatie van de resultaten van een netwerk van neuronen. Initialisatie en regularisatie van een neuraal netwerk: L1 / L2-regularisatie, Batch-normalisatie-optimalisatie en convergentie-algoritmen
Standaard ML/DL-tools
Er is een eenvoudige presentatie gepland met voordelen, nadelen, positie in het ecosysteem en gebruik.
- Tools voor gegevensbeheer: Apache Spark, Apache Hadoop Tools Machine Learning: Numpy, Scipy, Sci-kit DL-frameworks op hoog niveau: PyTorch, Keras, Lasagne DL-frameworks op laag niveau: Theano, Torch, Caffe, Tensorflow
Convolutioneel Neural Networks (CNN).
- Presentatie van de CNN's: fundamentele principes en toepassingen Basiswerking van een CNN: convolutionele laag, gebruik van een kernel, Padding & stride, generatie van feature-kaarten, pooling van lagen. Uitbreidingen 1D, 2D en 3D. Presentatie van de verschillende CNN-architecturen die de nieuwste stand van de techniek op het gebied van classificatie brachten. Afbeeldingen: LeNet, VGG Networks, Network in Network, Inception, Resnet. Presentatie van innovaties die door elke architectuur tot stand worden gebracht en hun meer globale toepassingen (Convolutie 1x1 of resterende verbindingen) Gebruik van een aandachtsmodel. Toepassing op een gemeenschappelijk classificatiegeval (tekst of afbeelding) CNN's voor generatie: superresolutie, pixel-naar-pixel-segmentatie. Presentatie van de belangrijkste strategieën voor het vergroten van featuremaps voor het genereren van afbeeldingen.
Terugkerend Neural Networks (RNN).
- Presentatie van RNN's: fundamentele principes en toepassingen. Basiswerking van de RNN: verborgen activering, terugverspreiding door de tijd, uitgevouwen versie. Evoluties in de richting van de Gated Recurrent Units (GRU's) en LSTM (Long Short Term Memory). Presentatie van de verschillende toestanden en de evoluties die deze architecturen teweegbrengen Convergentie en verdwijnende gradiëntproblemen Klassieke architecturen: Voorspelling van een temporele reeks, classificatie ... RNN Encoder Architectuur van het decodertype. Gebruik van een aandachtsmodel. NLP-toepassingen: woord-/tekencodering, vertaling. Videotoepassingen: voorspelling van het volgende gegenereerde beeld van een videosequentie.
Generatiemodellen: Variational AutoEncoder (VAE) en Generative Adversarial Networks (GAN).
- Presentatie van de generatiemodellen, link met de CNNs Auto-encoder: vermindering van dimensionaliteit en beperkte generatie Variationele Auto-encoder: generatiemodel en benadering van de distributie van een gegeven. Definitie en gebruik van latente ruimte. Truc voor het opnieuw parametriseren. Toepassingen en grenzen waargenomen Generatieve vijandige netwerken: basisbeginselen. Dubbele netwerkarchitectuur (generator en discriminator) met alternatieve leer- en kostenfuncties beschikbaar. Convergentie van een GAN en ondervonden moeilijkheden. Verbeterde convergentie: Wasserstein GAN, Begon. Aardeverplaatsingsafstand. Toepassingen voor het genereren van afbeeldingen of foto's, het genereren van tekst, superresolutie.
Diep Reinforcement Learning.
- Presentatie van versterkend leren: controle van een agent in een gedefinieerde omgeving door een staat en mogelijke acties. Gebruik van een neuraal netwerk om de statusfunctie te benaderen. Deep Q Learning: herhaling van ervaringen en toepassing op de controle van een videogame. Optimalisatie van leerbeleid. Binnen het beleid en& buiten het beleid. Acteur criticus architectuur. A3C. Toepassingen: besturing van een enkel videospel of een digitaal systeem.
Deel 2 – Theano voor Deep Learning
Theano-basisprincipes
- Inleiding Installatie en configuratie
Theano-functies
- inputs, outputs, updates, gegevenheden
Training en optimalisatie van een neuraal netwerk met behulp van Theano
- Modellering van neurale netwerken Logistieke regressie Verborgen lagen Een netwerk trainen Optimalisatie van computergebruik en classificatie Logboekverlies
Het model testen
Deel 3 – DNN met Tensorflow
TensorFlow Basisprincipes
- Variabelen maken, initialiseren, opslaan en herstellen TensorFlow Gegevens invoeren, lezen en vooraf laden TensorFlow Infrastructuur gebruiken om modellen op schaal te trainen Modellen visualiseren en evalueren met TensorBoard
TensorFlow Mechanica
- Bereid de gegevensdownloadinvoer en tijdelijke aanduidingen voor. Bouw de GraphS Inference Loss Training
Van de Perceptron tot ondersteuning van vectormachines
- Kernels en de kerneltruc Maximale margeclassificatie en ondersteuningsvectoren
Kunstmatig Neural Networks
- Niet-lineaire beslissingsgrenzen Feedforward en feedback kunstmatige neurale netwerken Meerlaagse perceptrons Minimaliseren van de kostenfunctie Voorwaartse voortplanting Achterwaartse voortplanting Verbetering van de manier waarop neurale netwerken leren
Convolutioneel Neural Networks
- Goals Model Architectuur Principes Code Organisatie Het model lanceren en trainen Een model evalueren
- Basisintroducties die moeten worden gegeven voor de onderstaande modules (korte introductie moet worden gegeven op basis van beschikbare tijd):
Tensorflow - Geavanceerd gebruik
Threading en wachtrijen gedistribueerd TensorFlow Documentatie schrijven en uw model delen Gegevenslezers aanpassen TensorFlow Modelbestanden bewerken
TensorFlow Serveren
- Inleiding Basishandleiding voor presentaties Tutorial voor geavanceerde presentaties Bedieningshandleiding voor aanvangsmodel
Requirements
Achtergrond in natuurkunde, wiskunde en programmeren. Betrokkenheid bij beeldverwerkingsactiviteiten.
De afgevaardigden moeten vooraf inzicht hebben in machine learning-concepten en moeten hebben gewerkt aan Python programmeren en bibliotheken.