Deep Learning
Artificial Intelligence - das Training macht den Unterschied
Rund um das Thema Artificial Intelligence (AI)Artificial Intelligence (AI) ranken sich verschiedenste Mythen. Während die einen Horrorszenarien an die Wand malen, wonach Maschinen die Kontrolle über die Menschheit übernehmen werden, hoffen andere auf ein Paradies auf Erden, in dem intelligente Maschinen sämtliche Arbeit übernehmen und die Menschen nur noch tun, was ihnen Spaß macht. Alles zu Artificial Intelligence auf CIO.de
Deutschen Forschungszentrum für Künstliche Intelligenz (DFKI) in Kaiserslautern.
"KI-Systemen fehlt ein Bewusstsein. Beispielsweise übersetzen sie heute in Echtzeit besser als die allermeisten Simultandolmetscher, haben aber keine Ahnung, mit welcher Sprache sie es zu tun haben, was der Text bedeutet und welche Wirkung er auf den Leser hat." Die menschliche Intelligenz, grob aufgeteilt in die Bereiche Wahrnehmung, Denken, Wissen und Lernen/Trainieren, werde in ihrer Komplexität und Leistungsfähigkeit von KI-Systemen längst nicht erreicht, lautet das Fazit des Wissenschaftlers.
Die Begriffe AI, Machine Learning und Deep Learning werden oft miteinander vermengt und synonym verwendet. Doch es gibt Unterschiede. Grob gesagt bildet Machine Learning eine Untermenge von AI, und Deep Learning entspricht einem Teilbereich von ML. Von Artificial Intelligence spricht man, wenn Maschinen Aufgaben übernehmen, die menschliche Intelligenz imitieren, indem sie beispielsweise planen, lernen und Probleme lösen. Das betrifft aber auch das Verstehen von Sprache oder das Erkennen von Objekten, Bildern oder Geräuschen.
Man unterscheidet grob zwischen zwei Spielarten von AI: Artificial General Intelligence (AGI) entspricht einem maschinellen Gegenentwurf zur menschlichen Intelligenz - mit all ihren Sinnen und Fähigkeiten. Solche Systeme werden oft auch als Cognitive Systeme bezeichnet. Artificial Narrow Intelligence (ANI) beinhaltet dagegen nur bestimmte Aspekte menschlicher Wahrnehmung und Intelligenz, beispielweise das Erkennen von Bildern oder Gesichtern. ANI ist in aller Regel darauf ausgelegt, spezifische Aufgabe zu lösen. Die meisten der derzeit in den Unternehmen eingesetzten AI-Anwendungen ordnen sich in die Kategorie ANI ein. AGI-Szenarien gehören dagegen überwiegend noch in den Bereich der Science Fiction.
Machine Learning und Deep Learning - die Werkzeuge für AI
Wenn Maschinen mit Hilfe von Algorithmen bestimmte Aufgaben lernen und ausführen können, ohne zuvor explizit dafür programmiert worden zu sein, spricht man von Machine Learning. Den Schlüssel dafür bilden die zugrundeliegenden Modelle. Klassische statistische Modelle aus der Business Intelligence-Ära benötigen eine mathematische Gleichung sowie ein klares Verständnis der verschiedenen Variablen.
Es erfordert vergleichsweise viel Zeit und Datenarbeit, um solche statische Modelle zu erstellen. Wenn die Zusammenhänge erkannt sind und die Gleichung steht, können sie zwar wertvolle Erkenntnisse für das eigene Business liefern. Doch sie haben einen Nachteil: Verändert sich die Datengrundlage, muss auch das statistische Modell zumindest in Teilen, oder sogar ganz neu gebaut werden.
Studie Machine Learning/Deep Learning 2019
Machine-Learning-Modelle erfordern dagegen keine starren Regeln. Vereinfacht gesagt, beobachten sie Input und Output und bauen daraus ihre eigenen Korrelationen und Gleichungen. Solche Modelle lassen sich vergleichsweise schnell und ohne viel Aufwand entwickeln. Schließlich müssen keine sicher belastbaren Datenkorrelationen in das Modell hineingepackt werden - die soll das Modell schließlich selbst herausfinden.
Der Nachteil dabei: Die Ergebnisse, die so ein ML-Modell gerade am Anfang ausspuckt, sind ungenau, teilweise schwer zu interpretieren und damit nicht unbedingt zielführend für das Geschäft. Dafür lassen sich mit vergleichsweise geringem Aufwand mehrere verschiedene Modelle parallel entwickeln und ausprobieren. Ein weiterer Vorteil besteht darin, dass ML-Modelle einfach nur neu trainiert werden müssen, wenn sich die Datenbasis verändert.
Ein Beispiel: Als Schüler haben wir gelernt, wie handgeschriebene Zahlen aussehen - in allen möglichen Spielarten, von Lehrern, Eltern, anderen Kindern etc. Eine ovale, kreisförmige Struktur ist eine 0, ein senkrechter Strich, an dessen oberen Ende ein kürzerer Strich schräg nach unten links ansetzt, ist eine 1, usw. Was unserem abstraktionsfähigen Gehirn relativ leicht fällt, kann für eine Maschine unendlich schwer sein.
Die unzähligen Variationen, wie sich Zahlen schreiben lassen, machen es nahezu unmöglich, ein dediziertes Programm dafür zu schreiben, handgeschriebene Zahlen exakt zu identifizieren. Wird beispielsweise der Kreis der Null nicht komplett geschlossen oder der Seitenstrich der 1 fällt nahezu waagerecht aus, muss das Regelwerk eines Softwareprogramms kapitulieren.
Machine-Learning-Modellen zeigt man unterschiedlichste Schreibweisen von Zahlen und sagt ihnen, auf was dabei zu achten ist. Wichtige Anhaltspunkte für den Algorithmus können dabei die Zahl der Linien sowie Menge und Position der Kreuzungspunkte sein. Unwichtige Informationen sind beispielsweise die Farbe oder die Größe der Zahlen.
Füttert man das ML-Modell nun mit den relevanten Features, auf die geachtet werden soll, sowie einer ausreichend großen Menge an Beispielen kann die Maschine lernen, handschriftlich aufgezeichnete Zahlen zu erkennen. Dabei gilt jedoch eine Einschränkung: Das Modell ist nur so gut, wie die eingegebenen Eigenschaften zutreffen, wie gut also der betreffende Mensch die Charakteristika des zu erkennenden Gegenstands identifiziert hat.
Wahrscheinlich hat jeder von uns schon einmal mitgeholfen: Wenn uns eine Website auffordert, Bilder mit Ampeln, Geschäften oder Tieren zu markieren, um festzustellen, ob ein Mensch oder Maschine anfragt, wird im Hintergrund ein Algorithmus trainiert.
Deep Learning - lernen ohne Regeln
Deep Learning ist eine spezielle Spielart von Machine Learning. Dabei kommen sogenannte neuronale Netze ins Spiel. Diese erlauben den Algorithmen noch mehr Freiheiten. Muss man den ML-Algorithmen noch dediziert sagen, wie Daten strukturiert sind und auf was sie achten müssen, kann man DL-Algorithmen ganz ohne Regelwerk auf alle möglichen Daten loslassen - zumindest in der Theorie.
Deep-Learning-Modelle versprechen, dass die dahinterliegenden Algorithmen und neuronalen Netze ohne vorherige Definition von maßgeblichen Charakteristika der zu erkennenden Objekte auskommen. Die Modelle werden mit generell verfügbaren Daten trainiert. Der Algorithmus erfährt jeweils, ob er richtig oder falsch gelegen hat, und definiert darauf aufbauend seine eigenen Kriterien, die aus Sicht des Modells relevant für eine korrekte Erkennung sind. Der Nachteil dieser Methode: Es braucht viele Daten und viel Zeit sowie eine hohe Rechenkapazität für das Training von Deep-Learning-Modellen.
Modelle können das Gelernte abstrahieren
Die grundlegende Idee hinter ML und DL liegt darin, dass die Modelle über Daten lernen, das Gelernte generalisieren und im Idealfall auch auf andere, bis dato unbekannte Daten anwenden können. Modelle bestehen aus verschiedenen Komponenten: Daten, Algorithmen und sogenannten Hyperparametern - übergeordneten Kennzahlen, die etwas über den Lernprozess aussagen.
Ein Beispiel: Um Klavier spielen zu lernen braucht es Noten, sowie Angaben zu bestimmten Musik- und Kompositionsstilen - das sind die Daten. Der Algorithmus besagt, wie Hände und Finger in Korrelation zu Noten und anderen Vorgaben wie beispielsweise dem Takt die Tasten des Klaviers anschlagen sollen. Hyperparameter sind Übungsintervalle und -dauer, Ort und Zeit der Übungen, Typ des Klaviers etc. Nimmt man all dies zusammen, erhält man ein Klavierspielen-Lern-Modell. Wird es ausreichend trainiert, ist davon auszugehen, dass es in der Folge auch bis dato nicht geübte, unbekannte Musikstücke spielen kann.
Auch Maschinen lernen unterschiedlich
Wie Menschen lernen auch Maschinen unterschiedlich. Es gibt diverse Ansätze, wie sich ML-Modelle entwickeln lassen:
Supervised: Beim sogenannten Supervised Learning sagt ein 'Lehrer' dem Algorithmus, ob er richtig oder falsch gelegen hat. Ziel ist eine bestimmte Entwicklung vorauszusagen, wie zum Beispiel die Kündigung eines Abonnenten. Oder es lassen sich einzelne Objekte erkennen, wie beispielswiese eine Handschrift. Dafür wird der Algorithmus solange mit Parametern und Daten trainiert, bis das Modell die gewünschte Leistungsfähigkeit erreicht hat.
Unsupervised: Beim nicht überwachten Training bekommt der Algorithmus keinerlei Hinweise, ob er richtig oder falsch liegt. Es bleibt der Maschine überlassen, selbständig Korrelationen und Beziehungen zwischen den Daten herzustellen. Am Ende muss allerdings ein Analyst entscheiden, ob die Resultate sinnvoll sind und das Business weiterbringen. Unsupervised Learning kommt meist dann zum Zug, wenn die Antworten noch nicht bekannt sind (anders beim Supervised Learning: Der Kunde kündigt - welche Parameter im Vorfeld haben darauf hingedeutet?). Ein typisches Einsatzgebiet ist die Segmentierung von Kundengruppen, die sich dann in Folge mit bestimmte Werbebotschaften und Produkten adressieren lassen.
Der Vorteil des Unsupervised Learning liegt darin, dass sich die Modelle praktisch automatisiert von selbst erstellen. Manuelle Eingriffe sind nicht nötig. Außerdem bietet dieser Ansatz oft überraschend neue Einsichten in Daten, die Unternehmen möglicherweise neue Geschäftsoptionen eröffnen. Schwierig ist bei diesem Ansatz allerdings, korrekt einzuschätzen, ob das Modell richtig funktioniert. Hier gilt es, verschiedene Effekte im Blick zu behalten.
Manchmal funktioniert ein Unsupervised Modell in Bezug auf eine bestimmte Datenkategorie sehr gut - weil das Modell lange und intensiv trainiert wurde -, kommt aber mit neuartigen Daten, die später dazukommen, nicht zurecht. Man spricht in diesem Fall von Overfitting. Ein Underfitting tritt auf, wenn zu wenig Daten zur Verfügung stehen, und das Modell nur ungenaue Klassifizierungen ausspuckt. Derartige Ausprägungen sind teilweise nur schwer zu erkennen. Zu beurteilen und zu testen, wie gut Unsupervised Modelle funktionieren, kann daher aufwendig sein.
Im Gegensatz dazu ist ein Supervised Modell transparent und nachvollziehbar. Die Daten sind strukturiert, das Ergebnis ist klar. Der Interpretationsaufwand bleibt gering. Aber dieses überwachte Lernen erfordert viel Aufwand, um die benötigten Daten aufzubereiten und das Modell zu trainieren.
Machine Learning - das sind die Basics:
Darüber hinaus gibt es weitere Lernansätze. Im Semisupervised Verfahren bekommt der Algorithmus ein paar Informationen, was die Daten und deren Struktur betrifft, muss sich das Modell dann aber in weiten Teilen selbst zusammenbasteln. Beim "Reinforcement Learning" erhält der Algorithmus bei bestimmten Schritten eine Information darüber, ob er richtig oder falsch liegt. Auch hier ist die Antwort bekannt, allerdings liegen zu wenig gelabelte Daten vor, als das ein 'Lehrer' den Algorithmus durch den gesamten Lernprozess begleiten kann. Diese bestärkende Methode kommt dem menschlichen Lernen am nächsten.
Beim Active Learning wird dem Algorithmus die Möglichkeit eingeräumt, für einen Teil der Eingaben die korrekten Antworten zu erfragen. Allerdings muss sich die Maschine selbst überlegen, welche Fragen den meisten Informationsgewinn versprechen. Transfer Learning kommt zum Einsatz, wenn man ein bestehendes Modell auf einem anderen Einsatz- und Datengebiet ausprobiert. Das kann Zeit und Aufwand beim Entwickeln eines passenden Modells einsparen. Um auf das Beispiel des Klavierspiel-Modells zurückzukommen: Dieses ließe sich als Grundlage verwenden, um ein Lernmodell für Akkordeon zu entwickeln. Notenkenntnisse als Datengrundlage sind vorhanden, genauso die Fertigkeit, wie Finger auf einer Klaviatur einzusetzen sind. Neu zu lernen ist das Handling der Basstasten und des Balgs.
Deep Learning imitiert das menschliche Gehirn
Deep Learning verfolgt einen etwas anderen Ansatz als klassische ML-Verfahren. Grundlage bilden hier sogenannte neuronale Netze, die sich an der Funktionsweise des menschlichen Gehirns orientieren - wobei anzumerken ist, dass die tatsächlichen Abläufe im menschlichen Gehirn deutlich komplexer sind, als dass ein neuronales Netz diese Nervenverschaltungen und Interaktionen abbilden oder gar nachahmen könnte. Das Grundprinzip funktioniert jedoch ähnlich: Im Gehirn sind die Neuronen über Synapsen miteinander verbunden. Je nach Aktivität sind diese Verknüpfungen stärker oder schwächer ausgeprägt. Einzelne Neuronen empfangen Signale, bewerten und bearbeiten diese, und geben ein Reaktionssignal an andere Neuronen weiter.
Auch in einem künstlichen neuronalen Netz sind einzelne Recheneinheiten (Neuronen) miteinander vernetzt, um Informationen möglichst intelligent zu verarbeiten - so die Theorie. In der Praxis bestehen Deep-Learning-Architekturen aus mehreren Neuronen-Schichten, den sogenannten Layern. Es gibt einen Input-Layer, mehrere Hidden Layer, in denen die Informationen verarbeitet werden, und einen Output-Layer. Das eigentliche Deep Learning findet dabei in den versteckten Zwischenschichten statt. Sie bilden den Kern von Deep-Learning-Modellen.
Zwischen den einzelnen Hidden Layern werden neue Informationen gebildet. Dabei handelt es sich um unterschiedliche Repräsentationen der ursprünglichen Eingangsinformation, beispielsweise ein Gesicht auf einem Bild. Man spricht an dieser Stelle auch von Representation Learning. Diese Repräsentationen stellen jeweils eine Abstraktion des vorhergehenden Eingangssignals dar. Aus einer ursprünglich komplexen Eingangsinformation werden also durch die verschiedenen Schichten verschiedene Grade von Vereinfachungen des Inputs herausgefiltert. Im Grunde genommen, um beim Beispiel Gesicht zu bleiben, wird das Bild Schritt für Schritt auf bestimmte Formen, Linien, Farben reduziert und vereinfacht.
So lernt der Algorithmus selbständig die Merkmale, auf die es ankommt, und vermag anhand dieser vereinfachten, generalisierten Informationen auch neue Input-Daten richtig einzuordnen. Im Trainings- und Lernprozess eines Deep-Learning-Modells kommt es vor allem darauf an, die Gewichtung, wie bestimmte Merkmale einzuschätzen sind, so anzupassen, dass die Fehlerrate immer geringer wird.
Deep-Learning-Modelle - je mehr Layer, desto komplexer
Der Grundaufbau neuronaler Netze ist immer gleich. Allerdings können Anwender durchaus spezifizieren, wie komplex ein solches Modell funktionieren soll. Das richtet sich nach der Zahl der Hidden Layer und der Zahl der Neuronen in diesen Layern sowie deren Aktivierungsfunktion, also wie sie mit den Neuronen im nächsten Layer vernetzt sind. Je nach Ausprägung gibt es unterschiedliche Typen von neuronalen Netzen, die auch auf spezielle Einsatzzwecke abzielen.
Die einfachste Form der neuronalen Netze sind Feedforward Neural Networks (FNNs). Sie bestehen aus einer Input-Schicht, einem oder mehreren Hidden Layers und einer Output-Schicht. Die Informationen laufen in eine Richtung vom Input zum Output. Es gibt keine Rückkopplungen oder Kreise.
Convolutional Neural Networks (CNNs) eignen sich vor allem zur Analyse von räumlich angeordneten Daten, wie beispielsweise Bildern oder Videos. Hier kommen unterschiedliche Typen von Layern zum Einsatz. Die Convolutional Layer überprüfen bestimmte Bereiche des Inputs anhand eines bestimmten Filters zum Beispiel Farbe oder Helligkeit. In der Folge verwerfen sogenannte Pooling-Layer überflüssige Informationen und komprimieren somit die zu verarbeitende Informationsmenge. Das verringert den Speicherbedarf und erhöht die Verarbeitungsgeschwindigkeit.
In Recurrent Neural Networks (RNNs) sind die Neuronen in geschlossenen Kreisen organisiert. Das bedeutet, Outputs werden an die gleichen Neuronen als Input zurückgespielt. Daher eignet sich diese Architektur vor allem dafür zeitlich aufeinander folgende Informationen zu verarbeiten, wie Zeitdatenreihen und Sprache.
Generative Adversarial Networks (GANs) bestehen aus zwei neuronalen Netzwerken. Eines ist ein umgedrehtes CNN, ein sogenanntes Deconvolutional Neural Network, das anhand bestimmter Merkmale Inhalte erstellt - Bilder oder Texte zum Beispiel. Diesen Teil bezeichnet man als Generator. Der Antagonist ist ein klassisches CNN, das nun herausfinden soll, ob der zu untersuchende Input echt ist oder vom Generator künstlich erschaffen wurde. Diesen Teil des GANs nennt man Discriminator. Beide Bestandteile des GANs optimieren sich in einer Art Wettbewerb gegenseitig. Mit Hilfe dieser Variante eines neuronalen Netzes lassen sich beispielsweise Texte oder Bilder in bestimmten Stilen schaffen, wenn man zuvor die Maschine mit den entsprechenden Inhalten der Schriftsteller und Maler füttert.
Tatsächlich haben vor gut einem Jahr verschiedene Schriftsteller im Auftrag des Unternehmens Calm, Anbieter einer Meditations- und Vorlese-App, einen Algorithmus mit Wörtern und Sätzen der Gebrüder Grimm trainiert. Herauskamen verschiedene Textbausteine im Stil der Märchenbrüder, die allerdings noch von dem Künstlerkollektiv Botnik zu einem neuen Märchen zusammengesetzt werden mussten. "Die Prinzessin und der Fuchs" bringt alles mit, was zu einem Grimm-Märchen gehört: Eine Prinzessin, die der König mit einem Prinzen verheiraten will, den sie aber nicht mag. Außerdem gibt es einen armen Müllerssohn, ein magisches Pferd und natürlich den Fuchs. Und wenn sie nicht gestorben sind, dann leben sie noch heute.