Algorithmen, Machine Learning, Deep Learning: Wer versteht, was hinter diesen Schlagworten steckt, hat beruflich einen Vorteil. Die Grundlagen solcher Verfahren kann jeder lernen – Sie müssen dafür kein Mathegenie sein. Tipps für den Einstieg in komplexe digitale Verfahren.
Künstliche Intelligenz, kurz KI, ist ein Schlagwort unserer Zeit. Aber sie ist mehr als das, denn KI wird in Unternehmen bereits produktiv eingesetzt – in Form von Machine Learning (ML) und Deep Learning (DL); den Unterschied erläutern wir weiter unten. Darüber hinaus sollen zahlreiche Pilotprojekte die Wirkung von KI im Unternehmen erproben. Für Fach- und Führungskräfte heisst das: dabei sein – oder die Entwicklung an sich vorbeiziehen lassen.
KI ist in Unternehmen und Berufen angekommen
Auch wenn die technische Entwicklung stets den Profis überlassen bleibt, die sich mit Berufsbezeichnungen wie Data Scientist oder Machine Learning Engineer schmücken dürfen, fallen rund um solche Projekte viele weitere Aufgaben an: im Projektmanagement, bei der Validierung der Tests und bei der Überführung des Prototyps in produktive Systeme.
Die meisten Start-ups, Finanzdienstleister und etablierten E-Commerce-Unternehmen lassen KI längst in ihren mobilen Apps, Shopsystemen oder in der Datenverarbeitung ihrer Onlineshops arbeiten. Diese Algorithmen klassifizieren und prognostizieren: Sie schlagen Kundinnen und Kunden zum Beispiel Produkte oder Routen vor – oder Händlern die idealen Verkaufspreise und Budgets für Social-Media-Kampagnen. Auch eine leistungsfähige Betrugserkennung wird es ohne KI nicht mehr geben. Und in wenigen Jahren werden KI-Systeme den Grossteil der Wirtschaftsprüfung übernehmen.
In Industrieunternehmen kommen KI-Systeme ausserdem zum Einsatz, um Bestellintervalle im operativen Einkauf zu verbessern, Maschinen vorausschauend zu warten, die Energieeffizienz der Produktionslogistik zu steigern, die Qualität des Maschinen-Outputs automatisch zu überwachen – und ganz allgemein, um Anomalien in der Produktion oder in anderen Systemen zu erkennen.
Fach- und Führungskräfte mit KI-Kompetenz sind gefragt
Heute – im Jahr 2019 – arbeiten die genannten Anwendungen noch mit rudimentären KI-Systemen, die teils selbst entwickelt, teils zugekauft werden können. Künftig werden diese Systeme optimiert, durch bessere ersetzt oder komplett neu gedacht. Das erfordert eine gute Planung. Der Algorithmus mag der wissenschaftlich interessantere Teil eines KI-Systems sein; in der Praxis geht es jedoch vor allem darum, das System in die IT-Infrastruktur und in den Geschäftsprozess zu integrieren.
Zudem muss das Verhalten des Systems vor, während und vor allem nach der Integration validiert werden. Das ist keine leichte Aufgabe, denn wir haben es mit äusserst komplexen Systemen zu tun. Wer diese Tätigkeiten souverän ausführen und die Verantwortung für solche Projekte übernehmen will, braucht ein grundlegendes Verständnis der Verfahren und Konzepte gängiger KI-Systeme.
Künstliche Intelligenz, Machine Learning und Deep Learning
Schlagworte wie Big Data oder Industrie 4.0 lassen sich oft nur schwer einordnen. KI, ML und DL hingegen lassen sich in einen klaren Zusammenhang bringen.
Machine Learning ist eine Sammlung mathematischer Verfahren zur Mustererkennung. Für Einsteiger ist es hilfreich zu wissen, dass es Verfahren gibt, die ihren Ursprung in der Stochastik haben: Sie arbeiten mit Auftrittshäufigkeiten – also Wahrscheinlichkeiten – bestimmter Ereignisse in den Daten und können darauf aufbauend Vorhersagen treffen. Diese Verfahren lassen sich auch dann gut anwenden, wenn kategoriale Daten untersucht werden sollen. Bedingte Wahrscheinlichkeiten und Entropie sind hier wichtige Konzepte.
Und es gibt Verfahren, die gedanklich aus der Algebra stammen: Sie gewichten Ähnlichkeiten in einem mehrdimensionalen Vektorraum, vergleichen sie miteinander oder teilen den Raum in Unterräume auf. Diese Algorithmen sind bei vielen numerischen Daten in der Regel etwas leistungsfähiger, optimieren meist iterativ und sind deshalb tendenziell auch rechenintensiver. Vektoren, Matrizenrechnung, Differenzialrechnung und Optimierungsverfahren spielen eine wesentliche Rolle, wenn man diese Lernalgorithmen verstehen will.
In beiden Kategorien gibt es einfache Verfahren und solche, die weniger leicht zu durchschauen sind. Doch alle diese Lernalgorithmen können viele alltägliche und auch sehr spezifische Probleme lösen. In der Entwicklungspraxis treten Probleme allerdings häufig dann auf, wenn entweder zu wenige Daten vorliegen oder die Daten zu viele Dimensionen haben.
Deshalb gehört zur erfolgreichen Entwicklung von Machine-Learning-Algorithmen das sogenannte Feature Engineering. Als Features werden aus einer Menge von Attributen (im Grunde die Spalten einer Tabelle) diejenigen ausgewählt, die für die Lernverfahren am vielversprechendsten erscheinen. Für diese Vorauswahl kommen statistische Methoden zum Einsatz.
Deep Learning (DL) ist eine Teildisziplin des Machine Learning, die mit künstlichen neuronalen Netzen arbeitet. Während die Ideen für das klassische Machine Learning aus einer bestimmten mathematischen Logik heraus entwickelt wurden, haben künstliche neuronale Netze ein Vorbild in der Natur: biologische neuronale Netze.
Künstliche neuronale Netze lernen Zusammenhänge
In künstlichen neuronalen Netzen bildet ein Eingabevektor (eine Menge von Dimensionen) eine erste Schicht; diese wird über weitere Schichten mit sogenannten Neuronen erweitert oder reduziert und über Gewichte abstrahiert, bis eine Ausgabeschicht erreicht ist. So entsteht ein Ausgabevektor – ein Ergebnisschlüssel, der zum Beispiel für einen Wertebereich steht oder für eine bestimmte Klasse, etwa Hund oder Katze auf einem Bild. Die Neuronen sind wie kleine Lämpchen, die entweder zu 100 Prozent leuchten, gar nicht oder irgendwo dazwischen. Beim Training werden die Gewichte zwischen den Neuronen so angepasst, dass bestimmte Eingabemuster (zum Beispiel Fotos von Haustieren) immer zu einem bestimmten Ausgabemuster leuchtender Neuronen führen (zum Beispiel «Das Foto zeigt eine Katze» oder «Das Foto zeigt einen Hund», wobei ein Ausgabeneuron für die Katze steht und das andere für den Hund). Im Idealfall stellt das Training die Gewichte in Hunderten oder Tausenden von Iterationen so ein, dass am Ende in ausreichend hoher Quote immer das richtige Ausgabeneuron aufleuchtet.
Der Vorteil künstlicher neuronaler Netze liegt in der sehr tiefen Abstraktion von Zusammenhängen. Sie geschieht über mehrere Schichten der Netze, die dadurch sehr spezifische Probleme lösen können. Daher leitet sich auch der übergeordnete Name ab: Deep Learning.
Damit ist allerdings auch ein Nachteil verbunden: Ein trainiertes neuronales Netz mit mehr als zwei Schichten ist in seiner Funktionsweise so schwer nachzuvollziehen, dass es für uns Menschen zur Blackbox wird. Sehr komplexe Aufgaben, die künstliche neuronale Netze bewältigen, erfordern 20 oder mehr Schichten mit Hunderten bis Tausenden Neuronen pro Schicht – unmöglich, das auch nur ansatzweise zu durchschauen.
Für Einsteiger hat das den Vorteil, dass sie sich nur sehr begrenzt mit der Theorie und Mathematik des Deep Learning befassen müssen – denn auch Experten beschränken sich im Wesentlichen darauf, das neuronale Netz von aussen zu konfigurieren und anschliessend zu testen.
Deep Learning kommt zum Einsatz, wenn andere Machine-Learning-Verfahren an ihre Grenzen stossen, und auch dann, wenn auf ein separates Feature Engineering verzichtet werden muss. Das Netz lernt selbst, welche Features für das zu trainierende Lösungsmuster entscheidend sind.
Künstliche Intelligenz (KI) ist ein Wissenschaftsgebiet, das Machine Learning einschliesst, aber auch andere Bereiche kennt. Eine Künstliche Intelligenz muss nicht nur lernen, sie muss Wissen auch effizient speichern, einordnen und wieder abrufen können.
In der Praxis sind KI-Systeme, wie sie etwa in Robotern oder autonomen Fahrzeugen stecken (sollen), hybride Systeme, die neben Lernverfahren auch mit festen Regeln ausgestattet sind. Diese Regeln lassen sich als Instinkte des Systems verstehen: Auch Lebewesen lernen nicht nur über Neuronen, sondern haben angeborene Instinkte, die sich nicht – oder nur mit grosser Mühe – überwinden lassen.
Können auch Laien Machine Learning und Deep Learning verstehen?
Klassische Machine-Learning-Verfahren sind nicht besonders schwer zu erlernen. Der einzige wirklich notwendige Schritt ist, sich bis zu einem gewissen Grad auf Mathematik oder Statistik einzulassen. Aber auch hier – und damit räume ich mit einem Mythos auf – müssen Sie kein Mathegenie sein, um zumindest die bekanntesten Verfahren zu verstehen. Mit Verstehen meine ich dabei, nachzuvollziehen, wie sie im Hintergrund funktionieren.
Deep Learning zu erlernen ist sogar etwas einfacher – zumindest, wenn Sie auf die detaillierte Theorie verzichten können. Zwar stecken hinter Deep Learning sehr komplexe Algorithmen, die sich mit komplizierten Formeln erklären lassen. Der Einstieg gelingt aber über die Praxis, in der es darum geht, die Leistung des Netzes zu verbessern – und zwar nicht nur, indem man versuchsweise Schichten hinzufügt oder entfernt.
Dieses Wissen genügt, um die Prinzipien, Stärken und Grenzen von KI zu verstehen. Ein Data Scientist oder Machine Learning Engineer muss unter Umständen allerdings deutlich tiefer einsteigen. Ein Algorithmus mag schnell und einfach trainiert sein – seine Vorhersagegenauigkeit von 94,3 auf 95,6 Prozent zu steigern, kann jedoch zur echten Wissenschaft werden und viel Ausdauer erfordern.
Theorie, Programmierung und Praxis
Für den Einstieg lernt man die klassischen Machine-Learning-Verfahren am besten in der Theorie – nicht alle, aber die meisten Verfahren lassen sich gut auf dem Papier nachvollziehen. Programmierkenntnisse sind dafür nicht nötig. Wichtig ist, die Unterscheidung zwischen überwachten und unüberwachten Verfahren sowie zwischen parametrischen und nichtparametrischen Modellen zu verstehen. Als Einstieg in das Machine Learning in Verbindung mit Statistik eignen sich Naive Bayes und Entscheidungsbäume. Für den Einstieg in das algebraisch geprägte Machine Learning sind der k-Nearest-Neighbour-Algorithmus und k-Means besonders geeignet.
Wenn Ihnen das allgemeine Verständnis nicht genügt und Sie über etwas Programmiererfahrung verfügen, sollten Sie die Programmiersprache Python lernen und sich Programmierbeispiele mit der freien ML-Bibliothek Scikit-Learn ansehen. Im Internet gibt es gute Tutorials, ausserdem gute Bücher auf Englisch und auch auf Deutsch. Gerade auf der Programmierebene gibt es zudem gute Onlinekurse.
Auch für Einsteiger in Deep Learning gibt es Onlinekurse, Tutorials und Bücher. Hier empfiehlt es sich allerdings, die Theorie der künstlichen neuronalen Netze nur oberflächlich zu behandeln und gleich praktisch loszulegen. An der Programmiersprache Python und den Bibliotheken TensorFlow und Keras führt kein Weg vorbei. TensorFlow ist eine von Google veröffentlichte (Open-Source-)Bibliothek für Deep Learning, die durch die enthaltene Bibliothek Keras erweitert wird. In Keras lassen sich künstliche neuronale Netze mit wenigen Zeilen Code erstellen und ausführen.
Das macht die Erstellung mehrschichtiger künstlicher neuronaler Netze einfach, und jeder kann sie ausprobieren. Erst bei grösseren Herausforderungen setzt die – für normale Verbraucher sicherlich begrenzte – Hardware Grenzen.
Eine Einschränkung gibt es noch: Ausdauer und ein Hang zum autodidaktischen Lernen sind sicherlich allgemeine Voraussetzungen für alle, die sich nicht in einem monatelangen Vollzeitkurs in das Thema einarbeiten können, sondern es nebenbei tun müssen. Bitte geben Sie nicht auf – andere haben es auch geschafft, in der Praxis erprobt und anschliessend einen Artikel wie diesen geschrieben.