Kontakt aufnehmen

Schulungsübersicht

Teil 1 – Deep Learning und DNN-Konzepte

Einführung in KI, maschinelles Lernen und Deep Learning

  • Geschichte, grundlegende Konzepte und übliche Anwendungen der künstlichen Intelligenz, abgesehen von den Fantasien, die dieser Bereich hervorgebracht hat
  • Kollektive Intelligenz: Aggregation von Wissen, das von vielen virtuellen Agenten geteilt wird
  • Genetische Algorithmen: Evolution einer Population virtueller Agenten durch Selektion
  • Übliche lernende Maschinen: Definition
  • Arten von Aufgaben: Supervisiertes Lernen, ungesupervisiertes Lernen, Verstärkungslernen
  • Arten von Aktionen: Klassifikation, Regression, Clustering, Dichteschätzung, Dimensionsreduktion
  • Beispiele für Algorithmen des maschinellen Lernens: Lineare Regression, Naive Bayes, Random Forest (Zufallsbaum)
  • Maschinelles Lernen vs. Deep Learning: Probleme, bei denen maschinelles Lernen (Random Forests & XGBoost) heute noch den Stand der Technik darstellt

Grundkonzepte eines neuronalen Netzes (Anwendung: Mehrlagige Perzeptronen)

  • Wiederauffrischung der mathematischen Grundlagen
  • Definition eines Netzwerkes von Neuronen: Klassische Architektur, Aktivierung und
  • Gewichtung früherer Aktivierungen, Tiefe eines Netzes
  • Definition des Lernens eines neuronalen Netzes: Kostenfunktionen, Backpropagation, Stochastischer Gradientenabstieg, Maximum-Likelihood-Schätzung
  • Modellierung eines neuronalen Netzes: Modellierung von Eingabe- und Ausgabedaten je nach Problemart (Regression, Klassifikation ...). Fluch der Dimensionalität
  • Unterscheidung zwischen Mehrfachmerksdaten und Signalen. Wahl einer Kostenfunktion je nach Datenart
  • Approximierung einer Funktion durch ein neuronales Netz: Präsentation und Beispiele
  • Approximierung einer Verteilung durch ein neuronales Netz: Präsentation und Beispiele
  • Datenaugmentation: Wie man einen Datensatz ausbalanciert
  • Generalisierung der Ergebnisse eines neuronalen Netzes
  • Initialisierung und Regularisierung eines neuronalen Netzes: L1-/L2-Regularisierung, Batch Normalization
  • Optimierungs- und Konvergenzalgorithmen

Standardwerkzeuge für ML/DL

Eine kurze Präsentation mit Vor- und Nachteilen, der Position im Ökosystem und der Nutzung ist geplant.

  • Datenumgebungs-Tools: Apache Spark, Apache Hadoop Tools
  • Maschinelles Lernen: Numpy, Scipy, Scikit
  • Deep-Learning-Frameworks auf hoher Abstraktionsebene: PyTorch, Keras, Lasagne
  • Deep-Learning-Frameworks auf niedriger Abstraktionsebene: Theano, Torch, Caffe, TensorFlow

Konvolutionelle neuronale Netze (CNNs)

  • Präsentation der CNNs: Grundprinzipien und Anwendungen
  • Grundlegende Funktionsweise eines CNNs: Konvolutionsschicht, Verwendung eines Kernels,
  • Padding & Stride, Generierung von Feature Maps, Pooling-Schichten. Erweiterungen für 1D, 2D und 3D
  • Präsentation der verschiedenen CNN-Architekturen, die den Stand der Technik in der Klassifikation gebracht haben
  • Bilder: LeNet, VGG-Netzwerke, Network in Network, Inception, ResNet. Präsentation der Innovationen, die durch jede Architektur gebracht wurden, und ihrer breiteren Anwendungen (1x1-Konvolution oder residual connections)
  • Verwendung eines Aufmerksamkeitsmodells (Attention Model)
  • Anwendung auf einen üblichen Klassifikationsfall (Text oder Bild)
  • CNNs für Generierung: Superauflösung, pixelweise Segmentierung. Präsentation
  • Hauptstrategien zur Erhöhung von Feature Maps für die Bildgenerierung

Rekurrente neuronale Netze (RNNs)

  • Präsentation der RNNs: Grundprinzipien und Anwendungen
  • Grundlegende Funktionsweise der RNNs: Versteckte Aktivierung, Backpropagation durch die Zeit (BPTT), entfaltete Version
  • Weiterentwicklung zu Gated Recurrent Units (GRUs) und LSTM (Long Short Term Memory)
  • Präsentation der verschiedenen Zustände und der durch diese Architekturen eingeführten Weiterentwicklungen
  • Konvergenz- und verschwindende Gradientenproblematik (vanishing gradient)
  • Klassische Architekturen: Vorhersage zeitlicher Reihen, Klassifikation ...
  • RNN Encoder-Decoder-Architektur. Verwendung eines Aufmerksamkeitsmodells
  • NLP-Anwendungen: Wort-/Zeichenkodierung, Übersetzung
  • Videoanwendungen: Vorhersage des nächsten generierten Bildes einer Videosequenz

Generative Modelle: Variational AutoEncoder (VAE) und Generative Adversarial Networks (GANs)

  • Präsentation der generativen Modelle, Verbindung zu den CNNs
  • Autoencoder: Dimensionsreduktion und begrenzte Generierung
  • Variational Autoencoder: Generatives Modell und Approximierung der Verteilung eines gegebenen. Definition und Nutzung des latenten Raums. Reparameterisierungstrick. Beobachtete Anwendungen und Grenzen
  • Generative Adversarial Networks: Grundlagen
  • Dual Network Architecture (Generator und Diskriminator) mit alternierendem Lernen, verfügbare Kostenfunktionen
  • Konvergenz einer GAN und begegnete Schwierigkeiten
  • Verbesserte Konvergenz: Wasserstein GAN, Began. Earth Moving Distance
  • Anwendungen zur Generierung von Bildern oder Fotos, Textgenerierung, Superauflösung

Deep Reinforcement Learning

  • Präsentation des Verstärkungslernens: Steuerung eines Agenten in einer definierten Umgebung
  • Durch einen Zustand und mögliche Aktionen
  • Verwendung eines neuronalen Netzes zur Approximierung der Zustandsfunktion
  • Deep Q-Learning: Experience Replay und Anwendung zur Steuerung eines Videospieles
  • Optimierung der Lernpolitik. On-policy && off-policy. Actor-Critic-Architektur. A3C
  • Anwendungen: Steuerung eines einzelnen Videospieles oder eines digitalen Systems

Teil 2 – Theano für Deep Learning

Theano-Grundlagen

  • Einführung
  • Installation und Konfiguration

Theano-Funktionen

  • Eingaben, Ausgaben, Updates, Givens

Training und Optimierung eines neuronalen Netzes mit Theano

  • Modellierung eines neuronalen Netzes
  • Logistische Regression
  • Versteckte Schichten (Hidden Layers)
  • Training eines Netzes
  • Berechnung und Klassifikation
  • Optimierung
  • Log Loss

Testen des Modells

Teil 3 – DNN mit TensorFlow

TensorFlow-Grundlagen

  • Erstellung, Initialisierung, Speichern und Wiederherstellen von TensorFlow-Variablen
  • Speisung, Lesen und Vorladen von TensorFlow-Daten
  • Wie man die TensorFlow-Infrastruktur zur Skalierung des Modelltrainings nutzt
  • Visualisierung und Bewertung von Modellen mit TensorBoard

TensorFlow-Mechanik

  • Daten vorbereiten
  • Herunterladen
  • Eingaben und Platzhalter (Placeholders)
  • Aufbau der Graphen
    • Inferenz
    • Verlust (Loss)
    • Training
  • Modell trainieren
    • Der Graph
    • Die Sitzung (Session)
    • Trainingsloop (Train Loop)
  • Modell bewerten
    • Aufbau des Bewertungsgraphen (Eval Graph)
    • Bewertungsausgabe (Eval Output)

Das Perzeptron

  • Aktivierungsfunktionen
  • Der Perzeptron-Lernalgorithmus
  • Binäre Klassifikation mit dem Perzeptron
  • Dokumentenklassifikation mit dem Perzeptron
  • Grenzen des Perzeptroms

Vom Perzeptron zu Support Vector Machines

  • Kerne und der Kernel-Trick
  • Maximum-Margin-Klassifikation und Stützvektoren (Support Vectors)

Künstliche neuronale Netze

  • Nichtlineare Entscheidungsgrenzen
  • Feedforward- und Feedback-künstliche neuronale Netze
  • Mehrlagige Perzeptronen (Multilayer Perceptrons)
  • Minimierung der Kostenfunktion
  • Forward Propagation (Vorwärtspropagation)
  • Back Propagation (Rückwärtspropagation)
  • Verbesserung der Art, wie neuronale Netze lernen

Konvolutionelle neuronale Netze

  • Ziele
  • Modellarchitektur
  • Prinzipien
  • Code-Organisation
  • Starten und Training des Modells
  • Bewertung eines Modells

Grundlegende Einführungen in die folgenden Module sollen gegeben werden (Kurz introduction, je nach verfügbarer Zeit):

TensorFlow – Erweiterte Nutzung

  • Threading und Warteschlangen (Queues)
  • Distribuiertes TensorFlow
  • Schreiben von Dokumentation und Teilen Ihres Modells
  • Anpassung von Datenlesern (Data Readers)
  • Manipulation von TensorFlow-Modelldateien

TensorFlow Serving

  • Einführung
  • Basis-Serving-Tutorial
  • Erweitertes Serving-Tutorial
  • Tutorial zum Serving des Inception-Modells

Voraussetzungen

Vorkenntnisse in Physik, Mathematik und Programmierung. Beteiligt an Bildverarbeitungsaufgaben.

Die Teilnehmer sollten ein grundlegendes Verständnis der Konzepte des maschinellen Lernens besitzen und praktische Erfahrung mit der Programmierung in Python sowie den entsprechenden Bibliotheken haben.

 35 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (2)

Kommende Kurse

Verwandte Kategorien