NetLab - Neuronale Netze im Computer (Teil 2)
Mit dem Programm NetLab kann man das Lernvermögen künstlicher Neuronaler Netze studieren. Dabei kommt das Verfahren der Fehlerrückführung (englisch: Backpropagtion) zum Einsatz. Nehmen wir zum Beispiel die Aufgabe der Handschriften-
Das folgende Bild zeigt NetLab beim MNIST–

Die erfolgreiche Erkennung ist Ergebnis eines Trainingsprozesses, wie hier zu sehen:

Wie man lesen kann, kommt es beim Test 276 Mal zu Fehlinterpretationen d.h. Verwechslungen. Diese lassen sich mit einer Konfusionsmatrix näher beschreiben:

Mit NetLab kann man Lernprozesse und Erkennungsleistungen erforschen, angefangen mit dem einlagigen Perzeptron, über das XOR-

Üblicherweise startet ein Training mit zufällig gewählten Parametern (hier: Synapsengewichte) und das Programm reduziert mit jedem Durchlauf (= Epoche) den begangenen Fehler. Präsentiert man dem Netzwerk über 200 Epochen hinweg die Buchstaben A-


Mit wenigen Mausklicks kann man Lernparameter einstellen, Lernprozesse starten und das Ergebnis kritisch analysieren. Zur Beurteilung der Erkennungsleistung erlaubt NetLab die manuelle Eingabe bzw. Modifikation von Testmustern per Mausklick.
Dabei stellt sich zum Beispiel folgende Erkenntnis ein: Aus dem Stand, d.h. ohne weitere Optimierung, erreicht NetLab eine Erkennungsrate von über 97% bei dem standardisierten MNIST-
Sollte man nach solch einem Training glauben, ein anwendungsreifes Niveau erreicht zu haben, um zum Beispiel handgeschriebene Postleitzahlen auf Briefumschlägen zu erkennen, so täuscht die Statistik: Die Erkennungsleistung ist wenig robust gegen Störungen. Schon ein überzähliges Pixel kann zur Fehleinschätzung führen und das Netzwerk liefert oft auch keinen Hinweis darauf, wie sicher es sich bei seiner Aussage ist.
Nun, die Mängel sollten uns nicht weiter verwundern, denn wir haben ja hier nur eine Basis-
Das Trio von Python, NumPy und Tkinter hat mir jedenfalls bei der Programmierung unter PyCharm sehr imponiert. Und das schönste ist: Alle diese Programme kann man kostenlos herunterladen und benutzen!
Bei YouTube kursiert eine Menge guter Videos zum Thema. Besonders hat mir diese Reihe gefallen. Den letzten Anstoß, NetLab zu programmieren gab mir Tariq Rashid mit seinem Buch „Make Your Own Neural Network“ (auf Deutsch hier). Von der Mathematik bis zur Implementierung in Python finden sich darin wertvolle Informationen. NetLab erweitert die dort vorgestellte Methode um den Bias der lernfähigen Neuronen. Für die Handschriftenerkennung scheint dieser jedoch verzichtbar.
Viel Freude beim Experimentieren mit NetLab! Hier kann der Quellcode inklusive Dokumentation heruntergeladen werden.