Zur Modulseite PDF generieren

#41144 / #2

SoSe 2024 - SoSe 2024

Englisch

Julia for Machine Learning
Julia für Maschinelles Lernen

6

Müller, Klaus-Robert

Benotet

Portfolioprüfung

Englisch

Zugehörigkeit


Fakultät IV

Institut für Softwaretechnik und Theoretische Informatik

34352000 FG Maschinelles Lernen

Keine Angabe

Kontakt


MAR 4-1

Hill, Adrian Rainer

hill@tu-berlin.de

Lernergebnisse

Die Studierenden sind in der Lage, die Julia-Programmiersprache zu verwenden, um Algorithmen des maschinellen Lernens zu implementieren und anzuwenden. Sie sind mit gängigen Julia-Paketen für klassisches maschinelles Lernen, Deep Learning und Datenvisualisierung vertraut. Die Studierenden haben ein umfassendes Verständnis der automatischen Differenzierung und unterschiedlicher Implementierungen in Julia. Sie sind in der Lage reproduzierbaren Code zu schreiben, ihn zu testen und zu debuggen.

Lehrinhalte

In der ersten Hälfte des Kurses lernen Studierende die Grundlagen der Julia Programmiersprache sowie die Pakete des Machine Learning Ökosystems kennen: - Performantes Rechnen mit Arrays und lineare Algebra (LinearAlgebra.jl) - Arbeiten mit tabellarischen Daten (DataFrames.jl) - Erstellen von Visualisierungen (Plots.jl, StatsPlots.jl) - Klassische Methoden des maschinellen Lernens (MLJ.jl) - Mathematische Grundlagen der automatischen Differenzierung - Unterschiede in den Implementierungen der automatischen Differenzierung in Julia Paketen (ChainRules.jl, Zygote.jl, Enzyme.jl, ForwardDiff.jl, FiniteDifferences.jl) - Training von Deep-Learning-Modellen (Flux.jl, MLDatasets.jl) - Entwicklungsabläufe für die Paketentwicklung und wissenschaftliche Experimente (PkgTemplates.jl, DrWatson.jl) - Profiling und Debugging in Julia (Debugger.jl, Infiltrator.jl, ProfileView.jl, Cthulhu.jl) In der zweiten Hälfte arbeiten die Schüler in Gruppen an einem kleinen Programmierprojekt ihrer Wahl und lernen, wie man: - Strukturierung und Entwicklung eines Software-Pakets - Pakettests schreiben - Verfassen und Bereitstellen von Dokumentation

Modulbestandteile

Pflichtbereich

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Julia for Machine LearningIVWiSe/SoSede4

Arbeitsaufwand und Leistungspunkte

Julia for Machine Learning (IV):

AufwandbeschreibungMultiplikatorStundenGesamt
Hausaufgaben, einschließlich Nachbereitung der Vorlesungen4.02.0h8.0h
Projektarbeit (Programmierung, Nachbereitung von Code-Reviews, Vorbereitung der Präsentation)1.0144.0h144.0h
Projektpräsenzzeit (Projektauswahlsitzung, 2 Code-Reviews, Präsentationen)4.02.0h8.0h
Vorlesungen10.02.0h20.0h
180.0h(~6 LP)
Der Aufwand des Moduls summiert sich zu 180.0 Stunden. Damit umfasst das Modul 6 Leistungspunkte.

Beschreibung der Lehr- und Lernformen

Das Modul ist in zwei Teile gegliedert: In der ersten Hälfte des Semesters werden in wöchentlichen Vorlesungen die Grundlagen der Julia Programmiersprache und der Pakete aus ihrem Ökosystem für maschinelles Lernen vermittelt. Basierend auf diesen Vorlesungen werden wöchentliche Programmierhausaufgaben in Form von Programmier-Notebooks gegeben, die von den Studierenden individuell zu lösen sind. In der zweiten Hälfte des Semesters arbeiten die Studierenden in kleinen Gruppen an Programmierprojekten ihrer Wahl und lernen dabei die Paketentwicklung in Julia kennen. In Code-Review-Sitzungen geben sich die Studierenden gegenseitig Feedback zu ihren Projekten, bevor sie ihre Arbeit in Präsentationen am Ende des Semesters vorstellen.

Voraussetzungen für die Teilnahme / Prüfung

Wünschenswerte Voraussetzungen für die Teilnahme an den Lehrveranstaltungen:

In diesem Kurs werden Kenntnisse über gängige Programmierkonzepte wie for-Schleifen und Arrays vorausgesetzt. Kenntnisse der Julia-Programmiersprache sind nicht erforderlich. Die Kenntnis grundlegender mathematischer Konzepte ist hilfreich. Zum Beispiel helfen Kenntnisse der linearen Algebra, Array-Operationen zu verstehen.

Verpflichtende Voraussetzungen für die Modulprüfungsanmeldung:

Dieses Modul hat keine Prüfungsvoraussetzungen.

Abschluss des Moduls

Benotung

Benotet

Prüfungsform

Portfolioprüfung

Art der Portfolioprüfung

100 Punkte insgesamt

Sprache(n)

Englisch

Prüfungselemente

NamePunkteKategorieDauer/Umfang
(Ergebnisprüfung) Hausaufgaben20praktisch4 Hausaufgaben mit Arbeitsaufwand von je 2 Stunden
(Ergebnisprüfung) Projektarbeit50praktischProgrammierprojekt: Implementierung und Dokumentation eines Softwarepakets in Julia
(Punktuelle Leistungsabfrage) Präsentation10mündlich10-minütige Präsentation der Projektarbeit vor anderen Studierenden + 5 Minuten für Fragen und Antworten
(Punktuelle Leistungsabfrage) Projektarbeit20mündlich20-minütige mündliche Prüfung und Evaluation des Programmierprojekts

Notenschlüssel

Notenschlüssel »Notenschlüssel 1: Fak IV (1)«

Gesamtpunktzahl1.01.31.72.02.32.73.03.33.74.0
100.0pt86.0pt82.0pt78.0pt74.0pt70.0pt66.0pt62.0pt58.0pt54.0pt50.0pt

Dauer des Moduls

Für Belegung und Abschluss des Moduls ist folgende Semesteranzahl veranschlagt:
1 Semester.

Dieses Modul kann in folgenden Semestern begonnen werden:
Winter- und Sommersemester.

Maximale teilnehmende Personen

Die maximale Teilnehmerzahl beträgt 40.

Anmeldeformalitäten

Bitte informieren Sie sich auf der Website des Moduls (zu finden auf der Website der Fachgruppe Maschinelles Lernen der TU Berlin).

Literaturhinweise, Skripte

Skript in Papierform

Verfügbarkeit:  nicht verfügbar

 

Skript in elektronischer Form

Verfügbarkeit:  verfügbar

 

Literatur

Empfohlene Literatur
Keine empfohlene Literatur angegeben

Zugeordnete Studiengänge


Diese Modulversion wird in folgenden Studiengängen verwendet:

Studiengang / StuPOStuPOsVerwendungenErste VerwendungLetzte Verwendung
Dieses Modul findet in keinem Studiengang Verwendung.

Studierende anderer Studiengänge können dieses Modul ohne Kapazitätsprüfung belegen.

Sonstiges

Keine Angabe