Künstliche Intelligenz

Was ist Künstliche Intelligenz?

Beispiele

Die Künstliche Intelligenz (KI) hat sich als Ziel gesetzt, „intelligente Systeme“ zu erschaffen. Der Name wurde 1956 das erste Mal verwendet und seit dieser Zeit ist die KI von Mythen umwoben und umstritten. Auf der einen Seite sagen manche das Paradies auf Erden voraus, eine utopische Zukunft ohne Sorgen, in der intelligente Roboter die Menschen mit allem versorgen. Auf der anderen Seite gibt es Leute, die die Künstliche Intelligenz als Personifizierung des Bösen sehen und das Ende der Menschheit befürchten. Im Laufe dieses Kapitels wird klar werden, dass sich beide Seiten sehr weit vom technisch Machbaren entfernt haben.

Aber auch wenn die KI noch keine „intelligenten Systeme“ erstellen kann, wurden doch schon viele nützliche Zwischenprodukte entwickelt [RN10, BA14]:

  • Selbstfahrende Autos, Züge und U-Bahnen
  • Man kann Computern Briefe diktieren
  • Texte können in mittlerer Qualität in andere Sprachen übersetzt werden
  • Staubsaugerroboter reinigen Haushalte
  • 2007 hat IBM Watson eine Spielshow in den USA gewonnen
  • 1997 hat der Computer Deep Blue einen Schachgroßmeister geschlagen

Rationale Agenten

In der KI wird auch der Begriff „Agent“ verwendet. Allerdings ist ein Agent hier nicht Teil einer Simulation oder eines Modells, sondern ein Roboter, ein Computersystem, ein Programm oder eine andere Maschine [RN10]. Ein Agent lebt in einer Umwelt („environment“) und nimmt Informationen über seine Sensoren war. Mit seinen Aktuatoren kann der Agent mit der Umwelt interagieren.

Wenn der Agent ein Computerprogramm ist, könnte die Umgebung z. B. ein einzelner Computer sein, ein Heimnetzwerk oder das Internet. Als Sensoren könnte der Agent beispielsweise die Raumtemperatur mit Thermometern messen und mit seinen Aktuatoren die Heizungen entsprechend regulieren. Einen solchen Agenten, der nur die Heizungen steuert, würde man natürlich heutzutage nicht mehr intelligent nennen.

Ein Agent könnte auch ein Computerprogramm sein und das Internet nach bestimmten Sachen durchsuchen. Als Sensor hätte er dann eine Art Web-Browser und als Aktuator könnte er z. B. die Links zu den gefundenen Seiten per Email versenden. Der Empfänger dieser Email könnte ein anderer Agent sein. Wenn mehrere Agenten in einem System zusammenarbeiten, wird das System auch Multi-Agenten-System genannt.

Ein Agent könnte auch ein Staubsaugerroboter oder ein selbstfahrendes Auto sein. In diesem Fall wäre die Umgebung die physikalische Welt.

Die KI hat sich aber zum Ziel gesetzt, intelligente Agenten zu entwickeln. Was aber ist ein intelligenter Agent? Hier gibt es zwei verschiedene Möglichkeiten:

  • Der Agent soll so denken und handeln wie ein Mensch.
  • Der Agent sollte rational denken und handeln, also das optimale Ergebnis erreichen.

Hier wird es vom Einsatzbereich des Agenten abhängen, welcher der beiden Möglichkeiten er verfolgt. Ein persönlicher Assistent, wie z. B. ein virtueller Sekretär, sollte sich möglichst wie ein intelligenter Mensch verhalten (aber natürlich nicht dessen Fehler nachahmen, wie Sturheit oder am Montagmorgen schlechte Laune haben). Ein selbstfahrendes Auto hingegen aber sollte nicht so träge reagieren wie ein Mensch und möglichst sofort auf die Bremse „treten“, um einen Unfall zu vermeiden.

Um die erste der beiden Möglichkeit zu überprüfen, wurde der sogenannte Turing-Test entwickelt [RN10].

Der Turing-Test

Per Chat

Der Turing-Test wurde 1950 vom britischen „Informatiker“ Alan Turing vorgeschlagen [RN10]. In diesem Test chattet eine Testperson mit einer Chat-App mit einer anderen Person. Die Testperson weiß aber nicht, ob es ein Mensch oder eine KI ist und soll es herausfinden. Es gibt keinen anderen Kontakt als per Chat. Der Turing-Test gilt als bestanden, wenn die Testperson denkt, sie hätte mit einem Menschen geredet, obwohl es eine KI war.

Um diese Aufgabe zu erledigen, muss die KI die folgenden Arbeitsschritte durchführen:

  1. Analyse der natürlichen Sprache im Chat (Sprachanalyse)
  2. Extraktion und Speicherung der Informationen (Wissensrepräsentation)
  3. Logische Verarbeitung der Informationen (semantische Verarbeitung)
  4. Merken der Informationen für spätere Verwendung im Dialog (maschinelles Lernen)
  5. Logische Antwort ermitteln oder Small-Talk selber beginnen (semantische Verarbeitung)
  6. Formulierung der Antwort in natürlicher Sprache (Sprachgenerierung)

Die Schritte 1, 2 und 6 haben mit der natürlichen Sprache zu tun. In den Schritten 1, 2 wird die Sprache analysiert und in Schritt 6 generiert. In den Schritten 3, 4 und 5 wird mit Wissen gearbeitet.

In Schritt 1 wird eine syntaktische Analyse durchgeführt. Manche haben es vielleicht im Schulunterricht gelernt. Der Satz in natürlicher Sprache wird in einen Baum anhand der syntaktischen Kategorien der einzelnen Wörter umgeformt. Als Beispiel wird im Satz „Ich sehe einen Baum“ erkannt, dass dem Subjekt „Ich“ das Prädikat „sehe“ folgt, diesem wiederum das Adjektiv „einen“ und das Objekt „Baum“. Die syntaktische Struktur wird als Baum im Computer gespeichert.

Ein solcher Baum wird auch Syntaxbaum genannt. Es ist noch eine relativ leichte Aufgabe, einem Computer die Grammatik von natürlichen Sprachen beizubringen. Hierzu muss der Computer eine Datenbank von den Wörtern und ihren linguistischen Informationen haben. Außerdem muss er die Grammatikregeln, Kongruenzen usw. kennen. Aber hier ist die Anzahl an Information begrenzt und relativ statisch. Die Grammatik einer Sprache ändert sich in der Regel nur langsam.

Schwieriger wird es bei der Bedeutung der Wörter, bei der Semantik. Natürliche Sprache bietet viele Möglichkeiten für Missverständnisse. Bei einem Turing-Test kann man nämlich testen, ob die KI die Pronomen richtig auflösen kann, d.h. ob sie versteht, worauf sich „ihn“, „ihr“, „sein“ usw. bezieht. Wenn die Testperson den folgenden Satz sagt:

Ich sehe einen Baum und eine Flasche Orangensaft.

Dann die Antwort der KI ignoriert und dann schreibt:

Ich überlege, ob ich ihn trinken soll.

Woher soll die KI dann wissen, auf wen sich das „ihn“ bezieht? Ist es der Baum oder der Orangensaft? Menschen wissen, dass man einen Baum nicht trinken kann, also bezieht sich das „ihn“ auf den Saft. Die KI müsste Wissen über „Bäume“ und über „Trinken“ haben. Es müsste etwas über Flüssigkeiten wissen, dass Menschen Flüssigkeiten trinken können, dass ein Orangensaft flüssig ist und dass man Bäume nicht trinken kann. Die KI braucht semantische Informationen. Eine solche Datenbank mit Wissen über die Welt wird auch Ontologie genannt. Diese in großem Umfang zu erstellen, so dass eine KI genügend Wissen hat, um den Turing-Test zu bestehen, ist noch nicht gelungen [RN10]. Die semantische Verarbeitung und das semantische Internet sind immer noch Forschungsgegenstand. In der Vergangenheit hat man hier nur kleine Fortschritte gemacht. Solche Ontologien gibt es bisher nur für kleine Teilbereiche des menschlichen Lebens. Man kann einem Mobiltelefon beispielsweise sagen „sende eine SMS an meine Mutter“.

Aber selbst wenn es hier Fortschritte gibt, wird ein kluger Mensch die KI austricksen können. Er könnte die KI auf ihre Lücken in ihrer semantischen Wissensdatenbank abchecken. Die Testperson könnte z. B. auch sagen:

Ich frage mich, was für einer das ist.

Also, was genau für ein Baum oder was für ein Orangensaft? Menschen würden folgendermaßen argumentieren: Da die Testperson den Saft schon genauer spezifiziert hat, es ist ja Saft aus „Orangen“, den Baum aber nicht, wird sich dieser Satz wohl auf den Baum beziehen. Die Testperson fragt sich bestimmt, ob es eine Birke, eine Eiche oder eine Kastanie ist. Vielleicht kennt sie sich in Biologie nicht aus?

Und dazu müsste der Computer schon eine riesige Wissensdatenbank haben und evtl. auch etwas längere Zeit zum „Nachdenken“ benötigen. Auch kleine Kinder haben hier oft noch Schwierigkeiten zu verstehen, was genau die Testperson meint. Um diese Analysefähigkeit aufzubauen, müssen Menschen viele Jahre lernen.

Das Erstellen einer Ontologie als Wissensdatenbank ist leider nicht so einfach. Es ist eine sehr umfangreiche Aufgabe und es können sich wie bei der Programmierung von Computern auch Fehler einschleichen. Dieses Problem wird solange bestehen, bis Computer solche Ontologien selber automatisch erstellen können und wie das möglich sein soll, wurde bisher nicht herausgefunden.

Per gesprochener Sprache

Eine einfache Erweiterung des Turing-Tests wäre gesprochene Sprache zu verwenden statt zu chatten. Die Testperson kann sich also mit dem Menschen oder der KI per Mikrofon und Lautsprecher unterhalten. Es ist nicht mehr schwierig, gesprochene Sprache hinzuzufügen. Die Bedienung von technischen Geräten mit natürlicher Sprache ist bis 2020 voraussichtlich weit verbreitet. Und Programme, denen man diktieren kann gibt es heute schon. Das Problem bleibt die semantische Verarbeitung.

Der visuelle Turing-Test und menschliche Roboter

Eine weitere Erweiterung des Tests wäre die Unterhaltung über einen Video-Chat. Die Testperson sieht im Monitor ein Bild des Menschen bzw. der KI.

Hier gibt es zwei Möglichkeiten:

  1. Das Bild wird simuliert, d.h. per Computergrafik erzeugt. Die KI gibt es nur virtuell.
  2. Die KI ist ein menschlicher Roboter und wird per Kamera aufgenommen.

Im ersten Fall müsste die KI auch über eine Bildanalyse verfügen („computer vision“), um die Stimmung der Testperson zu interpretieren. Die Testperson könnte ja als Test der KI eine Fratze schneiden oder bestimmte Gesten mit den Armen und Händen machen. Bildanalysen werden heutzutage mit neuronalen Netzen implementiert, die in Abschnitt 8.5 behandelt werden. Die Interpretation von menschlichen Gesten und Gesichtern ist auch mit neuronalen Netzen möglich.

Außerdem müsste die KI über ein Gesicht verfügen, das glaubhaft zum Gesprochenen passt und als „echt menschlich“ von der Testperson eingestuft wird. Das wird irgendwann mal möglich sein, aber nicht in den nächsten 10 Jahren.

Für den zweiten Fall benötigt man aber einen menschlich wirkenden Roboter und das ist momentan noch unmöglich und den Filmen und Büchern der Science-Fiction vorbehalten.

Rationale Agenten

Wenn ein Agent rational Denken und Handeln und das optimale Ergebnis erreichen soll, so wird eine Theorie der Rationalität benötigt. Ein rationaler Agent ist ein Agent, der eben das „Richtige“ tut. Aber was ist in einer bestimmten Situation mit den dem Agenten zur Verfügung stehenden Mitteln das „Richtige“? Wie viel Zeit hat der Agent zum „Nachdenken“? Beim Lösen von komplizierten Problemen, wie z. B. beim Spielen von Schach, ist es besser, man hat so viel Zeit wie möglich, um so viele Spielzüge wie möglich „im Geiste“ auszuprobieren. Damit ein Agent intelligent wirkt, muss er auch die Konsequenzen seiner geplanten Handlungen bedenken. Ein Roboter, der gegen eine Wand läuft, wirkt nicht intelligent. Das rationale Verhalten hängt von der Umgebung, der Qualität der Sensoren und der Aktuatoren, von der zur Verfügung stehenden Zeit und von der „Denkfähigkeit“ ab. Die „Denkfähigkeit“ bei einem technischen Agenten hängt von der Anzahl der CPUs, der Größe des Hauptspeichers und von den verwendeten Algorithmen ab. In Abschnitt 3.2 haben wir die begrenzte Rationalität des Menschen kennengelernt, ein technischer Agent hat auch eine begrenzte Rationalität, allerdings mit anderen Grenzen.

Rationalität ist also unter den gegebenen Umständen, die beste der möglichen Handlungen durchzuführen. Hierzu benötigt man eine Menge Theorien aus verschiedenen Wissenschaften:

  • Entscheidungstheorie
  • Verhaltensökonomie
  • Logik
  • Statistik und Wahrscheinlichkeitsrechnung
  • Mathematik
  • Philosophie
  • Wissenserwerb und Wissensverarbeitung
  • Komplexitätstheorie
  • Ökonomie
  • Spieltheorie
  • Informatik und formale Systeme

Die Aufgabe, rationale Agenten zu erstellen, ist also eine große interdisziplinäre Herausforderung. Aus diesem Grund ist es bisher auch nur gelungen, Agenten für kleine Einsatzbereiche zu erstellen, also Spezialisten, wie z. B. beim Schachspielen.

Auch in der KI gibt es – wie bei den komplexen Systemen – einen Unterschied zwischen den eher mathematischen Methoden, die Zahlen verarbeiten und den „symbolischen“ Methoden, die auch Texte und Symbole verarbeiten: Die symbolischen Methoden ermitteln Daten in für Menschen verständlicher Form. Hier werden als Wissensrepräsentationssprache Bäume, Netzwerke, Graphen und Logiken, wie z. B. die Prädikatenlogik verwendet. Ein weiteres Beispiel sind die in Abschnitt 7.2 behandelten Entscheidungsbäume. Die Modelle der numerischen Methoden sind von Menschen nicht zu verstehen und müssen von Computerprogrammen genutzt werden. Ein Beispiel hierfür sind die im übernächsten Abschnitt behandelten neuronalen Netze.

Suche

Viele Probleme der Künstlichen Intelligenz ähneln der Suche nach der Nadel im Heuhaufen. Da Computer immer nur eine Sache nach der nächsten machen können, wird der Heuhaufen Strohhalm für Strohhalm durchsucht, bis die Nadel gefunden wurde. Als Beispiel betrachten wir das Problem des Handlungsreisenden („traveling salesman problem“, TSP) [CLRS09]. Eine Musikband will in vier verschiedenen Städten auftreten und plant eine Rundreise, in der sie jede Stadt genau einmal für ein Konzert besuchen will. Die Musiker möchten in Hamburg, Berlin, München und Köln auftreten, sammeln Informationen über die Fahrtkosten und erstellen den folgenden Graphen:

Jede Kante ist mit den Kosten für die Fahrt „gewichtet“. Die Band möchte in Hamburg anfangen. Wenn sie einfach mal so drauflosfahren, z. B. erst nach Berlin, dann München, dann Köln und wieder nach Hamburg kostet die Reise 2+5+3+4 = 14.

Aber welches ist die billigste Rundreise?

Die einfachste aber langwierigste Art das Problem zu lösen, ist es alle Möglichkeiten zu berechnen und dann die billigste auszuwählen. Bei den vier Städten oben gibt es von Hamburg aus drei Möglichkeiten, dann noch 2, dann 1, also insgesamt 3*2*1 = 6 Möglichkeiten. Im Folgenden sind die Kosten für diese 6 Möglichkeiten aufgeführt.

H B M K H: 2+5+3+4 = 14

H B K M H: 2+1+3+1 = 7

H M B K H: 1+5+1+4 = 11

H M K B H: 1+3+1+2 = 7

H K M B H: 4+3+5+2 = 14

H K B M H: 4+1+5+1 = 11

Es geht also billiger als 14, denn die optimale Reise kostet 7 und geht von Hamburg nach Berlin, dann nach Köln, dann München und zurück oder in der umgekehrten Reihenfolge. Es machte also Sinn, nach der optimalen Lösung zu suchen.

Das Problem des Handlungsreisenden haben theoretische Informatiker ausgiebig untersucht. Sie haben sich gefragt, ob man wirklich alle Möglichkeiten ausprobieren muss, um die billigste Route zu berechnen? Oder gibt es eine Abkürzung? Manche Probleme lassen sich auch mit Heuristiken gut lösen, wie z. B. immer die billigste lokale Verbindung zu nehmen.

Ein großes Problem in der Praxis ist, dass die die Anzahl der Möglichkeiten sehr stark mit der Anzahl der Städte wächst. Für sehr viele Städte würde die Berechnung selbst auf Supercomputern in Rechenzentren zu lange dauern. Sei n die Anzahl der Städte. Bei n Städten ist die Anzahl der Möglichkeiten die sog. Fakultät von (n-1). Das ist n-1 * n-2 * n-3 * … * 2. Dieses ist eine sehr große Zahl. Das Problem des Handlungsreisenden ist ein sog. NP-vollständiges Problem, weil die Anzahl der notwendigen Rechenschritte exponentiell mit n wächst. Der Heuhaufen bei der Suche wird also sehr, sehr groß. Dieses exponentielle Wachstum werden wir in einem anderen Zusammenhang später in Abschnitt 9.1 noch genauer untersuchen.

Wichtig: NP-vollständige Probleme benötigen exponentiell viel Rechenzeit.

Das ist allerdings noch nicht bewiesen, aber sehr wahrscheinlich1.

In der Künstlichen Intelligenz gibt es noch viele weitere „Suchprobleme“ [RN10], die allerdings zum Glück nicht alle NP-vollständig sind:

  • Welches sind die optimalen Züge in einem Schachspiel?
  • Welches ist der optimale Pfad, um den Boden zu reinigen (Staubsauger-Roboter)?
  • Was ist das optimale Layout für die Transistoren auf einem Prozessor?
  • Welche Aktien sollte man heute kaufen oder verkaufen?
  • Wie kann ein Containerhafen möglichst vollständig ausgenutzt werden?
  • Lässt sich eine mathematische Formel beweisen? (automatische Theorembeweiser)

Die Suche lässt sich mit dem System 2 des menschlichen Gehirns aus der Verhaltensökonomie vergleichen. Es ist das automatische Absuchen der Möglichkeiten. Bei NP-vollständigen Problemen kann die Suche nach einer Lösung aber sehr lange dauern.

Neuronale Netze

Wir haben im Laufe des Buchs schon verschiedene Graphen und Netzwerke gesehen. Das menschliche Gehirn ist auch ein Netzwerk, allerdings aus Neuronen. Geistige Aktivität im Gehirn entsteht durch elektrochemische Reaktionen in diesem Netzwerk. Ein Neuron kann sich mit bis zu 10 bis 100.000 anderen Neuronen vernetzen. Diese Verbindungen sind dynamisch und ändern sich, wenn jemand etwas Neues lernt. Biologisch gesehen ist das allerdings weit komplizierter, weil noch viele andere Elemente, wie z. B. Axone und Synapsen involviert sind.

Die folgende Tabelle enthält einen groben Vergleich zwischen einem PC von 2015 und dem menschlichen Gehirn [RN10]2.

Die Anzahl der Rechen- und Speichereinheiten unterscheidet sich heute nicht mehr wesentlich zwischen Gehirn und PC. Den größten Unterschied gibt es beim Taktzyklus: Gehirne sind sehr viel langsamer als PCs. Ein Neuron schaltet eine Million Mal langsamer als ein Transistor. Insgesamt ist das Gehirn aber sehr, sehr viel vernetzter und paralleler und daher insgesamt schneller. Beim PC aus der Tabelle arbeiten nur 12 Kerne parallel, während in einem Gehirn alle Neuronen gleichzeitig arbeiten können. Die „Architektur“ ist eine ganz andere. Daher wird der PC auch nicht automatisch so intelligent wie ein Gehirn, wenn sich die Daten der Tabelle in der Zukunft noch weiter angleichen werden. Ein Neuron funktioniert ganz anders als ein Transistor. Ein Neuron ist biochemisch und analog, während ein Transistor elektronisch und digital ist.

Wenn das Gehirn aber ein so guter „Computer“ ist, dann liegt es doch nahe, es jedenfalls nachzuahmen. Und genau das ist die Idee hinter den neuronalen Netzen. Bereits 1943 haben Warren McCulloch und Walter Pitts ein einfaches Modell eines Neurons erstellt. In der folgenden Abbildung ist ein vereinfachtes Neuron dargestellt.

Ein Neuron hat beliebig viele Eingaben, hier in diesem Beispiel sind es drei: w0, w1 und w2. Die Kanten der Eingaben stammen entweder von anderen Neuronen oder von der Eingabe des gesamten Netzes. Jede Kante hat zwei Daten: einen Aktivierungslevel a und ein Gewicht w. Man spricht hier auch von „gewichteten Kanten“. Aus den Eingaben wird in der ersten Komponente des Neurons eine gewichtete Summe berechnet. In der zweiten Komponente wird der ausgehende Aktivierungslevel des Neurons berechnet. In einem Rechenschritt berechnet das Neuron also anhand der Eingaben die gewichtete Summe der Aktivierungssignale und aktiviert sein Ausgangssignal, wenn die Summe größer als ein Schwellwert k ist.

Mehrere solcher Neuronen werden zu einem neuronalen Netz zusammengefasst. In der folgenden Abbildung ist ein Netz mit einer Schicht („layer“) von Neuronen zwischen Eingabe und Ausgabe.

Mit einem solchen Netz kann man verschiedene Funktionen darstellen. Man gibt zwei Eingaben hinein, die Neuronen berechnen anhand der Eingaben und der Gewichte ihre Ausgabe und man kann diese am Ende auslesen. Ein solches Netz ist schon einigermaßen flexibel. Wenn man die Gewichte ändert, ändert sich das Ergebnis des Netzes. Nehmen wir mal an die Gewichte haben die folgenden Werte w1,1=0.4, w1,2=0.2, w2,1=0.6 und w2,2=0.8 und das die Eingabe 1 (e1) gleich 0 ist und die Eingabe 2 (e2) gleich 1. Dann berechnet das Neuron 1 den Wert w1,1*e1 + w2,1*e2 = 0.4*e1+0.6*e2 = 0.6 und das Neuron 2 den Wert w1,2*e1 + w2,2*e2 = 0.2*e1 + 0.8*e2 = 0.8.

Man kann ein solches Netzwerk trainieren. Man gibt sowohl eine Eingabe, als auch eine Ausgabe vor und berechnet, wie die Gewichte der Kanten aussehen müssten. Dieses entspricht dem überwachten Lernen. Ein Netz mit nur einer Schicht, ein Single-Layer-Network, kann aber nicht viel nützliche Funktionen repräsentieren, wie Marvin Minsky und Seymour Papert 1969 in ihrem Artikel „Perceptrons“ bewiesen. Daraufhin wurden in den USA viele Forschungsmittel gekürzt und die Forschung an der KI eingestellt. Es kam zum ersten „KI-Winter“ und die neuronalen Netze gerieten in Vergessenheit.

Das änderte sich Mitte der 80er-Jahre als die neuronalen Netze wiederentdeckt wurden. Mit dem „Backpropagation“-Algorithmus war es möglich geworden, auch mehrschichtige Netze zu trainieren. Und mehrschichtige neuronale Netze können sehr viel mehr Funktionen lernen, sogar die nichtlineare Regressionen aus Abschnitt 7.2 [RN10]. Neuronale Netze können gut mit numerischen Daten umgehen, sie sind „number cruncher“. Oft können sie auch rauschende Eingaben oder Eingaben mit Fehlern tolerieren. Sie sind fehlertolerant bzw. robust im Sinne von Nassim Taleb (siehe Abschnitt 2.7). Daher sind sie besonders gut geeignet für die Analyse von Bilddaten, von Videos oder von Sprachaufnahmen.

In der folgenden Abbildung ist ein mehrschichtiges Netz dargestellt.

In der Mitte zwischen den beiden Schichten befinden sich Zwischenspeicher T1 und T2. Die richtigen Netze haben natürlich sehr viel mehr als nur zwei Neuronen pro Schicht. Die neuronalen Netze wurden in den 80ern und 90ern regelmäßig in der Praxis eingesetzt, aber sie konnten nur für einfache Aufgaben eingesetzt werden. Das Training dauerte oft noch zu lange. Daher wurde es in der Forschung Ende der 90er-Jahre wieder ruhiger um sie. Das änderte sich aber 2010 wieder, als es mit dem GPU-Computing möglich wurde, rechenintensive Funktionen auf Grafikkarten auszulagern. Mit einer GPU ist das Training eines neuronalen Netzes bis zu 10mal schneller möglich als mit einer CPU. Man konnte also ab 2010 größere Netze mit mehr Beispieldaten trainieren. Auch gab es inzwischen sehr viel mehr Daten als zehn Jahre vorher. Digitale Kameras hatten sehr große Fortschritte gemacht. Dieses führte zu Netzen mit sehr viel mehr Schichten als vorher. Es gab auch eine Reihe von algorithmischen Verbesserungen und Fortschritte in der Theorie des maschinellen Lernens [SB14]. Man führte den Begriff „Deep Learning“ für die neuen Techniken ein. Besonders große Fortschritte machte man beim Thema „Bildverstehen“ („computer vision“). Ein Bild oder ein Foto kann man sich aus verschiedenen Entfernungen angucken. Man kann ganz nah herangehen oder größere Stücke in Zusammenhang betrachten. Der Trick beim Deep Learning ist es für jeden Detailgrad eine Schicht einzuführen. In der folgenden Abbildung wird das exemplarisch gezeigt.

Die Zwischenschichten F1, F2 und F3 speichern „Details“ (im Englischen „features“). In der Realität gibt es Netze mit über 10 Schichten. Diese „tiefen“ Netze können so angeordnet werden, dass sie die selbstfahrenden Autos ermöglichen.

Hier muss man noch ganz deutlich feststellen: Die neuronalen Netze lernen aus Beispielbildern. Von „Bildverstehen“, also einem „Verstehen“ eines Bildes kann keine Rede sein. Ein neuronales Netz kann nach dem entsprechenden Training mit ziemlicher Sicherheit den Bildern von bereits bekannten Menschen einen Namen zuordnen oder Autos auf einer Straße erkennen. Es ist aber nur eine mathematische Funktion in einer nur für Computer zu verwendenden Form [GW08]. Das Wissen ist „numerisch“ kodiert. Neuronale Netze sind nicht selber „intelligent“, sondern die Intelligenz steckt in den Entwicklern, die die verschiedenen Schichten intelligent anordnen, die Gewichte und Schwellwerte richtig einstellen und das Netz mit den richtigen Daten trainieren.

Wie am Anfang dieses Abschnitts erklärt, sind die neuronalen Netze eine vereinfachte Nachbildung des Gehirns. Der größte Unterschied zu einem richtigen Gehirn ist aber, das ein Computer auf Transistoren beruht, die aus Silizium hergestellt werden und die eine 0/1-Logik haben. Ein Gehirn ist biochemisch und analog, kann also viele verschiedene Zwischenzustände darstellen. Hier werden wir später im Abschnitt 10.6 über die Singularität eingehen.

Diese neuronalen Netze sind mit dem System 1 aus der Verhaltensökonomie vergleichbar. Mit ihnen kann man Heuristiken und „unscharfe“ Logik speichern.

Intelligente Roboter

Für einen Menschen ist es sehr einfach, sich durch eine Wohnung zu bewegen, aber schwer, sehr gut Schach zu spielen. Für einen Roboter ist es genau andersherum. Abstraktes Denken, das für Menschen anstrengend ist, ist einfacher zu automatisieren als sensomotorische Bewegungen, die für Menschen einfach sind. Dieser Widerspruch wird auch Moravec’s Paradoxon genannt, nach dem Roboterforscher Hans Moravec [BA14, RN10].

Um mit den Systemen 1 und 2 aus Abschnitt 3.2 zu sprechen: System 1 war bisher schwierig zu automatisieren, System 2 war einfacher. Die Situation hat sich aufgrund des „Deep Learning“ ein wenig verbessert. Aber auch heute gibt es noch keinen Roboter, der eine Wohnung vollständig putzen kann ohne zu viel kaputt zu machen. Denn es war sehr schwer, einem Roboter einen Gleichgewichtssinn beizubringen. Hierfür benötigt er gute Sensoren, die ihm mitteilen, wie seine Umwelt beschaffen ist, aber auch in welchem Zustand sich seine Gelenke gerade befinden. Das muss in Echtzeit berechnet werden und bei drohendem Ungleichgewicht möglichst schnell korrigiert werden. In letzter Zeit aber hat man hier Fortschritte gemacht und es sieht heute so aus, als ob das „Gleichgewichtsproblem“ in naher Zukunft gelöst ist.

Eine weitere Aufgabe eines Roboters ist es, sich in unbekannten Umgebungen zurechtzufinden. Hierzu erstellt der Roboter eine Karte seiner Umgebung. Seine Umgebung kann ein Roboter aber nur mit funktionierender Bilderkennung „verstehen“. Die Bilderkennung war aber – wie bereits erwähnt – vor dem „Deep Learning“ noch nicht praktikabel genug. Der Roboter muss die Gegenstände, die er erkannt hat, auf seiner „inneren“ Karte eintragen. Nebenbei muss er seine eigene Position auf der Karte feststellen. Das ist schwieriger als auf dem ersten Blick gedacht. Ein Roboter bewegt sich mit Motoren. Er kann seinen Motoren sagen, bewege mich mal 1 cm nach vorne. Aber ob er dann wirklich 1 cm Strecke zurückgelegt hat oder nur 0,95 cm entscheidet der Widerstand des Bodens. Auf einem Parkettboden geht es viel „reibungsloser“ als auf einem dicken Teppich. Wo er sich anschließend genau befindet, muss der Roboter visuell überprüfen. Im Englischen heißt das Problem „Simultaneous localization and mapping“ (SLAM). Hierfür wurden inzwischen die richtigen Algorithmen entwickelt. SLAM galt 2008 noch als große Herausforderung für die Robotik, inzwischen wurde es für viele Anwendungsbereiche zufriedenstellend gelöst [BA14].

Heute werden in vielen Bereichen Roboter eingesetzt. Hauptsächlich in der Industrie, z. B. bei der Produktion von Automobilen oder bei der Lagerhaltung. Auch in die Privathaushalte sind die Roboter eingezogen als Staubsaugerroboter. Die Stadt Tokyo hat vor, bei den Olympischen Spielen 2020 selbstfahrende Taxis einzusetzen. Die Roboter sind also weiter auf dem Vormarsch. Später in Abschnitt 11.7 werden die Folgen für den Arbeitsmarkt besprochen.

Status der KI

In den 60er Jahren sagten viele Forscher der KI das baldige Erscheinen von intelligenten Computern voraus. Die KI ist ein schönes Beispiel für das „Horizont-Problem“ bei Forschungsprojekten. Erst sieht alles ganz einfach aus, man macht einen Plan und denkt, in fünf Jahren sollte man fertig sein. Während der Arbeit an dem Projekt entstehen aber neue Fragen, an die man vorher nicht gedacht hat, die vorher sogar eventuell unbekannt waren. Der „Wissens-Horizont“ verschiebt sich während des Projekts. Der ursprüngliche Plan ist hinfällig. Auf dem Weg sind aber interessante Dinge herausgefunden worden. Es war sehr wichtig, sich intensiv mit der KI zu beschäftigen, weil es ansonsten heute viele Produkte nicht geben würde, wie z. B. Staubsaugerroboter und Schachcomputer. Es muss aber auch klar gesagt werden, dass die KI ihr Endziel von „intelligenten Agenten“ nicht erreicht hat. Und es sieht momentan auch nicht danach aus, dass es in naher Zukunft (bis 2025) universell intelligente Agenten geben wird. Denn in der Künstlichen Intelligenz gibt es heute die folgenden Einschränkungen:

  • KIs haben keine allgemeine universelle Intelligenz, sie sind Spezialisten und werden nur in kleinen, abgegrenzten Bereichen eingesetzt
  • KIs können Informationen nicht „verstehen“
  • KIs sind nicht „kreativ“
  • KIs haben keine Introspektion, können sich selbst nicht „verstehen“
  • KIs haben kein Bewusstsein und keine Selbsterkenntnis

Die heutigen KIs „wirken“ allerhöchstens intelligent, sie sind es aber nicht.

Allgemeine KI

Bisher wurden KIs nur für spezielle Einsatzbereiche entwickelt und auf eine Aufgabe zugeschnitten. „Intelligent“ ist ein Mensch aber nur, wenn er flexibel ist und neue Dinge lernen kann. Heutzutage ist die Erstellung einer universellen KI in der Praxis nicht möglich.

Semantik

Das liegt zum einen auch daran, dass die Computer heute keine semantische Verarbeitung von Informationen durchführen können. Was bedeutet das Wort „Hamburger“? Es kann ein Lebensmittel oder eine Person sein. Diese Information erschließen Menschen aus dem Kontext. Diese semantischen Analysen sind aber sehr kompliziert. Man hat auch noch keine Methode entdeckt, mit der man das semantische Wissen einfach aus dem Internet extrahieren könne. Und dieses Wissen händisch von Experten zu kodieren, ist sehr arbeitsaufwendig. Aber hier werden mit der Zeit natürlich Fortschritte gemacht werden. Denkbar ist z. B. eine „Wissensdatenbank“, der man logische und statistische Fragen stellen kann. Aber der Fortschritt in diesem Bereich ist langsam und wird nicht sprunghaft voranschreiten. Das Bottleneck ist die Erstellung von großen Wissensdatenbanken und Ontologien. Und hierzu ist momentan noch menschliche Denkarbeit notwendig.

Bewusstsein

Kann man überhaupt intelligent sein, ohne ein „Bewusstsein“ zu haben? Das Bewusstsein ist gar nicht so einfach zu definieren, es bedeutet in etwa, dass man sich über sich selbst und seine „Existenz“ „bewusst“ ist [Bla05]. Berühmt ist hier der Spruch „cogito ergo sum“ von René Descartes. Es gibt Forscher die behaupten, dass das Bewusstsein das emergente Resultat des komplexen Systems des Gehirns sei [RN10] . Es gibt aber auch Forscher, die sagen, wir wissen noch gar nicht genau, was „Bewusstsein“ selber eigentlich ist [Bla05]. Es wurde im Gehirn z. B. kein spezieller Bereich für das Bewusstsein gefunden. Und so lange die Menschheit nicht weiß, wie etwas in der Natur funktioniert, kann sie es auch nicht nachbauen. Die bisherigen Erkenntnisse sind also noch nicht weit genug, um die Frage beantworten zu können, ob Computer ein Bewusstsein haben können. Die Wissenschaftler sind hier allerdings unterschiedlicher Meinung [Bro15].

Imitation des Menschen

Es gibt einen sehr großen Unterschied zwischen KI und dem Menschen: die KI hat kein animalisches Erbe. Denn der Mensch ist ein intelligentes von Affen abstammendes Säugetier. Neben der Intelligenz besitzt der Mensch auch von den Tieren vererbte Instinkte, wie z. B. die Sexualität. Der Zoologe und Verhaltensforscher Frans de Waal hat bei Schimpansen herausgefunden, dass diese ein ausgeprägtes Sozialverhalten haben und sich auch gegenseitig bei der Entlausung helfen [Waa07]. Sie kennen also die Reziprozität und Win-Win-Situationen schon. Aber wenn es um Nahrung und um Sex geht, versuchen männliche Schimpansen die anderen Männer zu dominieren. Hierzu setzen sie neben körperlicher Gewalt auch Drohungen, Bluffs und andere Tricks ein. Laut de Waal scheint es so, als ob Schimpansen viele Passagen aus Niccolò Machiavelli’s Buch „Der Fürst“ intuitiv kennen würden. Diese „Instinkte“ hat der Mensch auch. Der Mensch muss als Kind erst lernen, Konflikte friedlich zu lösen, sich nach einem Streit wieder miteinander zu vertragen usw. Eine KI hingegen wird dieses „animalische Erbe“ nicht haben. Die KI wird keinen Drang verspüren, sich fortzupflanzen und andere zu dominieren. Eine KI ist nur die Informationsverarbeitung und die Schlussfolgerungen, aber nicht das Säugetier. Aus diesem Grund sind viele Vorhersagen über KIs, die plötzlich ein Selbstbewusstsein entwickeln und die Welt bedrohen Unsinn, denn eine KI hat diesen „animalischen“ Antrieb zur Dominanz nicht. Im Spielfilm „Blade Runner“ von 1982 entwickeln sehr menschlich wirkende Roboter plötzlich ein Bewusstsein und wollen ihr Leben verlängern, haben also einen „Überlebenstrieb“. Aber genau diesen „Trieb“ müsste man der KI erst einprogrammieren, weil der nicht von selbst entstehen wird [Bro15].

Ausblick

Man kann die künstliche Intelligenz mit der Entwicklung der Fortbewegungsmittel vergleichen. Von der Natur aus kann der Mensch laufen. Manche sind darin etwas langsam, andere sind da schon schneller. Die Ergebnisse in den Sportwettkämpfen beim 100 Meter Lauf sind immer besser geworden. Bei den Fortbewegungsmitteln gab es schon erhebliche Fortschritte: es gibt Fahrräder, Mopeds, Motorräder, Autos, Züge und Flugzeuge. Der Mensch kann sich jetzt mit Hilfe der Technik sehr viel schneller fortbewegen.

Die bisher entwickelten künstlichen Intelligenzen entsprechen eher den Fahrrädern. Einem Auto würde eine KI entsprechen, die den Turing-Test bestehen könnte. „Fliegen“ kann die KI dann, wenn KIs so intelligent wie Menschen sind und ein Selbstbewusstsein haben. Aber alleine bis zum Auto ist das noch ein weiter Weg und es sind noch viele Erfindungen vorher zu machen.

Bis dahin wird die Künstliche Intelligenz aber auf jeden Fall starke Auswirkungen auf den Fortschritt und die Arbeitswelt haben. Sie wird voraussichtlich viele Berufe ändern, neue Berufe ermöglichen und manche Berufe auch überflüssig machen. Dieses werden wir später in Abschnitt 11.7 behandeln. Falls es aber doch langfristig möglich sein wird, wirklich „künstliche Intelligenzen“ herzustellen, die mindestens so intelligent wie Menschen sind, dann könnte es zur sog. „Singularität“ kommen, die in Abschnitt 10.6 behandelt wird.

Interessierte Leser, die verschiedene Standpunkte zum Thema KI kennenlernen möchten, seien auf das Buch „What to Think About Machines That Think“ verwiesen, das von John Brockman herausgegeben wurde [Bro15].

  1. Das ist das berühmte offene Problem der theoretischen Informatik P = NP oder P ≠ NP. P ≠ NP ist sehr wahrscheinlich und es ist auch sehr wahrscheinlich, dass das nicht bewiesen werden kann.

  2. X^Y ist die mathematische Notation von X hoch Y. Es ist 10^1 = 10, 10^2 = 100, 10^3 = 1000, usw. Ist Y negativ, dann gilt X^(-Y) = 1/(X^Y). Also 10^(-1) = 1/10, 10^(-2) = 1/100, usw.

Kaufen

Unterstützen Sie den Autor, indem Sie das Buch oder das E-Book kaufen:

Diskutieren