In den vergangenen Monaten hatte ich die Gelegenheit mit einer Vielzahl von Entscheidern über Künstliche Intelligenz im Allgemeinen und speziell Maschinelles Lernen zu sprechen. Mehrere dieser Führungskräfte wurden von ihren Investoren gefragt, was denn ihre Strategie in Hinblick auf Maschinelles Lernen sei und wo es bereits eingesetzt würde. Wie kommt es, dass dieses vormals technische Thema plötzlich die Führungsetagen von Unternehmen erreicht?

Computer sollen Aufgaben für Menschen lösen. Der traditionelle Ansatz ist, das gewünschte Vorgehen zu „programmieren“, also dem Computer einen passenden Algorithmus zur Problemlösung beizubringen. Der Algorithmus ist eine kleinteilige Beschreibung des Vorgehens, ähnlich einem Kochrezept. Es gibt viele Aufgaben, die einfach durch einen Algorithmus ausgezeichnet beschrieben werden können, wir alle haben zum Beispiel in der Grundschule Algorithmen für das Addieren von Zahlen gelernt. In der fehlerfreien und schnellen Ausführung solcher Algorithmen sind Computer Menschen deutlich überlegen.

Dieses Vorgehen stößt allerdings an Grenzen. Wie erkennen wir auf einem Foto eine Katze? Dieses scheinbar einfache Problem ist schwierig als Algorithmus zu fassen. Halten Sie einen Moment inne und versuchen Sie es. Selbst triviale Schritte wie „hat vier Beine“ oder „hat zwei Augen“ haben ihre Tücken, da häufig Teile verdeckt sind oder das Foto nur einen gewissen Ausschnitt darstellt. Zudem ist die Erkennung eines Beins oder Auge genauso schwierig wie die Erkennung der Katze.

Genau hier liegt die Stärke des Maschinellen Lernens. Anstatt dass wir einen Algorithmus für die Problemlösung entwickeln müssen, lernt der Computer diesen Algorithmus selbständig aus Beispielen. Wir trainieren den Computer anhand von Beispielen. Bei unserem Katzenbeispiel könne dies bedeuten, dass wir das System mit vielen Fotos trainieren und jeweils dazu vermerken, ob dies eine Katze abbildet. Hierdurch reift ein Algorithmus, der anschließend auf unbekannten Bildern Katzen erkennt.

Tatsächlich lernen Computer hierbei üblicherweise keine klassischen Programme sondern Parameter innerhalb eines Modells, zum Beispiel Kantengewichte innerhalb eines Netzwerkes. Dieses Prinzip ist durchaus vergleichbar mit dem Lernprozess in unserem Gehirn (soweit wir diesen verstehen), bei dem Verbindungen zwischen Nervenzellen angepasst werden. Analog zum Gehirn und im Gegensatz zu einem klassischen Programm lässt sich dieses Netzwerk mit seinen Kantengewichten allerdings nur kaum von Menschen interpretieren.

In diesem Kontext hat sich eine spezielle Klasse von Lernverfahren für künstliche Neuronale Netze als besonders erfolgreich erwiesen, das sogenannte Deep Learning. Deep Learning ist insofern eine Spezialisierung des Maschinellen Lernens, welches wiederum eine Teildisziplin der Künstlichen Intelligenz ist, einem wichtigen Forschungszweig der Informatik. Bereits 2012 hat sich ein Netzwerk aus 16.000 Computern bei Google anhand von 10 Millionen Bildern aus Youtube-Videos darauf trainiert, Katzen (und andere Objektklassen) erfolgreich in Bildern zu erkennen. Als Verfahren wurde hierzu Deep Learning eingesetzt.

Viele praxisrelevante Probleme fallen eher in die Kategorie „Katze erkennen“ als „Zahlen addieren“, lassen sich also nur unzureichend durch einen Algorithmus lösen, den Menschen aufschreiben können. Häufig geht es darum, in Daten ein Muster zu erkennen, z. B. die Erkennung von Objekten in Bildern, Text aus Sprache oder ein potenzieller Betrugsversuch in Transaktionsdaten.

Ein einfaches Praxisbeispiel ist die vorausschauende Wartung (Predictive Maintenance). Stellen Sie sich vor, dass viele Sensoren Datenströme liefern und gelegentlich eine Maschine ausfällt. Die Herausforderung besteht dann darin, das Muster in den Datenströmen zu lernen, das letztlich zum Ausfall führt. Ist dieses Muster erlernt, kann es im echten Betrieb erkannt werden, so dass rechtzeitig auf einen potenziellen Ausfall hin reagiert wird.

Das Prinzip des Maschinellen Lernens ist nicht neu, dennoch erlebt es gerade jetzt einen Siegessturm. Hierzu tragen drei wesentliche Faktoren bei: Einerseits sind die großen Datenmengen verfügbar, die für die Anwendungen und das Trainieren erforderlich sind. Zum zweiten haben wir die erforderliche, enorme Rechenleistung, insbesondere durch die Cloud. Und zum dritten haben diverse Open Source Projekte dazu geführt, dass die Algorithmen quasi für jedermann zur Verfügung stehen.

Maschinelles Lernen ersetzt nicht die klassische Programmierung sondern ergänzt sie: sie liefert Werkzeuge um eine wichtige Klasse von Problemen zusätzlich zu adressieren, die bislang schwierig oder gar nicht zu beherrschen waren. Insgesamt ergeben sich hierdurch neue Möglichkeiten und auch bestehende Systeme werden zunehmend um Funktionalitäten auf Basis des Maschinellen Lernens ergänzt.

Ein typisches Beispiel sind wiederkehrende Tätigkeiten, die Mustern folgen. Denke Sie an ein Computerprogramm mit hunderten Funktionalitäten, die über viele Menüs kompliziert zur Verfügung gestellt werden, von denen Sie im Alltag aber nur wenige wirklich aktiv verwenden. Hier kann ein Computer durch Beobachtung lernen, was Sie üblicherweise als nächstes tun und Ihnen dies prominent anbieten um Sie letztlich produktiver zu machen. Oder denken Sie an die Zuordnung und Transformation von Daten (zum Beispiel im Rahmen von sogenannten in ETL-Jobs zur Befüllung eines Data Warehouses); indem der Computer wiederkehrende Daten und Objekte „lernt“, können viele Schritte automatisiert und beschleunigt werden.

Weitere Beispiele findet man in fast jedem Bereich: das adäquate Zuschneiden von Lerninhalten auf den individuellen Lernenden (speziell innerhalb von „Massive Open Online Courses“ (MOOCs)), das rechtzeitige Erkennen von Erkrankungen, die richtige Zielgruppe für das online Marketing, Kundenabwanderungen, das automatisierte Erkennen von Datenqualitätsproblemen oder das Matching von Profilen auf einer Partnerbörse.

Als technische Infrastruktur im Umfeld von Big Data hat sich Spark (in Kombination mit Hadoop) durch seine ausgereiften Werkzeuge im Bereich Maschinelles Lernen etabliert. Diesen Ansatz verfolgt auch Talend, abstrahiert aber eine Ebene weiter durch die Modellierung von Jobs (sowohl für das Trainieren als auch den späteren Einsatz in Produktion). Die Modellierung reduziert die Komplexität und führt gleichzeitig zu einer gewissen Unabhängigkeit von den zugrunde liegenden Technologien, die sich immer noch schnell verändern und für die Experten nur sehr schwierig zu finden sind.

Die Details der Algorithmen aus dem Bereich des Maschinellen Lernens müssen nur wenige Spezialisten im Detail verstehen. Hingegen ist es für ausnahmslos jeden vorteilhaft das Konzept zu verstehen, dass Maschinen aus Beispielen Muster lernen und auf neue Daten anwenden können. Letztlich vergrößert sich damit die Klasse der Probleme, die wir maschinell adressieren und automatisieren können: konkret um Entscheidungsprozesse. Denn letztlich lernt der Computer genau dies; er trifft auf neuen Daten basierend auf dem aufgebauten Wissen aus den Trainingsdaten eine Entscheidung. Einerseits können wir dies in unserem jeweiligen Geschäft und Umfeld zu unserem Vorteil nutzen indem wir Entscheidungen automatisieren. Andererseits sind wir selbst stetige Quelle von Daten, die andere analysieren um ihr jeweiliges Geschäft zu optimieren.

Zusammenfassend würde mich freuen, wenn Sie folgendes „Bild“ aus diesem Beitrag mitnehmen: Computer können mittlerweile nicht nur klaren Vorschriften folgen (denken Sie an die Addition von Zahlen) sondern auch aus Beispielen lernen (denken Sie an die Erkennung von Katzen und das Training anhand von Beispielbildern). Je nach Herausforderung passt die eine Vorgehensweise besser oder die andere. Beide Vorgehensweisen können beliebig kombiniert werden und führen insgesamt zu mehr Möglichkeiten in der Automatisierung.