- Einleitung
- Download der Kursmaterialien
- Installation unserer Python-Umgebung
- Was tun wenn: Jupyter startet nicht
- Begriffsklärung (optional): Machine Learning, Neuronale Netze, Deep Learning, AI
- Crashkurs Jupyter
- Crashkurs Python
- Crashkurs Numpy
- Ein einzelnes Neuron (Intuition)
- Ein einzelnes Neuron (in Python)
- Ein einzelnes Neuron mit Bias (Intuition)
- Ein einzelnes Neuron mit Bias (in Python)
- Aufgabe: Verbrauch von Autos vorhersagen
- Musterlösung: Verbrauch von Autos vorhersagen
- Aktivierungsfunktion (Intuition)
- Aktivierungsfunktion (in Python)
- Optionaler Exkurs: Warum lassen sich Neuronen nicht "hintereinanderschalten"?
- Wie ist ein Neuronales Netz aufgebaut?
- Wie werden die Gewichte aktualisiert? - Teil 1
- Wie werden die Gewichte aktualisiert? - Teil 2
- Das Gradientenabstiegsverfahren
- Stochastic Gradient Descent
- So lernt das Netz: Backpropagation - Teil 1
- So lernt das Netz: Backpropagation - Teil 2
- Vorstellung: Keras und Tensorflow
- Hinweis: Keras
- Installation von Keras & Tensorflow
- Unser Projekt
- Unsere Daten
- Unser erstes Neuronales Netz
- Wir machen eine erste Vorhersage!
- Genauigkeit berechnen (manuell)
- Genauigkeit berechnen (mit Keras)
- Neuronales Netz validieren: Das train/test-Verfahren
- Neuronales Netz validieren: Das train/test-Verfahren (mit Keras)
- Ein Neuronales Netz mit mehreren Ausgängen (Intuition)
- Wie beurteilen wir die Genauigkeit vom Netz?
- Wir generieren eine Confusion-Matrix
- Wahrscheinlichkeiten vorhersagen: Der Softmax (Intuition)
- Wahrscheinlichkeiten vorhersagen: Der Softmax (Keras)
- Aktivierungsfunktionen (Intuition)
- Aktivierungsfunktionen (mit Keras)
- Wie werden die Gewichte optimiert? Optimizer! (Intuition)
- Wie werden die Gewichte optimiert? Optimizer! (in Keras)
- Wie komplex darf überhaupt unser Netz sein?
- Motivation: CNN
- Exkurs: Wie ist überhaupt ein Bild aufgebaut?
- Wie ist ein Convolutional-Neural-Network aufgebaut?
- CNN mit Keras (inkl. Aufgabe)
- CNN: Lösungstipps
- CNN: Musterlösung
- CNN: Wie werden die Gewichte aktualisiert?
- CNN: Wir schauen uns ein CNN genauer an: Aktiverungen visualisieren
- Grundlage für komplexere CNNs: Wie funktioniert ein MaxPooling-Layer?
- Max-Pooling (in Python)
- Link: Visualisierung eines CNNs
- Visualisierung eines CNNs
- Wir erhöhen unsere Genauigkeit: Dropout (Intuition)
- Wir erhöhen unsere Genauigkeit: Dropout (in Keras)
- WICHTIG: Kostenlose GPU möglich?
- Einführung: GPU in der Cloud
- [Mac only]: Vorbereitung für die nächsten paar Lektionen
- Vorbereitung für die Cloud: Exkurs PowerShell / Linux-Shell - Teil 1
- Vorbereitung für die Cloud: Exkurs PowerShell / Linux-Shell - Teil 2
- Vorstellung EC2: Welche Instanz-Typen kommen für uns in Frage?
- [Windows only]: SSH-Keygen not found
- Hinweis: Instanz in der Amazon-Cloud anmieten
- Wir mieten einen Computer in der Amazon-Cloud an
- Jupyter in der Amazon-Cloud
- Kursmaterialien in die Cloud übertragen
- Was tun bei: ModuleNotFoundError in Jupyter auf der EC2-Instanz?
- Tipp: Prozessorauslastung & GPU-Auslastung der EC2-Instanz überwachen
- Wichtig: EC2-Instanz stoppen!
- Wichtig: Kosten sparen
- Einführung: Kostenlose GPU in der Google-Cloud
- Wie verwendest du die kostenlose GPU in der Google-Cloud?
- Vorstellung: Die Cifar-Daten
- Wir trainieren ein Netz auf den Cifar-Daten (Teil 1)
- Wir trainieren ein Netz auf den Cifar-Daten (Teil 2)
- Wir trainieren ein Netz auf den Cifar-Daten (Teil 3)
- Wir trainieren ein Netz auf den Cifar-Daten (Teil 4)
- Zusätzliche Daten generieren - Teil 1
- Zusätzliche Daten generieren - Teil 2 (optional)
- Hinweis zur nächsten Lektion
- Wir trainieren das Modell mit den zusätzlichen Daten
- Training finalisieren, Modell abspeichern
- Vorstellung Projekt: Bilderkennung Autos
- Grundlagen Bilder verarbeiten: Pillow - Teil 1
- Grundlagen Bilder verarbeiten: Pillow - Teil 2