Vorbesprechung
Termin: Freitag, 5. Juli, 14 Uhr
Ort: Hörsaal des Mathematischen Instituts (Raum 203)
Vortragsfolien: PDF (4.2 MB)
Anmeldungen bitte per Email ausschließlich an aggassner(at)math.uni-koeln.de (siehe auch PDF)!
Das Thema maschinelles Lernen ist seit einigen Jahren nicht nur in der Wissenschaft ein Begriff, sondern spielt eine zunehmend wichtige Rolle in Wirtschaft, Industrie und Gesellschaft. Insbesondere der Ansatz mit tiefen neuronalen Netzen, das sogenannte “Deep Learning”, wird heute bereits in einer Vielzahl von Einsatzbereichen angewandt.
In diesem praxisorientierten Seminar werden wir die Grundlagen des maschinellen Lernens mit künstlichen neuronalen Netzen erarbeiten. Ziel ist es, die fundamentalen Bausteine von neuronale Netzwerken zu verstehen, verschiedene Aspekte bei der Konzeption von Netzen kennenzulernen und sich der Schwierigkeiten und Optimierungsmöglichkeiten beim Training bewusst zu werden. Für ein tieferes Verständnis der Zusammenhänge werden die Teilnehmer ein eigenes künstliches Netz von Grund auf selbst programmieren. Als Programmiersprache kommt Python zum Einsatz, welche derzeit eine der wichtigsten Sprachen in den Bereichen Data Science und maschinelles Lernen ist. Dieses Seminar richtet sich an Studierende im Bachelorstudium.
Aufbau
- Einführung: Zu Beginn gibt es zunächst einen Überblick über das Thema des Seminars, bei der auch die einzelnen Vortragsthemen nochmals kurz vorgestellt werden. Zudem gibt es eine kurze Einführung in die Programmierung mit Python und das Erstellen von Vorträgen mit LaTeX.
- Programmierprojekte: In den darauf folgenden Wochen programmieren die Teilnehmer selbst ein tiefes neuronales Netzwerk und trainieren es. Dabei werden verschiedene Aspekte des Netzdesigns und der Wahl von Trainingsparametern untersucht. In dieser Zeit findet keine wöchentliche Vorlesung statt, stattdessen haben die Teilnehmer die Möglichkeit Fragen zum Programmierprojekt zu stellen.
- Vorträge: In der letzten Phase des Seminars halten die Teilnehmer ihre
Vorträge. Dabei stellen sie auch verschiedene praktische Aspekte bei der Konzeption und beim Training von künstlichen neuronalen Netzen vor, die sie im praktischen Teil erarbeitet haben.
Für das Programmierprojekt und den Vortrag ist es empfehlenswert und gewünscht, dass sich die Studierenden in Teams zu zweit oder dritt zusammenschließen.
Themengebiete
- Grundlagen des maschinellen Lernens
- Aufbau neuronaler Netze
- Lernen mit Gradientenverfahren und Backpropagation
- Regularisierung
- Convolutional Neural Networks
- Recurrent Neural Networks
- Praktische Methoden und Anwendungen
Voraussetzungen
- erste Progammierkenntnisse (z.B. aus der Vorlesung “Algorithmische Mathematik und Programmieren”) und/oder Motivation, eine Programmiersprache (Python) selbstständig zu erlernen
- Englischkenntnisse für das Verständnis wissenschaftlicher Texte
- Analysis I, Lineare Algebra I
Literatur
Lernmaterial Python