Maschinelles Lernen und intelligente Algorithmen – und darunter insbesondere Deeplearning – sind ein wesentlicher, wenn nicht der Pfeiler der vierten industriellen Revolution. Worum geht es? Wo liegen die Chancen? Und nicht zuletzt: Welche Bausteine kann ich bereits jetzt für mich einsetzen?
Jeder von uns hat es schon einmal bemerkt: Während Computer in einer rasenden Geschwindigkeit komplexeste Algorithmen, mathematische Methoden oder Datenverarbeitung mit abertausenden Datensätzen schnell und zuverlässig verarbeiten können, so sind manch andere – vermeintlich simple – Aufgaben für unsere kleinen Helferlein dann doch wieder viel zu schwierig.
Der Mensch ist in der Lage, durch simultane, konstante Sinnesaufnahme und zigfache Wiederholung verschiedenster Situationen selbstständig Muster zu identifizieren, diese zu abstrahieren, sich zu merken und dann zum richtigen Zeitpunkt auf ähnliche Situationen das Gelernte anzuwenden. Oder haben Sie größere Schwierigkeiten, ein Pferd neben einem Elefanten auf einem Bild zu identifizieren? Der Computer schon.
Noch vor wenigen Jahren war der Versuch, einem Computer beizubringen, auf einem Foto alle Personen dem Geschlecht entsprechend zu identifizieren, von überschaubarem Erfolg gekrönt. Vor selbiger Fragestellung steht auch das Feld des Natural Language Processing. Hier wird versucht, dem Computer den Sinn – also die Semantik – eines Satzes näherzubringen.
Es geht bei den neuen intelligenten Algorithmen und ihrer „Intelligenz“, worum es schon immer geht: „Finde die Korrelation oder die Merkmale, welche A von B trennen.“ Nur ist es diesmal ungleich schwieriger. Wir geben den Computern eine unglaubliche Anzahl an statischen Bildern, Texten oder Textfragmenten und sagen ihm sinngemäß: „Lerne die impliziten Features/die implizite Korrelation. Erkenne die Muster eigenständig.“ Wir müssen nicht mehr sagen: „Beachte bei Frauengesichtern die hohen Wangenknochen“ oder „Schau bei Männern auf den Bartwuchs“, wenn wir die Software bauen. Wir geben dem Computer nicht mehr die Regeln vor – er soll die Regeln selbst herausfinden.
Dafür werden Modelle entwickelt, die sich im entferntesten an das neuronale Netz eines Gehirns orientieren – daher auch der Name. Diese Modelle, die aus einer Vielzahl einzelner Knoten und Kanten bestehen, werden dann mit den gewünschten Daten gefüttert. Natürlich muss dem Modell während dieser Trainingsphase noch gesagt werden, welches Geschlecht in den jeweiligen Bildern angezeigt wird oder ob der zu erlernende textuelle Sachverhalt eher positiv oder negativ gemeint war. Vergleichbar ist das etwa mit einem Kleinkind, dem man bestimmte Merkmale erst einmal erklären muss – bis es dann selbstständig Schlüsse ziehen kann.
Interagieren statt Programmieren
Durch die neueste Entwicklung an Algorithmen und Infrastruktur und den immer besser vernetzten und parallel arbeitenden Computernetzwerken wird möglich, dass der Computer nicht mehr nur reagiert, sondern sich immer nahtloser in unseren Alltag integriert.
Eine Wunschvorstellung für alle Unternehmen ist es natürlich, dass anstelle des Programmierens von Code die Interaktion mit dem Computer in den Vordergund rückt. Dieser merkt sich alle Interaktionen, zieht aus ihnen Schlüsse und passt sich an. Ein Traum für Unternehmen, denn die Anpassungskosten im Laufe des Lebenszyklus von IT-Lösungen schrumpfen. Der Computer passt sich ähnlich wie die Menschen, an neue Prozesse und neue Arbeitsweisen an.
Mehr noch: Programmierte Systeme werden dümmer, weil sie nicht mitdenken, intelligent Systeme hingegen werden besser, weil sie dazulernen. Im Zweifel wird eine intelligente IT-Lösung also mit der Zeit immer besser, je mehr Sie mit ihr arbeiten, je mehr Verhaltensmuster – also Daten – Sie ihr zur Verfügung stellen.
Zwar ist diese Zielvorstellung noch lange nicht erreicht und die Algorithmen werden noch einige Jahre Entwicklung benötigen, bis wir jemals soweit kommen, aber es gibt jetzt schon beachtliche Fortschritte.
Muster in unstrukturierten Daten erkennen
Die ersten Blüten des maschinellen Lernens gepaart mit der Rechenkraft heutiger Computer(-netze), und hier kommt der Bogen zurück zur sogenannten Industrie 4.0, ist nämlich eminent wichtig bei der Sichtung unstrukturierter Daten. Denn ein weiteres Rückgrat der nächsten industriellen Revolution sind eben die Sensoren, die Daten aus Millionen und Abermillionen von Geräten. 80 Prozent der heutigen Daten sind unstrukturiert und liegen im Verborgenen. Diese Zahl wird mit der zunehmenden Zahl von IoT-Geräten weiter steigen.
Um diese Daten sinnvoll auszuwerten braucht es die Fähigkeit, Muster zu erkennen – und das über eine riesige Anzahl von Datensätzen. Weder Menschen noch klassische Datenbanken können das leisten – Deeplearning-Lösungen hingegen schon.
Tatsächlich existiert bereits heute eine Vielzahl von Deeplearning-Bibliotheken, die Sie für Ihre Arbeit nutzen könnten. Jede hat ihre Stärken und Schwächen. Auch ist noch nicht abzusehen, welche der Frameworks und Bibliotheken sich langfristig etablieren wird. Drei der bekannteren Bibliotheken möchten wir hier kurz vorstellen.
Theano ist eine Open-Source-Python-Bibliothek und wird seit nunmehr zehn Jahren im Umfeld der Universität Montreal entwickelt. Mit Theano kann der Nutzer auf bekannte Python-Bibliotheken wie NumPy zugreifen, mathematische Ausdrücke in einer High-Level-Syntax beschreiben oder bei hochintesiven Berechnungen auf die GPU zugreifen. Im Hintergrund werden die Berechnungsschritte als Graphen interpretiert, wodurch Theano den Fokus auf schnelle und effiziente Algorithmen legt. Allerdings ist Theano relativ kompliziert zu verwenden. Es enthält keine nativen neuronalen Netzwerkklassen und es bedarf einer Vielzahl manueller Schritte, um das gewünschte Model zu entwickeln. Keras und Lasagne bieten eine einfache High-Level-API für Theano an. Diese ermöglicht gutes und schnelles Prototypen, ohne sich mit zu vielen Kleinigkeiten rumschlagen zu müssen.
Tensorflow ist eine Bibliothek mit Python-Interface unter Apache-Lizenz, wird entwickelt vom Google Brain-Team und basiert auf einem C++-Kern. Der Nutzerkreis der Bibliothek umfasst einen illustren Kreis an IT-Industriegrößen: Google, DeepMind, OpenAI, Snapchat, Uber, Airbus, eBay Dropbox sind nur einige der Namen, die Tensorflow einsetzen. Dementsprechend groß ist die Community. Verglichen mit ähnlichen Bibliotheken plagt Tensorflow allerdings eine eher maue Performance. Die Köpfe von Google haben sich dem Thema aber bereits angenommen.
Caffe wurde am Berkeley Vision and Learning Center auf einer BSD2-Clause-Lizenz entwickelt und nimmt die Rolle des Vorreiters in Industrie und Forschung ein. Sie basiert auf Python und setzt ebenfalls auf GPU-Beschleunigung. Die größte Stärke von Caffe ist die Bildverarbeitung, keine andere Bibliothek kommt hier auf vergleichbar gute Ergebnisse bzw. erlaubt eine solch flexible Integration. Größtes Manko gegenüber den anderen Bibliotheken: Caffe ist bis jetzt nur sehr schwer für die Analyse natürlicher Sprache (Natural Language Processing) nutzbar.
Diese kurzen Einblicke in drei Deeplearning-Bibliotheken zeigt: Jede Lösung setzt einen anderen Schwerpunkt, und alle stecken noch in einer vergleichsweise frühen Phase der Entwicklungsreife. Sollten Sie ein Projekt aus Basis solcher Bibliotheken vorhaben, ist eine detaillierte Anlyse der Stärken, Schwächen und Potentiale unabdingbar. Und die drei genannten sind nur die Spitze des Eisbergs: Man kann bei der schieren Menge an Bibliotheken und ihren unterschiedlichen Stärken und Schwächen leicht den Überblick verlieren.
Des Weiteren – und der weit wichtigere Teil: Die Entwicklung eines effizienten und zielgerichteten Modells muss eine Vielzahl an Hürden nehmen, von der Datenqualität und Datenkonsistenz bis hin zur Modellenwicklung, -evaluation und -optimierung. Erst dann wird aus einer digitalen Lösung, die sich blindlings durch Datenberge wühlt, ein echter Helfer, der den Menschen entlasten kann: bei der Suche nach Mustern in Bergen unstrukturierter Daten.