DEEP LEARNING WORKSHOP - ALLES WAS SIE WISSEN MÜSSEN
Python Grundlagen
Python Grundlagen
Die am meisten verwendete Programmiersprache im Bereich Deep Learning ist Python. Dies liegt unter anderem daran, dass die populärsten Frameworks wie TensorFlow oder PyTorch auf Python setzen. In dem Workshop vermitteln wir ein grundlegendes Verständnis der Syntax von Python und dessen Eigenheiten. Auf dieser Basis beschäftigen wir uns dann mit neuronalen Netzen. Die Umsetzung dieser findet mit dem Framework TensorFlow statt.
Verzweigungen
Schleifen
Funktionen
Klassen
With-Operator
Neuronale Netze Grundlagen
Neuronale Netze Grundlagen
In diesem Abschnitt lernen wir wie neuronale Netze aufgebaut sind. Darüber hinaus betrachten wir wie Daten in ein solches Netz eingegeben und verarbeitet werden. Ein weiterer wichtiger Aspekt wird das Training von neuronalen Netzen sein.
Aufbau von neuronalen Netzen
Verarbeitung von Daten
Berechnung von Ergebnissen
Training von neuronalen Netzen
Aktivierungsfunktionen
Vorverarbeitung von Daten
Vorverarbeitung von Daten
Unabhängig davon, ob man Bilder, Texte oder Audio Dateien mit einem neuronalen Netz verarbeiten will, müssen Daten in eine simple numerische Form gebracht werden, damit ein neuronales Netz damit arbeiten kann. Daher beschäftigen wir uns in diesem Teil des Workshops mit der Vorverarbeitung von Daten. Dies ist in jedem Fall eine absolute Voraussetzung zur Entwicklung von Deep Learning Systemen.
Normalisierung von Eingabedaten
Füllen von Lücken in Daten
Umgang mit Jupyter/Colab Notebooks
Umgang mit Jupyter/Colab Notebooks
Häufig werden neuronale Netzen in sogenannten Jupyter Notebooks entwickelt. Diese Notebooks könnte man am ehesten mit einer IDE vergleichen, jedoch gibt es deutliche Unterschiede. Da der Workflow bei der Entwicklung von neuronalen Netzen teilweise stark vom üblichen Workflow eines klassischen Programmierers abweicht ist es sehr hilfreich mit solchen Notebooks zu arbeiten. Neuronale Netze sind häufig mit wenig Code umgesetzt und werden in einzelne Codeblöcke gegliedert. Diese Blöcke werden meistens mehrfach ausgeführt, da man nicht immer die optimalen Parameter kennt. Notebooks erlauben genau dies zu tun. Code kann in Einzelteilen ausgeführt werden, ohne dass dabei das gesamte Programm immer wieder von vorne ausgeführt werden muss. Im Workshop verwenden wir Google Colab, welches kompatibel zu gängigen Jupyter Notebooks und in Google Drive integriert ist.
Aufsetzen von Notebooks
Sessions in Notebooks
Ausführung von Code
Dokumentation von Code
Klassifikation
Klassifikation
Grundsätzlich kann man mit neuronalen Netzen sehr viele unterschiedliche Probleme lösen. Jedoch brauchen unterschiedliche Problemdomänen im Detail auch sehr unterschiedliche Architekturen. Da wir im Workshop nicht die Kapazität haben diverse Bereiche zu bedienen, fokussieren wir uns auf Klassifikationsprobleme. Diese Art von Problemen kommen häufig vor und eignen sich ideal für den Einstieg in neuronale Netze. Beispiele sind Qualitätskontrollen von Produkten, Einschätzung von Textinhalten oder Diagnostik von Krankheiten.
Netzarchitekturen für Klassifikation
binäre Klassifikation
Ausführung von Code
Ausführung von Code
Ludwig
Ludwig
Ludwig ist ein auf TensorFlow aufbauendes Framework, das es erlaubt neuronale Netze viel einfacher zu erstellen. Dies wird erreicht, indem die Architektur des Netzes in eine separate Konfigurationsdatei ausgelagert wird. In dieser Datei können dann auch verschiedene andere Parameter eingestellt werden. Da Ludwig diverse Vorverarbeitungs-Mechanismen integriert, ist das aufbereiten der Eingangsdaten deutlich vereinfacht. Man muss in den meisten Fällen nur den Typ eines Datums angeben und Ludwig kümmert sich um den Rest. Ein weiterer Vorteil ist, dass Ludwig neben Klassifikation auch viele andere Probleme lösen kann. Somit lassen sich diverse andere Probleme lösen wie Übersetzung von Texten oder Generierung von Textbeschreibung zu Bildern.
Eingabemöglichkeiten von Daten
Definition von neuronalen Netzen
Training von neuronalen Netzen
Verwendung von trainierten Netzen in Produktivumgebungen
FEEDBACK VON TEILNEHMERN
Erkenntnisreicher Workshop
Vielen Dank Friedrich und Nino für den hervorragenden 3 tägigen Intensiv-Workshop!
Ich konnte viel mitnehmen
Obwohl ich bereits im Thema war, konnte ich trotzdem noch sehr viel mitnehmen.
Gute Informationen
Der Workshop Inhalt wurde gut übermittelt und für jeden verständlich wiedergegeben.
Gute Praxisarbeit
Mir hat die praxisbezogene Arbeit gefallen sowie die Fragerunden mit Nino und Friedrich.
FÄHIGKEITEN DIE DER WORKSHOP VERMITTELN
Vorverarbeitung von Daten
Daten so transformieren, dass man diese in neuronale Netze eingeben kann. Dabei lernst Du unterschiedliche Ansätze für unterschiedliche Datentypen kennen.
Umgang mit TensorFlow
Nach dem Workshop weißt Du wie man TensorFlow verwendet, um neuronale Netze zu erstellen, Daten in diese einzugeben und sie zu trainieren.
Klassifikation von Daten
Da dies ein Hauptthema des Workshops ist, wirst Du wissen wie man Klassifikationsprobleme mit TensorFlow oder Ludwig lösen kann.
Umgang mit Ludwig
Obwohl wir uns im Workshop Ludwig nur im Zusammenhang mit Klassifikation anschauen wirst Du trotzdem viele andere Probleme auch mit Ludwig lösen können. Dies liegt an der Architektur von Ludwig. Unterschiedlichste Probleme werden hiermit sehr ähnlich gelöst.
IHRE TRAINER
Friedrich Waack
Ich beschäftige mich nun schon seit über drei Jahren mit künstlichen neuronalen Netzen und versuche dabei stets up to date über den aktuellen Stand der Forschung zu sein. Als ich im Jahr 2016 zum ersten mal von neuronalen Netzen erfahren habe war ich auf Anhieb begeistert von diesen Systemen. Als Bioinformatiker interessiert mich dabei besonders die Schnittmenge zwischen künstlichen und biologischen neuronalen Netzen. Während dieser Zeit habe ich mich mit verschiedensten Architekturen auseinandergesetzt.
Nino Schnitker
Ich arbeite schon seit vielen Jahren im Bereich Machine Learning. Im Laufe dieser Zeit habe ich sowohl für mehrere Unternehmen, darunter auch Dax Konzerne, selbstlernende Algorithmen entwickelt, wie auch mehrere wissenschaftliche Arbeiten, zum Teil in internationaler Kooperation, geschrieben. Da Deep Learning eine wichtige, performante und aktuell sehr populäre Teildisziplin des Machine Learning ist, beschäftige ich mich mit diesem Thema auf beinahe täglicher Basis.
Nutzen Sie die linken/rechten Pfeile, um durch die Slideshow zu navigieren, oder wischen Sie nach links bzw. rechts, wenn Sie ein mobiles Gerät verwenden
Wenn Sie eine Auswahl auswählen, wird eine vollständige Seite aktualisiert
drücken Sie die Leertaste und dann die Pfeiltasten, um eine Auswahl zu treffen