Einstieg in Machine Learning Grundlagen
Das Thema „AI – Künstliche Intelligenz“ verfolge ich schon eine ganze Weile und bei der täglichen Nachrichtenlektüre kommt man auch gar nicht mehr daran vorbei. Mal ist es die Lösung für alle Menschheitsprobleme und im nächsten Artikel der größte Fluch seit Erfindung der Dampfmaschine. Dann werden natürlich auch gerne die Bilder von menschenähnlichen Robotern und geheimnisvollen Computern mit Bewusstsein erzeugt, die uns Menschen das Denken und Agieren abnehmen wollen. Unternehmen – egal ob etabliertes Großunternehmen oder Startup – verwenden die Begriffe AI, Künstliche Intelligenz, Machine Learning oder auch Deep Learning gerne um die Werthaltigkeit ihrer Produkte und Leistungen zu betonen oder zu verstärken. Voller Ehrfurcht bestaunt man die Teams, die dahinter stehen und fragt sich, von welcher Frucht sie gegessen haben mögen, um zu diesen Leistungen befähigt zu werden. Dann fiel mir im September 2019 die c’t (magazin für computertechnik) Ausgabe 21/2019 in die Hände, die mit der Headline „KI selbst ausprobieren“ lockte. Zugegeben, sie lag 9 Monate auf dem Schreibtisch bevor ich die Artikel durcharbeitete und ich war danach auch nicht wirklich viel schlauer. Aber ich fand darin die Empfehlung, den Kurs „Machine Learning“ von Andrew Ng (Stanford University) im Internet zu besuchen. Der würde alles wesentliche für den Einstieg vermitteln. Den Kurs kann man bei coursera.com besuchen und für einen überschaubaren Betrag auch mit der Möglichkeit eines Abschlusszertifikats (nach bestandenen Prüfungen) buchen. Um es kurz zu machen, hier ist mein Zertifikat:
Der Kurs ist auf einen Zeitraum von 11 Wochen angelegt, man kann ihn aber mit etwas Ehrgeiz und Durchhaltevermögen in den Abendstunden auch in gut 2 Wochen absolvieren. Die wesentlichen Inhalte des Kurses sind:
- Lineare Regression
- Logistische Regression
- Neuronale Netze (forward propagation, backward propagation, multilayer)
- Support Vector Machines
- Unsupervised Learning mit K-means und Principal Component Analysis
- Dimensionsreduzierung
- Anomalieerkennungsverfahren
Der Kurs besteht aus Online-Vorlesungen von Andrew Ng, diversen Prüfungsquiz und Programmieraufgaben. Die Videos von Andrew Ng sind wirklich gut. Er macht das ruhig, trocken, sympathisch und didaktisch sehr geschickt. Die Quizfragen reichen von relativ einfachen bis hin zu komplexeren Fragen, deren Beantwortung auch mit multiple choice nicht immer trivial ist. Die Programmierung erfolgt mittels der Programmiersprache Octave, die frei verfügbar ist und auf dem eigenen Computer installiert wird. Man muss dann in vorhandene Skripte entsprechend der Aufgabenstellung weiteren Code ergänzen, der ausgeführt wird und bestimmte Ergebnisse liefern muss. Der Code wird dann auf den Kursserver hochgeladen und man erhält Punkte für erfolgreiches Programmieren. Im Kurs kommt man sehr schnell hinter das „Geheimnis“ von AI und Machine Learning: es ist am Ende eine Mischung aus Linearer Algebra, Matrizenrechnung, Differentialrechnung und Gaussscher Normalverteilung. Der Stoff, der in jedem Ingenieurstudium in den Vorlesungen „Grundlagen der Mathematik“ vorkommt. Das ist zwar etwas ernüchternd und ziemlich „mathematisch“, wird aber von Andrew Ng sehr gut vermittelt und man folgt ihm motiviert. Auch die Programmieraufgaben, die sich mit Ziffernerkennung, OCR, Face Recognition, Spamfiltering, etc. beschäftigen, machen das Lernen anschaulich und interessant. Zusammenfassend würde ich sagen, dass Machine Learning als wohl aktuell bedeutendste Disziplin in AI eine ziemlich raffinierte Anwendung von am Ende doch relativ einfachen mathematischen Methoden ist. In der praktischen Anwendung kommen natürlich noch viele weitere Anforderungen wie z.B. ein gutes Verständnis für die jeweilige Aufgabenstellung, die benötigten Daten oder die verfügbaren Rechnerressourcen hinzu. Die Gefahr, dass die Matrizen ein „Bewusstsein“ entwickeln und uns „übernehmen“, halte ich – aktuell jedenfalls – für gering.