Algorithmen, maschinelles Lernen, Deep Learning: Wer versteht, was sich hinter diesen Schlagworten verbirgt, ist beruflich im Vorteil. Grundkenntnisse solcher Verfahren kann jeder lernen – man muss dafür kein Mathe-Genie sein. Tipps für den Einstieg in komplexe digitale Prozesse.
Künstliche Intelligenz, kurz KI, ist ein Schlagwort unserer Zeit. Aber es ist mehr als das, denn KI wird in Form von maschinellem Lernen (ML) und Deep Learning (DL) – den Unterschied besprechen wir weiter unten – in Unternehmen bereits produktiv eingesetzt. Darüber hinaus sollen etliche Pionier-Projekte die Wirkung von KI im Unternehmen erproben. Da heißt es für Fach- und Führungskräfte: Dabei sein – oder die Entwicklung an sich vorbeiziehen lassen.
KI ist in Unternehmen und Karriere angekommen
Auch wenn die technische Entwicklung stets den Profis überlassen wird, die sich mit Job-Titeln wie Data Scientist oder Machine Learning Engineer schmücken dürfen, so gibt es viele Aufgaben, die im Kontext dieser Projekte erledigt werden müssen: rund um Projektmanagement, Test-Validierung und Implementierung des Prototypen in produktive Systeme.
Die meisten Start-ups, Finanzdienstleister und die etablierten eCommerce-Unternehmen haben KI längst in ihren mobilen Applikationen, Einkaufssystemen oder der Datenverarbeitung ihrer Online-Shops zum Laufen gebracht. Diese Algorithmen klassifizieren und prognostizieren, schlagen etwa Kunden Produkte oder Routen vor oder dem Händler die idealen Verkaufspreise oder Budgets für Social-Media-Kampagnen. Auch wird es keine leistungsstarke Betrugserkennung mehr ohne KI geben. KI-Systeme übernehmen in wenigen Jahren den Großteil der Wirtschaftsprüfung.
In Industrieunternehmen werden KI-Systeme darüber hinaus auch eingesetzt, um Bestellintervalle im operativen Einkauf zu verbessern, Maschinen prädiktiv zu warten, Energieeffizienz einer Produktionslogistik zu erhöhen, die Qualität des Maschinen-Outputs automatisiert zu überwachen – und ganz generell um Anomalien in der Produktion oder anderen Systemen zu erkennen.
Fach- und Führungskräfte mit KI-Kompetenz werden gebraucht
Die genannten Anwendungen arbeiten heute noch über rudimentäre KI-Systeme, die teilweise selbst entwickelt, teilweise hinzugekauft werden können. In Zukunft werden diese Systeme optimiert, durch bessere ersetzt oder gänzlich neu gedacht werden. Dies erfordert eine gute Planung. Bei einem KI-System mag der Algorithmus der wissenschaftlich interessantere Teil sein; in der Praxis geht es jedoch vor allem darum, das System in die IT-Infrastruktur und den Geschäftsprozess zu integrieren.
Das Verhalten des Systems muss außerdem vor, während und vor allem nach der Integration validiert werden. Dies ist keine einfache Aufgabe, da wir es mit äußerst komplexen Systemen zu tun haben. Diese Tätigkeiten selbstsicher ausüben zu können und die Verantwortungen für derartige Projekte zu übernehmen, bedingt generelles Wissen über die Verfahrensweisen und Konzepte gängiger KI-Systeme.
Künstliche Intelligenz, Machine Learning und Deep Learnig
Schlagwörter wie Big Data oder Industrie 4.0 sind oft schwer einzuordnen. KI, ML und DL sind jedoch in einen eindeutigen Zusammenhang zu bringen.
Maschinelles Lernen ist eine Sammlung von mathematischen Methoden der Mustererkennung. Für Einsteiger in die Thematik ist es nützlich zu wissen, dass es Verfahren gibt, die ihren Ursprung in der Stochastik haben und mit Häufigkeiten des Auftretens – also Wahrscheinlichkeiten – bestimmter Ereignisse in den Daten arbeiten und darauf basierend Prognosen erstellen können. Diese sind auch dann leicht anzuwenden, wenn kategorische Daten untersucht werden sollen. Bedingte Wahrscheinlichkeiten und Entropie sind hierbei wichtige Konzepte.
Und es gibt Verfahren, die gedanklich aus der Algebra kommen und Ähnlichkeiten in einem mehrdimensionalen Vektorraum gewichten, miteinander vergleichen oder in Unterräume aufspalten. Diese Algorithmen sind generell etwas leistungsfähiger bei vielen nummerischen Daten, meistens iterativ optimierend und daher tendenziell auch rechenintensiver. Vektoren, Matrizenkalkulationen, Differentialrechnung und Optimierungsverfahren spielen beim Verständnis dieser Lernalgorithmen eine wesentliche Rolle.
In beiden Kategorien gibt es einfache und auch weniger einfach zu verstehende Verfahren. Doch alle diese Lern-Algorithmen sind in der Lage, viele alltägliche und auch sehr spezielle Probleme zu lösen. In der Praxis eines Entwicklers stellen sich jedoch häufig Probleme, wenn es entweder zu wenige Daten oder zu viele Dimensionen der Daten gibt.
Deswegen ist die erfolgreiche Entwicklung von Algorithmen maschineller Lernverfahren das sogenannte Feature-Engineering. Als Features werden die Attribute (im Grunde sind das die Spalten einer Tabelle) aus einer Menge selektiert, die für die Lernverfahren am erfolgversprechendsten erscheinen. Für diese Vorselektion bedient man sich wiederum statistischer Verfahren.
Deep Learning (DL) ist eine Teildisziplin des maschinellen Lernens unter Einsatz von künstlichen neuronalen Netzen. Während die Ideen für klassisches maschinelles Lernen aus einer gewissen mathematischen Logik heraus entwickelt wurden, gibt es für künstliche neuronale Netze ein Vorbild aus der Natur: biologische neuronale Netze.
Künstliche Neuronale Netze lernen Zusammenhänge
Bei künstlichen neuronalen Netzen stellt ein Eingabe-Vektor (eine Reihe von Dimensionen) eine erste Schicht dar; diese wird über weitere Schichten mit sogenannten Neuronen erweitert oder reduziert und über Gewichtungen abstrahiert, bis eine Ausgabeschicht erreicht wird. Diese erzeugt einen Ausgabe-Vektor – einen Ergebnisschlüssel, der zum Beispiel für einen Wertebereich steht oder für eine bestimmte Klasse, z. B. Hund oder Katze auf einem Bild. Die Neuronen sind wie kleine Lämpchen, die entweder zu 100 Prozent leuchten oder gar nicht oder irgendwie dazwischen. Durch ein Training werden die Gewichte zwischen den Neuronen so angepasst, dass bestimmte Eingabe-Muster (zum Beispiel Fotos von Haustieren) immer zu einem bestimmten Ausgabe-Muster leuchtender Neuronen führen (zum Beispiel „Das Foto zeigt eine Katze“ oder „Das Foto zeigt einen Hund“, wobei ein Ausgabe-Neuron für die Katze, das andere für den Hund steht). Das Training setzt die Gewichte in hunderten oder tausenden Iterationen idealerweise so, dass am Ende in ausreichend hoher Quote immer das richtige Ausgabeneuron leuchtet.
Der Vorteil von künstlichen neuronalen Netzen ist die sehr tiefgehende Abstraktion von Zusammenhängen. Dies geschieht über mehrere Schichten der Netze, die sehr spezielle Probleme lösen können. Daraus leitet sich der übergeordnete Name ab: Deep Learning.
Damit ist jedoch auch ein Nachteil verbunden: Ein trainiertes neuronales Netz mit mehr als zwei Schichten wird so schwer in seiner Arbeitsweise zu verstehen, dass es für uns Menschen zur Blackbox wird. Sehr komplexe Aufgaben, die von künstlichen neuronalen Netzen bewältigt werden, verlangen den Einsatz von 20 oder mehr Schichten mit hunderten bis tausende Neuronen pro Schicht – unmöglich, diese auch nur ansatzweise nachvollziehen zu können.
Dies hat für den Einsteiger den Vorteil, dass man sich nur sehr begrenzt mit der Theorie und Mathematik von Deep Learning befassen muss, denn selbst Experten sind im Wesentlichen darauf beschränkt, das neuronale Netz von außen zu konfigurieren und dann zu testen.
Deep Learning kommt dann zum Einsatz, wenn andere maschinelle Lernverfahren an Grenzen stoßen und auch dann, wenn auf ein separates Feature-Engineering verzichtet werden muss. Das Netz erlernt selbst, welche Features eine entscheidende Rolle spielen für das zu trainierende Problemlösungsmuster.
Künstliche Intelligenz (KI) ist ein wissenschaftlicher Bereich, der das maschinelle Lernen beinhaltet, jedoch noch weitere Bereiche kennt. Eine künstliche Intelligenz muss nicht nur lernen, sie muss auch Wissen effizient abspeichern, einordnen und abrufen können.
In der Praxis sind KI-Systeme, die etwa in Robotern oder autonomen Fahrzeugen vorkommen (sollen), hybride Systeme, die neben den Lernverfahren auch mit festen Regeln ausgestattet sind. Diese sind als die Instinkte des Systems zu betrachten: Auch Lebewesen lernen nicht nur über Neuronen, sondern haben angeborene Instinkte, die sich nicht – oder nur sehr schwer – brechen lassen.
Sind maschinelles Lernen und Deep Learning für Normalbürger zu verstehen?
Klassische Verfahren des maschinellen Lernens sind nicht besonders schwer zu erlernen. Der einzig wirklich notwendige Schritt ist es, sich ein Stück weit auf Mathematik beziehungsweise Statistik einlassen zu können. Aber auch hier gilt, – und nun breche ich den Mythos – dass man kein Mathe-Genie sein muss, um zumindest die bekanntesten Verfahren verstehen zu können, und mit Verstehen ist hier das Nachvollziehen der Funktionsweise im Hintergrund gemeint.
Das Erlernen von Deep Learning ist im Grunde noch etwas einfacher, zumindest, wenn man auf die detaillierte Theorie etwas verzichten kann. Deep Learning umfasst zwar sehr komplexe Algorithmen, die über komplizierte Formeln erklärt werden können. Doch der Einstieg kann über die Praxis erfolgen, bei der es darum geht, die Leistungsfähigkeit des Netzes über das reine Versuchen des Hinzufügens oder Löschens von Schichten zu verbessern.
Dieses Wissen reicht aus, um die Prinzipien, Stärken und Grenzen der KI verstehen zu können. Ein Data Scientist oder Machine Learning Engineer jedoch muss sehr wohl weit tiefer einsteigen. Ein Algorithmus mag schnell und leicht trainiert sein – seine Prognose-Treffsicherheit aber von 94,3 auf 95,6 Prozent zu steigern kann in echte Wissenschaft ausarten und sehr viel Hartnäckigkeit verlangen.
Theorie, Programmierung und Praxis
Für den Einstieg gilt: Die klassischen Verfahren des maschinellen Lernens lassen sich am besten in der Theorie erlernen – nicht alle, aber die meisten Verfahren können auf Papier gut verstanden werden. Es braucht dafür keine Programmierfähigkeiten. Dabei ist wichtig, dass die Unterscheidungsmöglichkeiten der Verfahren etwa in überwachte und unüberwachte Verfahren und in parametrisierte und nicht-parametrisierte Modelle verstanden werden. Als Einstieg in das maschinelle Lernen in Kombination mit Statistik eignen sich Naive Bayes und Entscheidungsbäume. Als Einstieg in das maschinelle Lernen auf Basis von Algebra vornehmlich der k-nächste-Nachbarn-Algorithmus und k-Means.
Wem das generelle Verständnis nicht reicht und wer etwas Programmierkenntnis mitbringt, sollte sich in die Programmiersprache Python einarbeiten und mit der kostenlosen ML-Bibliothek Scikit-Learn Programmierbeispiele dazu ansehen. Hier gibt es gute Tutorials im Internet sowie gute Bücher auf Englisch und auch auf Deutsch. Vor allem auf der Programmier-Ebene gibt es auch gute Online-Kurse.
Auch für den Einstieg in Deep Learning gibt es Online-Kurse, Tutorials und Bücher. Hier jedoch ist zu empfehlen, die Theorie der künstlichen neuronalen Netze nur oberflächlich zu behandeln und gleich praktisch einzusteigen. Dabei wird man nicht um die Programmiersprache Python und die Bibliotheken TensorFlow und Keras herumkommen. TensorFlow ist eine von Google veröffentlichte (Open Source) Bibliothek für Deep Learning, die von der mitgelieferten Bibliothek Keras erweitert wird. In Keras können künstliche neuronale Netze mit wenigen Code-Zeilen erstellt und ausgeführt werden.
Damit ist die Erstellung von mehrschichtigen künstlichen neuronalen Netzen leicht möglich und für jedermann zu testen. Lediglich größere Herausforderungen werden durch die – für Normalverbraucher sicherlich begrenzte – Hardware limitiert.
Eine Einschränkung wäre da noch: Hartnäckigkeit und eine Neigung zum autodidaktischen Lernen sind sicherlich generelle Voraussetzungen für jeden, der sich nicht über einen monatelangen Vollzeitkurs einarbeiten kann, sondern dies nebenbei einrichten muss. Bitte nicht aufgeben – auch andere haben es geschafft, in der Praxis erprobt und dann einen Artikel wie diesen geschrieben.