Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Perzeptron und neuronale Netze in CS188: Maschinelles Lernen Schritt für Schritt verstehen

Lerne die Grundlagen des maschinellen Lernens am Beispiel des CS188-Projekts: Vom Perzeptron über Regression bis zur Sprachidentifikation. Inklusive aktueller Bezüge zu KI-Trends 2026.

CS188 Projekt 5 Perzeptron Tutorial neuronale Netze Python Machine Learning Studium KI Trends 2026 Sprachidentifikation mit RNN Attention Mechanism verstehen MNIST Klassifikation Cross Entropy Loss Adam Optimierer GPT Charaktermodell Shakespeare Textgenerierung Deep Learning Grundlagen Python Autograder CS188 Gradientenabstieg Übung Transformer Block implementieren

Einführung in das maschinelle Lernen mit CS188 Project 5

Das CS188 Project 5 aus dem Jahr 2026 ist ein Klassiker, um die Grundlagen des maschinellen Lernens zu verstehen. Es beginnt mit einem einfachen binären Perzeptron und führt über nichtlineare Regression, handschriftliche Ziffernerkennung bis hin zu Sprachidentifikation und sogar einem kleinen GPT-Modell. In diesem Tutorial erklären wir die zentralen Konzepte – ohne die Lösungen vorwegzunehmen – und zeigen, wie du sie in Python mit Tensor-Bibliotheken umsetzt.

Das binäre Perzeptron: Grundbaustein neuronaler Netze

Das Perzeptron ist das einfachste neuronale Netz: Es berechnet eine gewichtete Summe der Eingaben und gibt +1 oder -1 aus. In CS188 implementierst du die Klasse PerceptronModel mit Gewichten als Parameter-Objekten. Die forward-Methode berechnet das Skalarprodukt, get_prediction gibt das Vorzeichen zurück. Der train_perceptron-Algorithmus durchläuft die Daten solange, bis alle korrekt klassifiziert sind – ein einfaches, aber mächtiges Verfahren.

Trendbezug 2026: Perzeptron-ähnliche Algorithmen stecken in vielen KI-Apps, die du täglich nutzt – zum Beispiel in der Spam-Erkennung deines E-Mail-Postfachs oder in personalisierten Newsfeeds.

Nichtlineare Regression mit neuronalen Netzen

Während das Perzeptron nur lineare Trennungen kann, erlaubt ein neuronales Netz mit versteckten Schichten und Aktivierungsfunktionen wie ReLU auch nichtlineare Zusammenhänge. In Problem 2 implementierst du RegressionModel: eine lineare Schicht, die mean squared error als Verlustfunktion nutzt. Der Optimierer Adam aktualisiert die Gewichte. Das Ziel: Der durchschnittliche Verlust soll unter 0,02 fallen – das erreichst du mit einem gut abgestimmten Lernprozess.

Handschriftliche Ziffernerkennung: Vom Pixel zur Zahl

Die Klassifikation von MNIST-Ziffern ist das „Hello World“ des Deep Learning. Dein Modell gibt einen Vektor der Größe 10 aus (Wahrscheinlichkeiten für Ziffer 0–9) und nutzt cross_entropy als Verlust. Wichtig: Keine ReLU in der letzten Schicht! Mit über 97 % Genauigkeit auf dem Testset bestehst du Problem 3. Ein häufiger Fehler ist zu frühes Stoppen – nutze die Validierungsgenauigkeit als Entscheidungshilfe.

Sprachidentifikation: Textbasierte Klassifikation

In Problem 4 geht es um die Erkennung von Sprachen (z. B. Englisch, Spanisch, Französisch) aus kurzen Textsequenzen. Du baust ein Netz mit Embedding-Layer, RNN oder LSTM und einer linearen Ausgabeschicht. Die Architektur ähnelt der Ziffernerkennung, aber die Eingabe sind Wort-Indizes. Der Trend 2026: Sprachmodelle wie GPT-4o werden immer besser darin, Dialekte zu unterscheiden – dein Modell lernt die Grundlagen.

Aufmerksamkeit ist alles: Der Attention-Mechanismus

In Problem 6 implementierst du die „Scaled Dot-Product Attention“: softmax( (Q * K^T) / sqrt(d_k) ) * V. Das ist der Kern von Transformer-Modellen, die heute in ChatGPT, Gemini und anderen KI-Assistenten stecken. Du lernst, wie Query, Key und Value zusammenspielen und warum die Skalierung mit sqrt(d_k) wichtig ist. Ein kleiner, aber feiner Baustein für dein Verständnis moderner KI.

Charakter-GPT: Shakespeare mit neuronalen Netzen

Der letzte Teil (0 Punkte, aber spannend) ist ein Mini-GPT, das auf Shakespeares Texten trainiert wird. Du erweiterst die Transformer_Block-Klasse und die GPT-Klasse, um Zeichen für Zeichen vorherzusagen. Das Modell ist klein, aber du siehst, wie Aufmerksamkeit und Feedforward-Schichten zusammenarbeiten. Nach dem Training kannst du mit python chargpt.py eigene Shakespeare-ähnliche Texte generieren – ein tolles Gefühl!

Tipps für die Abgabe und Performance

Die Referenzlösung von CS188 braucht etwa 12 Minuten für den gesamten Autograder. Wenn dein Code länger braucht, überprüfe die Schleifen und vermeide unnötige Berechnungen. Arbeite im Team? Nur eine Person lädt die Dateien auf Gradescope hoch und taggt die anderen. So vermeidest du Plagiatsvorwürfe. Viel Erfolg!