Schulungsübersicht
Teil 1 – Deep Learning und DNN-Konzepte
Einführung in KI, Machine Learning und Deep Learning
- Geschichte, Grundkonzepte und übliche Anwendungen der künstlichen Intelligenz weit entfernt von den Fantasien, die dieser Bereich trägt. Kollektive Intelligenz: Aggregation von Wissen, das von vielen virtuellen Agenten geteilt wird. Genetische Algorithmen: Entwicklung einer Population virtueller Agenten durch Auswahl. Übliche Lernmaschine: Definition. Arten von Aufgaben: überwachtes Lernen, unüberwachtes Lernen, verstärkendes Lernen. Arten von Aktionen: Klassifizierung, Regression, Clustering, Dichteschätzung, Reduzierung der Dimensionalität. Beispiele für Algorithmen für maschinelles Lernen: lineare Regression, Naive Bayes, Random Tree. Maschinelles Lernen vs. Deep Learning: Probleme auf welches maschinelle Lernen heute noch der Stand der Technik ist (Random Forests & XGBoosts)
Grundkonzepte eines neuronalen Netzwerks (Anwendung: mehrschichtiges Perzeptron)
- Erinnerung an mathematische Grundlagen. Definition eines Neuronennetzwerks: klassische Architektur, Aktivierung und Gewichtung früherer Aktivierungen, Tiefe eines Netzwerks. Definition des Lernens eines Neuronennetzwerks: Kostenfunktionen, Backpropagation, stochastischer Gradientenabstieg, maximale Wahrscheinlichkeit. Modellierung eines neuronalen Netzwerks: Modellierung von Eingabe- und Ausgabedaten entsprechend der Art des Problems (Regression, Klassifizierung ...). Fluch der Dimensionalität. Unterscheidung zwischen Multi-Feature-Daten und Signal. Auswahl einer Kostenfunktion entsprechend den Daten. Approximation einer Funktion durch ein Netzwerk von Neuronen: Präsentation und Beispiele Approximation einer Verteilung durch ein Netzwerk von Neuronen: Präsentation und Beispiele Datenerweiterung: Wie man einen Datensatz ausgleicht Verallgemeinerung der Ergebnisse eines Netzwerks von Neuronen. Initialisierung und Regularisierung eines neuronalen Netzwerks: L1/L2-Regularisierung, Batch-Normalisierung, Optimierung und Konvergenzalgorithmen
Standard-ML/DL-Tools
Geplant ist eine einfache Darstellung mit Vor- und Nachteilen, Stellung im Ökosystem und Nutzung.
- Datenverwaltungstools: Apache Spark, Apache Hadoop Tools Maschinelles Lernen: Numpy, Scipy, Sci-kit DL-Frameworks auf hoher Ebene: PyTorch, Keras, Lasagne DL-Frameworks auf niedriger Ebene: Theano, Torch, Caffe, Tensorflow
Faltung Neural Networks (CNN).
- Vorstellung der CNNs: Grundprinzipien und Anwendungen. Grundlegende Funktionsweise eines CNN: Faltungsschicht, Verwendung eines Kernels, Padding & Stride, Feature-Map-Generierung, Pooling-Schichten. Erweiterungen 1D, 2D und 3D. Präsentation der verschiedenen CNN-Architekturen, die den Stand der Technik in der Klassifizierung gebracht haben. Bilder: LeNet, VGG Networks, Network in Network, Inception, Resnet. Präsentation der durch die einzelnen Architekturen hervorgerufenen Innovationen und ihrer globaleren Anwendungen (Faltung 1x1 oder Restverbindungen). Verwendung eines Aufmerksamkeitsmodells. Anwendung auf einen allgemeinen Klassifizierungsfall (Text oder Bild) zur Generierung von CNNs: Superauflösung, Pixel-zu-Pixel-Segmentierung. Präsentation der Hauptstrategien zur Erweiterung von Feature-Maps für die Bilderzeugung.
Wiederkehrend Neural Networks (RNN).
- Präsentation von RNNs: Grundprinzipien und Anwendungen. Grundlegende Funktionsweise des RNN: versteckte Aktivierung, Rückausbreitung durch die Zeit, entfaltete Version. Entwicklungen hin zu Gated Recurrent Units (GRUs) und LSTM (Long Short Term Memory). Darstellung der verschiedenen Zustände und der durch diese Architekturen hervorgerufenen Entwicklungen Konvergenz- und Vanising-Gradienten-Probleme Klassische Architekturen: Vorhersage einer zeitlichen Reihe, Klassifizierung ... Architektur vom Typ RNN Encoder Decoder. Verwendung eines Aufmerksamkeitsmodells. NLP-Anwendungen: Wort-/Zeichenkodierung, Übersetzung. Videoanwendungen: Vorhersage des nächsten generierten Bildes einer Videosequenz.
Generationsmodelle: Variational AutoEncoder (VAE) und Generative Adversarial Networks (GAN).
- Vorstellung der Generationsmodelle, Verknüpfung mit den CNNs. Auto-Encoder: Reduzierung der Dimensionalität und begrenzte Generation. Variationaler Auto-Encoder: Generationsmodell und Approximation der Verteilung eines Gegebenen. Definition und Nutzung des latenten Raums. Reparametrisierungstrick. Beobachtete Anwendungen und Grenzen Generative Adversarial Networks: Grundlagen. Duale Netzwerkarchitektur (Generator und Diskriminator) mit alternativen Lern- und Kostenfunktionen verfügbar. Konvergenz eines GAN und aufgetretene Schwierigkeiten. Verbesserte Konvergenz: Wasserstein GAN, Began. Erdbewegungsentfernung. Anwendungen zur Generierung von Bildern oder Fotos, Textgenerierung, Superauflösung.
Tief Reinforcement Learning.
- Darstellung des verstärkenden Lernens: Steuerung eines Agenten in einer definierten Umgebung durch einen Zustand und mögliche Aktionen. Verwendung eines neuronalen Netzwerks zur Annäherung an die Zustandsfunktion. Deep Q Learning: Erfahrungswiederholung und Anwendung auf die Steuerung eines Videospiels. Optimierung der Lernpolitik. Richtlinienkonform und nicht richtlinienkonform. Schauspieler-Kritiker-Architektur. A3C. Anwendungen: Steuerung eines einzelnen Videospiels oder eines digitalen Systems.
Teil 2 – Theano für Deep Learning
Theano-Grundlagen
- Einführung Installation und Konfiguration
Theano-Funktionen
- Eingaben, Ausgaben, Aktualisierungen, Gegebenheiten
Training und Optimierung eines neuronalen Netzwerks mit Theano
- Modellierung neuronaler Netzwerke, logistische Regression, versteckte Schichten, Training eines Netzwerks, Berechnung und Klassifizierung, Optimierung, Protokollverlust
Testen des Modells
Teil 3 – DNN mit Tensorflow
TensorFlow Grundlagen
- Erstellen, Initialisieren, Speichern und Wiederherstellen von TensorFlow Variablen. Zuführen, Lesen und Vorladen von TensorFlow Daten. Verwendung der TensorFlow Infrastruktur zum Trainieren von Modellen im Maßstab. Visualisieren und Bewerten von Modellen mit TensorBoard
TensorFlow Mechanik
- Bereiten Sie die Daten-Download-Eingaben und Platzhalter vor. Erstellen Sie das GraphS-Inferenzverlust-Training
Vom Perzeptron zur Support Vector Machine
- Kernel und der Kernel-Trick Maximale Randklassifizierung und Unterstützungsvektoren
Künstlich Neural Networks
- Nichtlineare Entscheidungsgrenzen Künstliche neuronale Feedforward- und Feedback-Netzwerke Mehrschichtige Perzeptrone Minimierung der Kostenfunktion Vorwärtsausbreitung Rückwärtsausbreitung Verbesserung der Art und Weise, wie neuronale Netzwerke lernen
Faltung Neural Networks
- Goals Modellarchitekturprinzipien Codeorganisation Starten und Trainieren des Modells Bewerten eines Modells
- Grundlegende Einführungen in die folgenden Module (kurze Einführung je nach verfügbarer Zeit):
Tensorflow – Erweiterte Verwendung
Threading und verteilte Warteschlangen TensorFlow Dokumentation schreiben und Ihr Modell freigeben Anpassen von Datenlesern Bearbeiten von TensorFlow Modelldateien
TensorFlow Servieren
- Einführung: Grundlegendes Servier-Tutorial, Erweitertes Servier-Tutorial, Servier-Inception-Modell-Tutorial
Voraussetzungen
Hintergrund in Physik, Mathematik und Programmierung. Beteiligung an Bildverarbeitungsaktivitäten.
Die Teilnehmer sollten ein Vorverständnis von Konzepten des maschinellen Lernens haben und mit Python Programmierung und Bibliotheken gearbeitet haben.