- Willkommen und Organisatorisches
- Vorstellungsrunde der Teilnehmer
- Erwartungen der Teilnehmer an den Kurs
- Einführung in Jupyter Notebooks
- Nutzung von Cloud-Ressourcen für Berechnungen
Grundlagen von Maschinellem Lernen und Künstlicher Intelligenz (KI)
- Kurze Übersicht und historischer Hintergrund des Deep Learning
- Verständnis von KI, Deep Learning und Machine Learning
- Beispiele aktueller Deep Learning Algorithmen in marktüblichen Produkten
- Eigenständige Erstellung und Schulung eines grundlegenden neuronalen Netzes mit Keras
Daten Aufbereitung
- Effektive Vermeidung von Overfitting bei Machine Learning Algorithmen
- Strukturierung der Daten durch Trainings-Validierungs-Test Split zur Overfitting-Erkennung
- Optimale Datenvorbereitung durch Normalisierung und One-Hot Encoding
- Anwendung dieser Methoden auf den MNIST Datensatz
Multi-Layer-Perceptron (MLP) in Keras/Tensorflow (Neuronales Netz)
- Wichtige Elemente eines MLPs: Perceptron, Gewichtungen, Bias
- Einsicht in Non-linearities (Aktivierungsfunktionen)
- Einsatz von Softmax bei Klassifikationsaufgaben
Netzwerktraining und Anwendung auf neue Daten
- Auswahl passender Loss-Funktionen je nach Aufgabe
- Verständnis von Backpropagation: Anpassung der Gewichtungen
- Initiierung der Gewichtungen für reibungsloses Training
- Epochen und Batch-Size – Schlüsselparameter des Trainingsprozesses
- Interpretation des Outputs während des Trainings
- Einsatz des trainierten Modells für Vorhersagen auf neuen Daten
Convolutional Neural Network (CNN) – Teil I
- Erläuterung der Convolutional Layer (Faltungsschicht)
- Aufbau und Anwendung von Filtern
- Steuerung von Padding und Stride bei der Convolution
Convolutional Neural Network (CNN) – Teil II
- Optimierung der Anzahl an Channels und Filtern in der Faltungsschicht
- Einfluss von Bias in einem CNN
- Nutzung des Max-Pooling Layers für Dimensionalitätsreduktion
- Analyse der Lernprozesse in verschiedenen Ebenen eines CNNs
Keras Callbacks für optimales Training
- Implementierung und Einsatz von Keras Callbacks
- Speicherung von Modellgewichtungen und Architektur
- Frühzeitiges Beenden von Training mit Early Stopping
- Steuerung der Lernrate durch Learning Rate Scheduler
- Visualisierung des Trainingsverlaufs mit MlFlow
Bildklassifikation durch tiefe Netzwerke
- Einsatz des Softmax-Layers für Klassifikationsprobleme
- Berücksichtigung des Cross-Entropy Loss
- Einblick in bekannte Netzwerkarchitekturen: VGG-16 und AlexNet
- Anwendung von Regularisierungen: L2 Regularisierung, Drop-Out, Batch Normalisation
- Laden eines vortrainierten Modells für weitere Nutzung
Daten Einlesen mittels TF.Data
- Typischer Workflow für Datenverarbeitung mit tf.data
- Effiziente Verarbeitung großer Datensätze
- Beschleunigung des Einleseprozesses
Semi Supervised Learning (SSL) für breitere Anwendbarkeit
- Übersicht über Semi Supervised Learning Ansätze
- Einsatz des SimCLR Modells für Semi Supervised Learning
- Eigenständige Erstellung eines individuellen tf.keras Modells
- Nutzung des contrastive loss für Semi Supervised Learning
Best Practices für erfolgreiche Projekte
- Einführung in bewährte Vorgehensweisen bei neuen Deep Learning Aufgaben
- Hyperparameter Optimierung für optimale Modellleistung
- Optimierung des Modells nach dem Training für bestmögliche Ergebnisse
Feintuning und vortrainierte Netzwerke für bessere Ergebnisse
- Erläuterung weiterer etablierter Netzwerkarchitekturen: Inception-V3, ResNet
- Zugang zu existierendem Code für bereits trainierte Netzwerke
- Ausnutzung vortrainierter Netzwerke durch Feintuning und Transfer Learning
Methode
Der Kurs zur Künstlichen Intelligenz legt großen Wert auf praktische Anwendungen. Während der Schulung werden die Konzepte anhand von Folien und Beispielen erklärt. In den Übungseinheiten haben die Teilnehmer:innen die Möglichkeit, das Gelernte mithilfe der Programmiersprache Python in der Cloud mit Jupyter Notebooks umzusetzen. Die Trainer:innen stehen bei verschiedenen Aufgaben zur Unterstützung bereit und beantworten Fragen.