Dieser Artikel ist Teil der Artikelreihe „Künstliche Intelligenz”.
Die frühen KI-Forscher nahmen an, dass die Lösung einer jeden Aufgabe mit einer Abfolge von „wenn-dann“-Regeln beschrieben werden kann. In der Tat waren auch relativ schnell große Erfolge zu verzeichnen. Es stellte sich aber gleichzeitig schnell heraus, dass einige Lösungen eine so große Folge von „wenn-dann“-Entscheidungen benötigten, dass dies nicht mehr von Menschen manuell erstellt werden konnte.
Gleichzeitig begann in der Informationstechnologie das Zeitalter des Wissensmanagement und kurz darauf das Zeitalter von „Big Data“.
Die dem Wissensmanagement unterliegenden Theorien besagen, dass Menschen nicht auf Basis von Daten lernen, sondern auf Basis von Informationen bzw. Wissen.
Durch ständiges Wiederholen von Information oder durch ständiges Nutzen von Wissen entsteht hierdraus „Weisheit“. „Weisheit“ wird dabei nicht klassisch-philosophisch betrachtet, sondern eher als eine Form von verinnerlichtem Wissen, welches der Mensch bei dessen Nutzung nicht mal mehr wahrnimmt.
Ein Beispiel hierfür ist das Autofahren: die ersten Stunden in der Fahrschule sind sehr anstrengend, der Fahrschüler muss aktiv mitdenken, bevor er/sie schaltet, Gas gibt oder bremst. Die folgenden Stunden werden einfacher. Nach der erfolgreichen Führerscheinprüfung wird es immer besser. Nach mehreren hundert Stunden (oder 1.000 km) nimmt der Fahrer nicht mal mehr wahr, wie er/sie fährt. Alle Aktionen erfolgen automatisch, d.h., aus dem Wissen „Autofahren“ wurde die Weisheit „Autofahren“, welches so stark im Unterbewusstsein verankert ist, dass auch nach jahrelanger Nicht-fahrt es kaum ein Problem ist, wieder an einem Steuer zu sitzen.
Die Schwierigkeit entsteht, wenn einem solchen Menschen die Aufgabe gestellt wird, das Autofahren genau zu beschreiben – schritt für schritt, so dass es als Regel aufgeschrieben werden kann. So könnten daraus, bspw, folgende Schritte dokumentiert werden:
1. Auto finden
2. Auto aufschließen: (a) zur Fahrertür gehen; (b) Schlüssel aus der Tasche holen; (c) Schlüssel in die Tür einstecken; (d) Schlüssel in die richtige Richtung drehen; (e) Tür aufziehen…
Selbst in diesen zwei Schritten und den fünf Unterschritten können sehr viele Fehler, Ausnahme- und Sonderfälle auftreten (Auto finden: Garage? Parkplatz?; Auto aufschließen: Schlüssel dabei? In welcher Tasche? Klassischer Schlüssel oder Fernbedienung? Alarmanlage ausgeschaltet? …). Die Anzahl der Schritte, bis das Auto tatsächlich losfährt, ist so immens, dass es keine Möglichkeit gibt, diese vollständig zu beschreiben. Damit ist es auch nicht möglich, mit den klassischen Methoden der Künstlichen Intelligenz zufriedenstellende Lösungen zu entwickeln, die praktisch nutzbar werden. Selbst die sogenannten Expertensysteme, die aus diesen Ansätzen entstanden, waren eine Enttäuschung. Eine manuelle Lösung für das Lernproblem war somit nicht möglich, es musste eine maschinelle Lösung gesucht werden.
Machine Learning ist die Methode, mit der KI-Systeme geschaffen werden können, die „selbst lernen“ (das heißt maschinell lernen). Zwar wurden die Algorithmen für „Machine Learning“ bereits in den 90ern des vergangenen Jahrhunderts vervollständigt, der Durchbruch kam aber erst um das Jahr 2014 herum. Die Voraussetzungen zum effektiven Einsatz von Machine Learning waren bis etwa 2014 nicht gegeben: große Mengen an Daten, schnelle Computer und schneller und großer Massenspeicher – und alles zu einem akzeptablen Preis.
Ein großes Problem des Machine Learning ist, dass Computer ausschließlich Daten verarbeiten können und keine Informationen oder Wissen (im Sinne des klassischen Wissensmanagement). Menschen wiederum arbeiten mit Informationen, Wissen und Weisheit. Wie oben im Falle vom Autofahren beschrieben ist für einen Menschen nahezu unmöglich, den Vorgang des Autofahrens (Wissen/Weisheit) in Informationen mit ausreichendem Detailgrad abzubilden (geschweige denn dies als Daten einem Computer bereitzustellen). Von daher brauchte es zuerst das Zeitalter von „Big Data”, bevor Machine Learning überhaupt umgesetzt werden konnte.
Wenn ein Internetnutzer bis vor wenigen Monaten beim Anmelden auf einer Website an sogenanntes „Re-Captcha“ (beispielsweise 9 Bilder werden angezeigt und man muss anklicken, auf welchem ein Auto ist, um zu beweisen, dass man ein Mensch ist) benutzte, so hat der Nutzer damit Trainingsdaten für Google’s Bildererkennungssoftware geliefert. So hat Google über die Jahre eine große Menge an Trainingsdaten erzeugt, die sie zur Verbesserung ihrer Bilderkennung einsetzen können. Gleichzeitig war die Computerhardware bis vor wenigen Jahren nicht schnell genug, um diese großen Datenmengen zu verarbeiten. Erst als Grafikkarten schnell genug waren und die Experten erkannten, dass die Funktionalität einer Grafikkarte optimal für Machine Learning ist, wurden die ersten großen Fortschritte erzielt.
Jeder Internetnutzer hat schon mal eine solche Aufgabe bei Facebook, LinkedIn oder anderen sozialen Netzwerken gesehen:
Damit die Aufgabe gelöst werden kann, muss eine mathematische Formel gefunden werden. In diesem Falle ist die Formel relativ einfach: y = a*b+b-1, und damit die Antwort auf die letzte Zeile „98“. Wenn die Formel gefunden wurde, kann sie auf jede a/b-Kombination eingesetzt werden.
Beim Machine Learning geht es darum, dass eine Software solche Formeln sucht. Dabei ist die Aufgabenstellung etwas komplizierter. So könnte die Aufgabenstellung wie folgt aussehen:
Dabei wird nicht eine absolute, genaue Formel gesucht, sondern eine Formel, die allen Ergebnissen am nächsten herankommt: y [ungefähr=] a*b+b-1. Zur Vereinfachung der Vorgehensweise soll hier die Spalte „b“ weggelassen werden und statt „a“ wird „x“ verwendet. Zusätzlich wird in der Spalte „y“ eine Änderung vorgenommen, die die möglichen Werte für „y“ einfach auf 4 reduziert.
Jetzt wird der Software die Aufgabe gestellt, eine einzige mathematische Formel zu finden, die auf die Tabelle oben angewandt werden kann und die, wenn eine neue, noch nie gesehene Zahl in der Spalte „x“ hinzugefügt wird, ebenfalls eine richtige Antwort gibt. So könnte der Test, ob die Software die richtige Formel gefunden hat, damit erfolgen, dass man als „x“ die Zahl „6“ eingibt. Die richtige Antwort sollte „2“ sein (für die Interessierten: Hier wird die Frage gestellt, wieviele Bits gesetzt sein müssen, um die Zahl „x“ darzustellen).
Da die Software im Rahmen des Machine Learning die eigentliche Aufgabenstellung („Wie viele Bits müssen gesetzt sein, damit der Wert von „x“ dargestellt werden kann“) nicht kennt, kann sie nur anhand der „Trainingsdaten“ (d.h. der Daten, die sie als „x“ und korrespondierendes „y“) gesehen hat, versuchen Muster zu erkennen und diese Muster als mathematische Formel abzubilden.
In diesem Beispiel oben wäre die korrekt Formel y = bits(x). Diese Formel würde alle „x“ richtig (mit 100%iger Genauigkeit) beantworten. Was passiert jedoch, wenn statt Zahlen (für „x“) etwas anderes genutzt wird:
Die Spalte „y“ können auch mit Zahlen dargestellt werden („0=airplane“, „1=automobile“, „2=bird“, usw.) Ob Zahlen oder Text ist dabei nicht relevant.
Umsetzung
Im Rahmen des Machine-Learning wird jedes Foto in eine numerische Darstellungsform überführt. Ein Foto ist eine Information oder ein Wissen. Der Computer setzt dies zuerst in Daten um. Dazu werden die sogenannten „RGB“-Werte eines jeden Pixels (Rot/Grün/Blau) aus dem Foto herausgelesen. Im Normalfalle besteht jeder Pixel eines Fotos aus jeweils 256 Abstufungen von Rot, Grün und Blau. Das sind die tatsächlichen Daten eines Fotos. Wenn das Foto eine Größe von (beispielsweise) 28×28 Pixel umfasst, so ergeben sich 28*28*3 = 2.352 Dateneinheiten. Diese Dateneinheiten müssen mathematisch dargestellt werden. Wenn beispielsweise das erste Foto oben („airplane“) als folgende Datenreihe dargestellt wird: 17, 2456, 33, 1944, 2999, … 255, 999 – so werden diese im Computer zurückgewandelt in die Zahlentabelle, wie wir sie oben hatten:
Machine Learning funktioniert jedoch nur (wie „Human Learning“ auch), wenn das zu lernende mit anderen Beispielen wiederholt wird:
Bei jedem Trainingsdurchlauf nimmt die Software (vereinfacht dargestellt) eines der Foto-Spalten, sucht nach einer Formel, die auf jede Zeile in der Spalte passt, und überprüft mit einer anderen Spalte, ob die Formel weiterhin gültig ist. Im Zahlenbeispiel oben, wo es darum geht, die Formel „y = bits(x)“ zu finden, ist es die Formel relativ einfach. Im Beispiel der Bildererkennung ist es weitaus komplizierter.
Details des Lernvorgangs
Bei sogenannten „Deep Neural Networks“, die heutzutage im Bereich Machine Learning eingesetzt werden, werden viele sogenannte Layer verwendet, um die mathematische Formel abzubilden.
Im einfachsten Falle werden die Zahlen, die die einzelnen Pixel darstellen („x“), mit einer Zufallszahl („w“) multipliziert. Gegebenenfalls wird noch eine zweite Zahl („b“) addiert. Dann wird vielleicht das Ergebnis zwischen 0 und 9 skaliert (im oben genannten Beispiel). Im gezeigten Bild zeigen die meisten Ergebnisse auf „1“. Das bedeutet, das die Wahrscheinlichkeit, dass es sich um eine „1“ handelt, am größten ist.
„Deep Neural Networks“ sind weitaus komplizierter. Die oben genannte Schritte werden gegebenenfalls 10 mal, 100 mal oder 1.000 mal durchgeführt. Zwischen den grünen Kreisen („Input Nodes“) und den blauen Kreisen („Output Nodes“) sind noch viele weitere Zwischenstufen:
Nachdem die Daten eines jeden einzelnen Bildes (vereinfacht dargestellt) bei den blauen Kreisen („Output Nodes“) als ein Ergebnis angekommen sind, wird analysiert, ob es als „bird“ („2“) erkannt wurde. Wenn dies nicht mit 100%-iger Sicherheit erfolgte, wenn also als Daten auch andere blaue Kreise („Output-Nodes“) ankamen, werden die „weights“ („w“) angepasst und das ganze nochmals durchgeführt.
Training, Testing, Inference
Unter „Training“ im Rahmen des Machine Learning wird das „Durchlaufen“ des gesamten KI-Algorithmus mit Daten versanden, bis die richtige (oder besser: „möglichst richtige“) Formel gefunden wurde. Ob es sich dabei um die richtige Formel handelt, zeigt der Test. Im Normalfalle werden die originären Trainingsdaten in zwei Einheiten aufgeteilt: „Train Data-Set“ und „Test Data-Set“ (90/10, oder 80/20). Der „Test Data-Set“ wird dabei dem Algorithmus während des Trainingsvorgangs nicht „gezeigt“, diese Daten bleiben dem Algorithmus unbekannt. Bei Trainings-Vorgang bekommt die Software jeweils „x“ und „y“, damit es auf „x“ trainieren und jeweils gegen „y“ sich selbst testen kann.
Der eigentliche Testvorgang mit dem trainierten Algorithmus (auch „Modell“ genannt) erfolgt ausschließlich mit „x“. Im Test-Modus kennt nur der Mensch „y“ und muss dann selbst die Ergebnis-„y“, die der Mensch von der Software bekommt, mit den eigentlichen, richtigen „y“ für jedes „x“ vergleichen. Die Erkennungsrate (%) wird dann protokolliert. Beim Testen wird der „Inference-Mode“ (im Gegensatz zum „Train-Mode“) eingesetzt. Das heißt, die Software versucht zu erkennen, worum es sich bei dem eingereichten „x“ (in unserem Beispiel ein Foto) handelt („to infer“).
Machine Learning benötigt sehr große Datenmengen, damit die Software ausreichend Beispiele für jede Kategorie hat. Im Fall der Bilderkennung mit den oben gezeigten Fotos („airplane“, …) handelt es sich um einen Beispiel-Datensatz mit jeweils 6.000 Fotos pro Kategorie. Damit die Erkennungsrate möglichst hoch wird, sollten jedoch, selbst in diesem Falle, 10.000 bis 50.000 Fotos pro Kategorie genutzt werden.
Wenn 50.000 Fotos von Vögeln existieren, so erzeugt (bildlich gesprochen) die Software eine abstrakte Darstellung aller diese Vögel-Fotos in der mathematischen Formel. Da Menschen mit Informationen oder Wissen arbeiten, muss das menschliche Gehirn sehr geringe Mengen an Daten speichern, um Vögel als solche zu erkennen. Wie aus Bild 1 zu erkennen, sinkt der Speicherbedarf mit dem Grad der Wandlung von Daten Richtung Weisheit. Da die Menschen auch von Informationen und nicht von Daten lernen, braucht das menschliche Gehirn auch nur wenige Beispiele, damit es beispielsweise Vögel erkennen kann. Während des Lernprozesses kann das menschliche Gehirn auch automatisch Abgrenzungen zu anderen Tierarten automatisch durchführen.
Wenn ein Mensch beispielsweise noch nie ein Tier irgendeiner Art gesehen hat und diesem Menschen wird ein Vogel gezeigt und gesagt, dass es ein Vogel ist (weil es kein Mensch ist), so wird dieser Mensch mit sehr hoher Wahrscheinlichkeit jedes weitere Tier als Vogel einstufen (in Abgrenzung zum Menschen). Das menschliche Gehirn verfügt darüber hinaus über „hierarchisches Wissen“: Der Mensch weiß, dass ein selbst fliegendes Lebewesen ein Vogel und gleichzeitig ein Tier ist, da Vogel eine Untergruppe von „Tier“ ist.
Im Rahmen des Machine Learning muss die Software alle diese Informationen selbstständig „generieren“, in dem es Muster in den Beispieldaten erkennt. Dabei handelt es sich in keinster Weise um echte Intelligenz, wie es bei Menschen (und manchen Tieren) der Fall ist. Es ist, vereinfacht gesagt, nur eine mathematische Formel, die (im Beispiel der Fotos oben) ausschließlich die oben genannten Kategorien („airplane“, „bird“, …) erkennen kann. Die so generierte Formel ist nicht in der Lage, zum Beispiel ein „Haus“ zu erkennen, oder Hunderassen zu unterscheiden, oder die Automarken zu erkennen, oder, noch einfacher, zu erkennen ob das gezeigte Flugzeug fliegt oder auf dem Boden ist.
Machine Learning ist eine Methode, die gesuchte mathematische Formel anhand von Beispieldaten automatisch finden zu lassen. Die größte Gefahr liegt in der Auswahl der Trainingsdaten. Klassische Aussagen „Garbage in, garbage out“ gelten insbesondere für Machine Learning, da die so erstellten KI-Modelle im Einsatz eine weitaus größere Auswirkung haben können.
Ein klassisches Beispiel sind KI-Modelle mit Vorurteilen. Dabei hat nicht die Formel die Vorurteile, sondern diese stecken ausschließlich in den Trainingsdaten. Manchmal wissen die Data-Scientists, die die Trainingsdaten erstellen, selbst nicht, dass sie Vorurteile haben:
Google „Translate“-Dienst wird primär von den Nutzern selbst korrigiert. Es wird angenommen, dass hier auch andere Quellen verwendet wurden. Im obigen Beispiel wird Englisch in Türkisch übersetzt. Die Übersetzung ist vollkommen korrekt.
Klickt man, nach dem die Übersetzung erfolgt ist, auf den markierten Knopf zur Rückübersetzung, kommt folgendes heraus:
Der Hintergrund ist, dass es im Türkischen keine Geschlechter (er/sie/es) gibt, sondern nur ein „o“ (für er/sie/es). Man könnte jedoch aus dieser Übersetzung schließen, dass nur Männer Ärzte sein können und Babysitter nur Frauen. Hier wäre eine bessere Analyse der Trainingsdaten und Erstellung eines neuen Wortes im Englischen (he_she) besser gewesen, denn es gibt viele Sprachen, die keine Geschlechterunterscheidung haben.
Machine Learning ist eine gute Methode, um schnell hochkomplizierte KI-Modelle zu erstellen. Es braucht jedoch sehr große Mengen an Trainingsdaten, die auch handverlesen und qualitätsgesichert sein müssen, damit der „Lerneffekt“ richtig ist.
Aber letztendlich handelt es sich nur um mathematische Formeln und Algorithmen und nicht um echte Intelligenz, die auch selbstständig neues Wissen erzeugen kann. Da eine fehlerhafte Auswahl von Trainingsdaten große Auswirkungen haben kann, ist hierauf besonderes Augenmerk zu legen. Auch, oder insbesondere, kulturelle Einflüsse bei der Auswahl von Trainingsdaten müssen berücksichtigt werden, damit ein so trainiertes Modell dem Wohle der Menschen dient und diesen nicht schadet.
Es sind einige neue Verfahren am Horizont erkennbar, die KI-Modelle mithilfe des Machine Learning besser und effizienter gestalten lassen. Aber auch diese basieren immer auf Trainingsdaten, deren Qualität niemals „gut genug“ sein kann. Mitunter liegt die Hauptschwierigkeit darin, dass die meisten Menschen nicht wissen, was sie wissen und wie sie es wissen. Es wird weiterhin eine Herausforderung bleiben, das Wissen der Menschen in trainierbare Daten umzuwandeln.
Imdat Solak ist Gründer und Geschäftsführer der Munich AI-Labs. Mit über 35 Jahren IT-Erfahrung hat er bereits verschiedenste IT-Technologien erlebt und eingesetzt. Seit über drei Jahren beschäftigt er sich intensiv mit Künstlicher Intelligenz / Maschinelles Lernen (KI/ML). Insbesondere die praktische Anwendung dieser Technologien, aber auch deren mögliche Auswirkungen auf das Leben, die Gesellschaft aber auch die gesamte Wirtschaft sind Themen, die ihn stark beschäftigen. Er entwickelt weiterhin persönlich Software, mit Schwerpunkt auf AI/ML und Cybersecurity. Dadurch kennt sich Imdat persönlich in den Details der Technologien aus, über die er auch in seinen Vorträgen oder Veröffentlichung spricht. Imdat beschäftigt sich darüber hinaus mit den Themen „Effektives Management“, hat hierzu mehrere Bücher veröffentlicht (einige noch in Arbeit), hält Vorträge und führt auch Schulungen zu den Themen durch. Zusätzlich zu diesen Tätigkeiten ist er auch als Vorstand (CTO) der Brabbler AG in München für die Produktentwicklung und Betrieb der Produkte „ginlo“ und „[email protected]“ zuständig.