Deep Learning: Was ist das eigentlich?
Zurück zum BlogDeep Learning ermöglicht Durchbrüche auf allen Feldern der künstlichen Intelligenz. Egal, ob es sich dabei um Bilderkennung, das Verstehen von Sprache, maschinelle Übersetzung oder das autonome Fahren handelt. Aber was steckt eigentlich dahinter? Und wann ergibt die Verwendung von Deep Learning Sinn?
Deep Learning ist eine spezielle Methode der Informationsverarbeitung und ein Teilbereich von Machine Learning, das neuronale Netze sowie große Datenmengen zur Entscheidungsfindung nutzt.
Die Lernmethoden orientieren sich an der Funktionsweise des menschlichen Gehirns, das ebenfalls aus miteinander verschalteten Neuronen besteht.
Diese Bauweise ermöglicht, auf Basis neuer Informationen, das Erlernte immer wieder mit neuen Inhalten zu verknüpfen und zu erweitern.
Daraus resultierend ist die Software in der Lage, Prognosen oder Entscheidungen zu treffen.
Angelehnt an https://www.bigdata-insider.de/was-ist-deep-learning-a-603129/
Historie des Deep Learning
Deep Learning basiert auf neuronalen Netzen. Die sind nicht neu. Erste Ideen und Forschung gab es bereits Anfang der 1940er-Jahre. Die Idee dabei ist, die Struktur des Gehirns aus miteinander vernetzten Neuronen nachzubilden. Noch während meines Studiums in den 1990ern waren neuronale Netze eher etwas für Freaks und fanden kaum den Weg in praktische Anwendungen. Insbesondere die Leistung der verfügbaren Rechner stieß sehr schnell an Ihre Grenzen und die verfügbaren Datenmengen waren nicht annähernd groß genug.
Das hat sich allerdings in den letzten Jahren rapide geändert. Mit der Einführung von hochleistungsfähiger Hardware für Matrizenoperationen aus dem Grafiksektor wurde der Aufbau und das Training auch komplexerer Netz-Topologien möglich. Inzwischen gibt es sogar speziell für das Training von neuronalen Netzen optimierte Prozessoren, wie Googles Tensor Processing Units.
Spätestens mit dem Sieg von Googles Alpha Go über einen der weltbesten Go-Spieler entwickelte sich ein enormer Hype um Deep Learning in allen Bereichen des künstlichen Lernens. Dies geht bis hin zu Kreativanwendungen, wie dem Erzeugen von Bildern oder Komponieren von Musikstücken.
Was ist Deep Learning?
Neuronale Netze sind ein Gebilde aus miteinander vernetzten Neuronen, Gewichten und Schwellwerten. Die Topologie, also die Anordnung und Vernetzung dieser Neuronen untereinander, spielt dabei eine große Rolle. Deep-Learning-Topologien bestehen aus vielen Schichten von Neuronen, die typischerweise jeweils abstrahieren bzw. auf bestimmte Features, also Eigenschaften des Eingangssignals, ansprechen. Diese tiefe Schachtelung ist besonders leistungsfähig und ist für die Namensgebung „Deep Learning“ verantwortlich. Es handelt sich hier häufig um Faltungsnetzwerke, sogenannte Convolutional Networks, die sich unter anderem sehr gut für die Bilderkennung eignen.
Daneben gibt es rekurrente Netzwerke, die ein zeitliches Gedächtnis haben und die Historie eines Signals berücksichtigen. Dies ist insbesondere bei Anwendungen im Bereich der Sprache oder für Zeitreihenanalysen wichtig, bei denen Referenzen auf vorhergehende Eingangswerte eine große Rolle spielen.
Und wie versteht Deep Learning mich?
Generell gilt, dass neuronale Netze ausschließlich Vektoren bzw. Matrizen verarbeiten können. Die Abbildung ist für Messwerte oder Bilder relativ trivial. Jedem Sensor bzw. jedem Pixel kann ein Eingangsneuron zugeordnet werden. Für Sprache ist die Abbildung komplexer: Würde man einfach jedem Wort ein Eingangsneuron zuordnen, würde die Berechnung sehr ineffizient. Daher wurden Word Embeddings eingeführt, die Wörter in einem multidimensionalen Vektorraum platzieren.
Die für einen Text aus der Transformation entstehende Matrix kann als effiziente Eingangsmatrix für das Netz verwendet werden. Als Nebenprodukt des Word Embeddings entsteht interessanterweise auch eine Semantik innerhalb dieses Vektorraums. Im Idealfall kann damit sogar gerechnet und prädiziert werden. Kennt man beispielsweise den Vektor, der Spanien und Madrid verbindet, kann z. B. auch die Hauptstadt von Frankreich über Vektoralgebra bestimmt werden.
Lernen, lernen, lernen…
Um ein neuronales Netz überhaupt für die Klassifikation von Bildern oder Texten verwenden zu können, muss es zunächst trainiert werden. Hierfür wird ein Signal – z. B. ein Bild von einem Pferd – an die Eingangsneuronen angelegt. Die Gewichtungen und Schwellenwerte innerhalb des Netzes werden dann so lange optimiert, bis die richtigen Ausgangsneuronen für den Inhalt Pferd aktiviert werden.
Dies ist ein äußerst rechenintensiver Optimierungsprozess, der eine sehr große Menge von Trainingsdaten benötigt. Glücklich ist hier, wer bereits auf ein großes, qualitätsgesichertes Referenz-Set zurückgreifen kann, wie professionell klassifizierte Patente oder mit Schlagworten versehene Bilddatenbanken. Oder wer Daten zu Nutzern und deren Verhalten im großen Stil sammeln kann, wie die großen Social-Media-Plattformen.
Die Anwendung des errechneten Netzes, z. B. zur Erkennung von Bildinhalten, hingegen ist relativ einfach. Sie kann problemlos auch auf mobilen Geräten implementiert werden. Diese Asymmetrie ist für den Durchbruch des Deep Learning mitverantwortlich, da ein einmal berechnetes Netzwerk sehr kostengünstig in Embedded-Rechnern für elektronische Geräte, Steuerungen oder Fahrzeuge genutzt werden kann.
Ein weiterer Katalysator für den Durchbruch des Deep Learning ist die Demokratisierung des Machine Learning. Inzwischen sind sehr leistungsfähige Frameworks für die Implementierung von neuronalen Netzen frei verfügbar, sodass das Rad nicht immer wieder neu erfunden werden muss. Eine große Community kann sich so ganz auf die Weiterentwicklung von Topologien, Trainingsmethoden und Modellen konzentrieren, was zu enorm schnellen Fortschritten in diversen Bereichen führt.
Deep Learning als Universallösung?
Generell gilt, dass der große Vorteil des Deep Learning gegenüber anderen Verfahren gleichzeitig auch seine Achillesferse ist: Die Leistungsfähigkeit eines Netzes skaliert mit der Menge der verfügbaren Trainingsdaten. Das bedeutet, dass Deep Learning nur mit signifikant großen, erschlossenen Datenmengen sinnvoll einsetzbar ist. Dann macht es, die nötige Rechenpower vorausgesetzt, auch richtig Spaß. Und niemand muss sich um die mühsame Erstellung von Regeln oder eine eingehende Datenanalyse für die Bestimmung relevanter Kenngrößen oder Eigenschaften kümmern.
Nicht unerwähnt bleiben soll der Blackbox-Aspekt von Deep Learning. Genauso wenig wie wir bis heute die Vorgänge im menschlichen Gehirn verstehen, kann man beim Deep Learning sagen, warum eine bestimmte Entscheidung getroffen wird. Wissenschaftliche Studien haben insbesondere gezeigt, dass sich Netze für die Bilderkennung mit speziell präparierten Bildern teilweise leicht täuschen lassen. Legt man z. B. bestimmte Muster oder Rauschen über ein Bild, können Verkehrszeichen plötzlich nicht mehr erkannt werden.
In der Praxis beschäftigen wir bei Empolis uns beispielsweise mit der Anwendung von Deep Learning zur Analyse von textuellen, ärztlichen Befunden und zur Patentklassifikation. Dabei verfolgen wir aktuell einen hybriden Ansatz, der sowohl Bilder aus Patenten als auch die textuelle Beschreibung des Patents berücksichtigt.
Wofür eignet sich Deep Learning am besten?
Deep Learning ist eine sehr sinnvolle Erweiterung unseres großen Datenanalyse-Werkzeugkoffers für Probleme, für die große Datenmengen verfügbar und eine deterministische Nachvollziehbarkeit nicht zwingend erforderlich sind. Für alle anderen Szenarien ergeben auch weiterhin klassische, statistische und deterministische sowie regelbasierte Ansätze Sinn.