Welcome2KI Teil 3: KI Deep Learning Projekte selbst umsetzen
PyTorch und fastai ermöglichen einen state-of-the-art Deep Learning Klassifizierer mit nur 8 Zeilen Code. Unvorstellbar?
Description
Der dritte Teil aus der Reihe "Welcome 2 KI" bringt uns zur Entwicklung von künstlicher Intelligenz mittels Deep Learning Techniken. Zum Einsatz kommen PyTorch und das darauf aufbauende fastai Framework.
Lerne, wie du mit fastai und PyTorch mit nur 8 Zeilen Code einen state-of-the-art Bildklassifizierer bauen kannst!
Wir lernen die kostenfreie Entwicklungsumgebung für Deep Learning von google: colab Notebooks kennen. Auf diese Weise können wir sehr einfach mit einer kostenfreien GPU arbeiten.
Im Anschluß entwickeln wir eine eigene Deep Learning Applikation und arbeiten den gesamten Prozess end-to-end bis zur Erstellung eines User-Interfaces für unsere Deep Learning Anwendung durch.
Neben den Techniken und der geschichtlichen Entwicklung von neuronalen Netzen, besprechen wir das Thema Data Augmentation.
Wie können wir aus einem beschränkten Datenset ein größeres machen und warum macht der Einsatz von verschiedenen Data Augmentation Techniken Sinn? Wie unterstützt uns fastai und PyTorch bei der Data Augmentation?
Wir stellen unser eigenes Trainingsdatenset automatisiert zusammen,
bauen ein Deep Learning Modell mithilfe neuronaler Netze,
testen unser Modell mit einem Validierungsdatenset und
Deployment unser Modell als Webapplikation kostenfrei im Internet
Danach gehen wir technisch in die Tiefe und implementieren sämtliche Schritte, die für das Trainieren eines Deep Learning Modells erforderlich sind mit reinem Python Code nach. Auf diese Weise verstehen wir die Zusammenhänge, was hinter den Kulissen einer künstlichen Intelligenz auf Basis von Deep Learning abläuft.
Was passiert genau während des "Lernens" unseres Modells?
Worin liegt der Unterschied zwischen der Metrik (zB Genauigkeit) unseres Modells und der Loss-Funktion (ZB Mean-Squared-Error). Warum benötigen wir beides?
Wie hilft uns ein Dataloader beim Umgang mit unseres Trainingsdaten?
Wie initialisieren wir die Gewichte (Parameter) in unserem neuronal Netz?
Was passiert während des Trainings mit den Gewichten des neuronalen Netzes?
Wie können wir PyTorch nutzen, um die Gradienten unserer Gewichte im neuronalen Netz zu berechnen?
Wir implementieren den Gradient-Descent Algorithmus "from-the-scratch" und
integrieren Mini-Batches, um zu Stochastic-Gradient-Descent zu gelangen.
Wir implementieren unseren eigenen Optimizer für die Verwendung mit PyTorch.
Warum benötigen wir "Nicht-Linearität", um ein komplexes neuronales Netz aufbauen zu können?
Was genau ist eine "Aktivierungsfunktion" wie zB. ReLU (Rectified Linear Unit)?
Wie kann ich mithilfe der Confusion Matrix das Ergebnis meines Modells bewerten?
Wie funktioniert ein Multi-Label Klassifizierer?
Sämtlicher Code, der im Kurs besprochen wird, ist via github verfügbar und kann direkt in google colab geöffnet und ausgeführt werden. Der Link zum Kurs-Repository befindet sich direkt in den Kursressourcen.
Dies ist nicht der Machine Learning Kurs von jannis seemann - es werden aber vergleichbare Inhalte vermittelt. Allerdings unter Verwendung von PyTorch und fastai.
What You Will Learn!
- Umsetzung eines Bildklassifizierers mit dem fastai Framework und PyTorch
- Aufbau eines individuellen Bilddatensets für unser Deep Learning System
- Implementierung eines individuellen Biildklassifizierers end-2-end.
- Wir generieren das Datenset, erstellen das Modell und fügen mit voila ein graphisches Userface hinzu. Im Anschluß erfolgt das kostenfreie Deployment im Web.
- Wie kann ich vom dem Thema Data Augmentation profitieren? Wie hilft das fastai Framework bei kleinen Datensets?
- Einsatz und Verwendung der google colab Plattform, um mithilfe einer kostenfreien GPU schnell neuronale Netze trainieren zu können.
- Woher kommt die Idee neuronaler Netze? Wie sind neuronale Netze aufgebaut?
- Worin liegt der große Vorteil von neuronalen Netzen?
- Worin besteht der Unterschied zwischen einer Metrik und einer loss-Funktion?
- Was ist das Approximations-Theorem? Etwas Mathematik, leicht verständlich erklärt.
- In-Depth Analyse. Was passiert hinter den Kulissen von fastai? Wir implementieren sämtliche Schritte mit purem Python nach!
- Warum kann ich Deep Learning Modelle auch für Datensets mit nur wenigen Elementen einsetzen?
- Was genau bedeutet das Konzept "Transfer-Learning" und wie kann ich es für einen Bild-Klassifizierer nutzen?
- Wie funktioniert der (Stochastic) Gradient Descent Algorithmus? Wie kann ich diesen mit reinem Python Code implementieren?
- Was genau ist ein Multi-Label Klassifizierer und wie baue ich eine solche Architektur selbst mithilfe von PyTorch und fastai?
- Was verbirgt sich hinter dem Begriff "Image Regression"?
- Wir implementieren ein Modell, das die Koordinaten der Mitte des Gesichts auf einem Portraitfoto errechnet.
Who Should Attend!
- Python Entwickler mit Interesse an künstlicher Intelligenz, deep learning und PyTorch / fastai.